Skip to content

Commit

Permalink
Toolchain: Add Dockerfile.cuda
Browse files Browse the repository at this point in the history
  • Loading branch information
oschuett committed Jun 15, 2021
1 parent d62620d commit 3677360
Showing 1 changed file with 78 additions and 0 deletions.
78 changes: 78 additions & 0 deletions tools/toolchain/Dockerfile.cuda
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
FROM nvidia/cuda:11.3.1-devel-ubuntu20.04

# author: Ole Schuett

# Installs toolchain with CUDA.
# WARNING: The resulting image will violate the GPL and must not be distributed.

# Setup CUDA environment.
ENV CUDA_PATH /usr/local/cuda
ENV LD_LIBRARY_PATH /usr/local/cuda/lib64

# install Ubuntu packages.
COPY ./install_requirements_ubuntu.sh .
RUN ./install_requirements_ubuntu.sh

# Install some more Ubuntu packages.
RUN apt-get update -qq && apt-get install -qq --no-install-recommends \
gfortran \
mpich \
libmpich-dev \
&& rm -rf /var/lib/apt/lists/*

# Build toolchain.
WORKDIR /opt/cp2k-toolchain
RUN mkdir scripts
COPY ./scripts/VERSION \
./scripts/parse_if.py \
./scripts/tool_kit.sh \
./scripts/common_vars.sh \
./scripts/signal_trap.sh \
./scripts/get_openblas_arch.sh \
./scripts/

# Dry-run leaves behind config files for the followup install scripts.
# This breaks up the lengthy installation into smaller docker build steps.
ARG GPU_VERSION
ARG LIBINT_LMAX=5
COPY ./install_cp2k_toolchain.sh .
RUN ./install_cp2k_toolchain.sh \
--mpi-mode=mpich \
--libint-lmax=${LIBINT_LMAX} \
--enable-cuda=yes \
--gpu-ver=${GPU_VERSION} \
--dry-run

COPY ./scripts/stage0/ ./scripts/stage0/
RUN ./scripts/stage0/install_stage0.sh && rm -rf ./build

COPY ./scripts/stage1/ ./scripts/stage1/
RUN ./scripts/stage1/install_stage1.sh && rm -rf ./build

COPY ./scripts/stage2/ ./scripts/stage2/
RUN ./scripts/stage2/install_stage2.sh && rm -rf ./build

COPY ./scripts/stage3/ ./scripts/stage3/
RUN ./scripts/stage3/install_stage3.sh && rm -rf ./build

COPY ./scripts/stage4/ ./scripts/stage4/
RUN ./scripts/stage4/install_stage4.sh && rm -rf ./build

COPY ./scripts/stage5/ ./scripts/stage5/
RUN ./scripts/stage5/install_stage5.sh && rm -rf ./build

COPY ./scripts/stage6/ ./scripts/stage6/
RUN ./scripts/stage6/install_stage6.sh && rm -rf ./build

COPY ./scripts/stage7/ ./scripts/stage7/
RUN ./scripts/stage7/install_stage7.sh && rm -rf ./build

COPY ./scripts/stage8/ ./scripts/stage8/
RUN ./scripts/stage8/install_stage8.sh && rm -rf ./build

COPY ./scripts/arch_base.tmpl \
./scripts/generate_arch_files.sh \
./scripts/
RUN ./scripts/generate_arch_files.sh && rm -rf ./build

#EOF

0 comments on commit 3677360

Please sign in to comment.