Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: update api for python module, drop python2 #777

Merged
merged 13 commits into from
Nov 11, 2022
Prev Previous commit
Next Next commit
add python dependencies and switch to cuda-11.4
  • Loading branch information
toxa81 committed Nov 11, 2022
commit 58f1dd11f2dd8883e185fe3691d114b6ea9f05a2
29 changes: 15 additions & 14 deletions ci/dockerfiles/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM nvidia/cuda:11.2.2-devel-ubuntu20.04
FROM nvidia/cuda:11.4.2-devel-ubuntu20.04

ENV DEBIAN_FRONTEND=noninteractive \
PATH="$PATH:/spack/bin"
Expand All @@ -17,15 +17,15 @@ RUN apt-get install -y gcc g++ gfortran clang git make unzip \
patchelf

# install CMake
RUN wget https://github.com/Kitware/CMake/releases/download/v3.24.1/cmake-3.24.1-linux-x86_64.tar.gz -O cmake.tar.gz && \
RUN wget https://github.com/Kitware/CMake/releases/download/v3.24.3/cmake-3.24.3-linux-x86_64.tar.gz -O cmake.tar.gz && \
tar zxvf cmake.tar.gz --strip-components=1 -C /usr

# get latest version of spack
RUN git clone https://github.com/spack/spack.git

# find gcc and clang compilers
RUN /spack/bin/spack compiler find
RUN /spack/bin/spack external find --all
RUN spack compiler find
RUN spack external find --all

# install yq (utility to manipulate the yaml files)
RUN wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_386 && chmod a+x /usr/local/bin/yq
Expand All @@ -37,24 +37,25 @@ RUN yq -i '.compilers[0].compiler.paths.f77 = "/usr/bin/gfortran"' /root/.spack/
yq -i '.compilers[1].compiler.paths.fc = "/usr/bin/gfortran"' /root/.spack/linux/compilers.yaml

# create GCC build env.
RUN /spack/bin/spack env create --with-view /sirius-install gcc-build-env
RUN spack env create --with-view /sirius-install gcc-build-env

ENV SPEC_GCC="sirius@develop %gcc build_type=Release +scalapack +vdwxc +fortran +tests +nlcglib +elpa +magma +cuda cuda_arch=60 ^openblas ^mpich@3.3.2 ^nlcglib +cuda +wrapper cuda_arch=60 ^kokkos +wrapper cuda_arch=60 ^spfft+single_precision ^magma+cuda cuda_arch=60 target=x86_64"
ENV SPEC_GCC="sirius@develop %gcc build_type=Release +python +scalapack +vdwxc +fortran +tests +nlcglib +elpa +magma +cuda cuda_arch=60 ^openblas ^mpich@3.3.2 ^nlcglib +cuda +wrapper cuda_arch=60 ^kokkos +wrapper cuda_arch=60 ^spfft+single_precision ^magma+cuda cuda_arch=60 target=x86_64"

RUN /spack/bin/spack -e gcc-build-env spec $SPEC_GCC
# show spec.
RUN spack -e gcc-build-env spec $SPEC_GCC

RUN /spack/bin/spack -e gcc-build-env install --fail-fast --only=dependencies $SPEC_GCC
RUN spack -e gcc-build-env add $SPEC_GCC

RUN spack -e gcc-build-env install --fail-fast --only=dependencies

# create clang build env.
RUN /spack/bin/spack env create clang-build-env
RUN spack env create clang-build-env

ENV SPEC_CLANG="sirius@develop %clang build_type=Release +tests ^openblas ^mpich ~fortran ^spfft+single_precision target=x86_64"

RUN /spack/bin/spack -e clang-build-env spec $SPEC_CLANG
RUN spack -e clang-build-env spec $SPEC_CLANG

# install all packages; don't reuse from gcc
RUN /spack/bin/spack -e clang-build-env install --fresh --fail-fast --only=dependencies $SPEC_CLANG
RUN spack -e clang-build-env add $SPEC_CLANG
RUN spack -e clang-build-env install --fresh --fail-fast --only=dependencies

#WORKDIR /root
#
#ENTRYPOINT ["bash", "-l"]