Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Compile gpu-racon for the ONT Promethion with CUDA 9.0.176
# grab an off the shelf container with cuda9
FROM nvidia/cuda:9.0-devel-ubuntu16.04
# update gcc to gcc-6 as the default gcc-5 is too old
RUN apt-get update && apt-get install -y software-properties-common wget git
RUN add-apt-repository ppa:ubuntu-toolchain-r/test
RUN apt-get update && apt-get install -y gcc-6 g++-6
# update cmake as the default is too old
RUN wget -qO- "https://cmake.org/files/v3.15/cmake-3.15.1-Linux-x86_64.tar.gz" | tar --strip-components=1 -xz -C /usr/
# check nothing exploded
RUN gcc --version
RUN nvcc --version
RUN cmake --version
mkdir -p racon/lib
mkdir -p racon/bin
docker build -f base.Dockerfile -t nanocuda .
docker build -f racon.Dockerfile -t gpu-racon .
docker run -v $(pwd):/outside gpu-racon bash -c "cp /git/racon-gpu/build/bin/racon /outside/racon/bin; cp /usr/lib/gcc/x86_64-linux-gnu/6/libstdc++* /outside/racon/lib"
# grab our cuda9 gcc-6 environment
FROM nanocuda
# pull repo
RUN mkdir git
WORKDIR git
RUN git clone --recursive https://github.com/clara-genomics/racon-gpu.git
# fix a source that throws an error
RUN sed -i 's,log_clock::time_point last_update_{std::chrono::seconds(0)};,log_clock::time_point last_update_{};,' racon-gpu/vendor/ClaraGenomicsAnalysis/3rdparty/spdlog/include/spdlog/details/pattern_formatter.h
# build
RUN mkdir racon-gpu/build
WORKDIR racon-gpu/build
RUN cmake -DCMAKE_BUILD_TYPE=Release -Dracon_enable_cuda=ON -DCMAKE_C_COMPILER=gcc-6 -DCMAKE_CXX_COMPILER=g++-6 ..
RUN make
@SamStudio8

This comment has been minimized.

Copy link
Owner Author

@SamStudio8 SamStudio8 commented Aug 1, 2019

Gold stars to @danhedron @kragniz @zuzak for babysitting me through my first containerisation

@kragniz

This comment has been minimized.

Copy link

@kragniz kragniz commented Aug 1, 2019

duck

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment