@@ -7,12 +7,12 @@ FROM ubuntu:jammy@sha256:3ba65aa20f86a0fad9df2b2c259c613df006b2e6d0bfcc8a146afb8
77LABEL "org.opencontainers.image.source" ="https://github.com/CExA-project/ddc"
88
99ARG BACKEND
10- ARG AMDGPU_VERSION=5.7.3
10+ ARG AMDGPU_VERSION=6.2.4
1111ARG CMAKE_VERSION=3.25.3
12- ARG CUDA_MAJOR_VERSION=11
13- ARG CUDA_MINOR_VERSION=8
12+ ARG CUDA_MAJOR_VERSION=12
13+ ARG CUDA_MINOR_VERSION=2
1414ARG GINKGO_VERSION=1.8.0
15- ARG ROCM_VERSION=5.7.3
15+ ARG ROCM_VERSION=6.2.4
1616
1717COPY bash_run /bin/
1818ENV BASH_ENV=/etc/profile
@@ -66,19 +66,20 @@ RUN chmod +x /bin/bash_run \
6666 apt-get install -y --no-install-recommends \
6767 clang \
6868 ;; "cuda" ) \
69+ # libnvjitlink seems to be a missing dependency of cusparse
6970 apt-get install -y --no-install-recommends \
7071 cuda-minimal-build-${CUDA_MAJOR_VERSION}-${CUDA_MINOR_VERSION} \
7172 cuda-nvtx-${CUDA_MAJOR_VERSION}-${CUDA_MINOR_VERSION} \
7273 libcublas-dev-${CUDA_MAJOR_VERSION}-${CUDA_MINOR_VERSION} \
7374 libcufft-dev-${CUDA_MAJOR_VERSION}-${CUDA_MINOR_VERSION} \
7475 libcurand-dev-${CUDA_MAJOR_VERSION}-${CUDA_MINOR_VERSION} \
7576 libcusparse-dev-${CUDA_MAJOR_VERSION}-${CUDA_MINOR_VERSION} \
76- gcc-10 \
77- g++-10 \
77+ libnvjitlink-${CUDA_MAJOR_VERSION}-${CUDA_MINOR_VERSION} \
7878 ;; "hip" ) \
7979 apt-get install -y --no-install-recommends \
8080 hipblas-dev${ROCM_VERSION} \
8181 hipfft-dev${ROCM_VERSION} \
82+ hiprand-dev${ROCM_VERSION} \
8283 hipsparse-dev${ROCM_VERSION} \
8384 rocm-hip-runtime-dev${ROCM_VERSION} \
8485 rocrand-dev${ROCM_VERSION} \
@@ -95,9 +96,13 @@ RUN chmod +x /bin/bash_run \
9596 "cpu" ) \
9697 cmake -DCMAKE_BUILD_TYPE=Release -DGINKGO_BUILD_OMP=ON -DGINKGO_BUILD_TESTS=OFF -DGINKGO_BUILD_EXAMPLES=OFF -DGINKGO_BUILD_BENCHMARKS=OFF -B ginkgo/build -S ginkgo \
9798 ;; "cuda" ) \
98- cmake -DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_CUDA_HOST_COMPILER=g++-10 -DCMAKE_BUILD_TYPE=Release -DGINKGO_CUDA_ARCHITECTURES=70 -DGINKGO_BUILD_CUDA=ON -DGINKGO_BUILD_TESTS=OFF -DGINKGO_BUILD_EXAMPLES=OFF -DGINKGO_BUILD_BENCHMARKS=OFF -B ginkgo/build -S ginkgo \
99+ cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_CUDA_HOST_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DGINKGO_CUDA_ARCHITECTURES=70 -DGINKGO_BUILD_CUDA=ON -DGINKGO_BUILD_TESTS=OFF -DGINKGO_BUILD_EXAMPLES=OFF -DGINKGO_BUILD_BENCHMARKS=OFF -B ginkgo/build -S ginkgo \
99100 ;; "hip" ) \
100- cmake -DCMAKE_PREFIX_PATH=/opt/rocm -DCMAKE_BUILD_TYPE=Release -DCMAKE_HIP_ARCHITECTURES=gfx90a -DGINKGO_BUILD_HIP=ON -DGINKGO_BUILD_TESTS=OFF -DGINKGO_BUILD_EXAMPLES=OFF -DGINKGO_BUILD_BENCHMARKS=OFF -B ginkgo/build -S ginkgo \
101+ # HIP_PATH needs to be set to avoid Ginkgo defining it (https://github.com/ginkgo-project/ginkgo/blob/develop/cmake/hip_path.cmake).
102+ # The Ginkgo <1.9 heuristic does not seem to be compatible with the new HIP v6 directory layout.
103+ # This makes amdclang++ fail during cmake compiler test (https://releases.llvm.org/18.1.0/tools/clang/docs/HIPSupport.html#order-of-precedence-for-hip-path)
104+ export HIP_PATH=`hipconfig --path` \
105+ && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_HIP_ARCHITECTURES=gfx90a -DGINKGO_BUILD_HIP=ON -DGINKGO_BUILD_TESTS=OFF -DGINKGO_BUILD_EXAMPLES=OFF -DGINKGO_BUILD_BENCHMARKS=OFF -B ginkgo/build -S ginkgo \
101106 ;; esac \
102107 && cmake --build ginkgo/build \
103108 && cmake --install ginkgo/build --prefix /usr \
@@ -113,8 +118,8 @@ RUN chmod +x /bin/bash_run \
113118 && rm -rf /var/lib/apt/lists/* \
114119 && useradd -d /data -m -U ci \
115120 && if [ "xcuda" = "x${BACKEND}" ] \
116- ; then echo 'CUDA_GCC=gcc-10 ' > /etc/profile.d/ddc-cuda.sh \
117- ; echo 'CUDA_GXX=g++-10 ' >> /etc/profile.d/ddc-cuda.sh \
121+ ; then echo 'CUDA_GCC=gcc' > /etc/profile.d/ddc-cuda.sh \
122+ ; echo 'CUDA_GXX=g++' >> /etc/profile.d/ddc-cuda.sh \
118123 ; fi
119124
120125USER ci:ci
0 commit comments