From 5f8386580fcce462e2559cd8c5c7c63a93eb6b6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Sch=C3=BCtt?= Date: Mon, 20 Oct 2025 11:10:42 +0200 Subject: [PATCH] Docker: Remove HIP CUDA tests --- tools/dashboard/dashboard.conf | 7 - tools/docker/Dockerfile.test_hip_cuda_A100 | 189 --------------------- tools/docker/Dockerfile.test_hip_cuda_P100 | 189 --------------------- tools/docker/Dockerfile.test_hip_cuda_V100 | 189 --------------------- tools/docker/cp2k-ci.conf | 9 - tools/docker/generate_dockerfiles.py | 115 ------------- 6 files changed, 698 deletions(-) delete mode 100644 tools/docker/Dockerfile.test_hip_cuda_A100 delete mode 100644 tools/docker/Dockerfile.test_hip_cuda_P100 delete mode 100644 tools/docker/Dockerfile.test_hip_cuda_V100 diff --git a/tools/dashboard/dashboard.conf b/tools/dashboard/dashboard.conf index 16a94c636b..4bda576e2c 100644 --- a/tools/dashboard/dashboard.conf +++ b/tools/dashboard/dashboard.conf @@ -207,13 +207,6 @@ timeout: 170 host: GCP report_url: https://storage.googleapis.com/cp2k-ci/dashboard_cuda-pascal_report.txt -[hip-pascal] -sortkey: 1012 -name: HIP Pascal (psmp) -timeout: 170 -host: GCP -report_url: https://storage.googleapis.com/cp2k-ci/dashboard_hip-pascal_report.txt - [hip-rocm-build] sortkey: 1013 name: HIP ROCm build (psmp) diff --git a/tools/docker/Dockerfile.test_hip_cuda_A100 b/tools/docker/Dockerfile.test_hip_cuda_A100 deleted file mode 100644 index c9963df519..0000000000 --- a/tools/docker/Dockerfile.test_hip_cuda_A100 +++ /dev/null @@ -1,189 +0,0 @@ -# -# This file was created by generate_dockerfiles.py. -# Usage: podman build --shm-size=1g -f ./Dockerfile.test_hip_cuda_A100 ../../ -# - -FROM nvidia/cuda:12.9.1-devel-ubuntu24.04 - -# Setup CUDA environment. -ENV CUDA_PATH /usr/local/cuda -ENV LD_LIBRARY_PATH /usr/local/cuda/lib64 -ENV HIP_PLATFORM nvidia -ENV ROCM_VER 4.5.2 -ENV HIP_DIR /opt/HIP-rocm-4.5.2 -ENV HIPAMD_DIR /opt/hipamd-rocm-4.5.2 - -# Disable JIT cache as there seems to be an issue with file locking on overlayfs. -# See also https://github.com/cp2k/cp2k/pull/2337 -ENV CUDA_CACHE_DISABLE 1 - -RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \ - && apt-get update -qq && apt-get install -qq --no-install-recommends \ - ca-certificates \ - build-essential \ - cmake \ - git \ - gfortran \ - mpich \ - libmpich-dev \ - wget \ - libssl-dev \ - && rm -rf /var/lib/apt/lists/* - -# Install HIP from source because the hip-nvcc package drags in 10GB of unnecessary dependencies. -WORKDIR /opt - -RUN wget -q https://github.com/Kitware/CMake/releases/download/v3.20.6/cmake-3.20.6-Linux-x86_64.sh \ - && echo "4772100c2578927eed5aa9e1a80694c0d64410448c0fda73d31b0eae18645784 cmake-3.20.6-Linux-x86_64.sh" | sha256sum --check \ - && sh cmake-3.20.6-Linux-x86_64.sh --prefix=/usr/local --skip-license \ - && rm -f cmake-3.20.6-Linux-x86_64.sh \ - && cmake --version - -RUN wget -q https://github.com/ROCm-Developer-Tools/HIP/archive/refs/tags/rocm-${ROCM_VER}.tar.gz -O HIP-rocm-${ROCM_VER}.tar.gz\ - && echo "c2113dc3c421b8084cd507d91b6fbc0170765a464b71fb0d96bb875df368f160 HIP-rocm-${ROCM_VER}.tar.gz" | sha256sum --check \ - && tar -xzf HIP-rocm-*.tar.gz \ - && wget -q https://github.com/ROCm-Developer-Tools/hipamd/archive/refs/tags/rocm-${ROCM_VER}.tar.gz -O hipamd-rocm-${ROCM_VER}.tar.gz \ - && echo "b6f35b1a1d0c466b5af28e26baf646ae63267eccc4852204db1e0c7222a39ce2 hipamd-rocm-${ROCM_VER}.tar.gz" | sha256sum --check \ - && tar -xzf hipamd-rocm-*.tar.gz \ - && wget -q https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/refs/tags/rocm-${ROCM_VER}.tar.gz -O hipBLAS-rocm-${ROCM_VER}.tar.gz \ - && echo "82dd82a41bbadbb2a91a2a44a5d8e0d2e4f36d3078286ed4db3549b1fb6d6978 hipBLAS-rocm-${ROCM_VER}.tar.gz" | sha256sum --check \ - && tar -xzf hipBLAS-rocm-*.tar.gz \ - && wget -q https://github.com/ROCmSoftwarePlatform/hipFFT/archive/refs/tags/rocm-${ROCM_VER}.tar.gz -O hipFFT-rocm-${ROCM_VER}.tar.gz \ - && echo "32ba6a5f50cfede3777a43794371ffb1363302131d8a0382d96df90ed7bc911a hipFFT-rocm-${ROCM_VER}.tar.gz" | sha256sum --check \ - && tar -xzf hipFFT-rocm-*.tar.gz - -RUN cd ${HIPAMD_DIR} \ - && mkdir -p build \ - && cd build \ - && mkdir /opt/rocm-${ROCM_VER} \ - && cmake -DHIP_COMMON_DIR=${HIP_DIR} -DHIP_PLATFORM=nvidia -DCMAKE_INSTALL_PREFIX=/opt/rocm-${ROCM_VER}/hip .. > /dev/null 2>&1 \ - && make -j > /dev/null 2>&1 \ - && make install > /dev/null 2>&1 \ - && cd ../.. - -# Install hipBLAS from source. -RUN cd hipBLAS-rocm-* \ - && mkdir build \ - && cd build \ - && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm-${ROCM_VER} -DUSE_CUDA=YES -DCMAKE_MODULE_PATH=/opt/rocm-${ROCM_VER} -DCMAKE_MODULE_PATH=/opt/rocm-${ROCM_VER}/hip/cmake .. > /dev/null 2>&1 \ - && make -j > /dev/null 2>&1 \ - && make install > /dev/null 2>&1 \ - && cd .. \ - && rm -rf hipBLAS-rocm-* - -ENV CPATH ${CPATH}:/opt/rocm-${ROCM_VER}/hip/include -# Install hipFFT from source. -RUN cd hipFFT-rocm-* \ - && mkdir build \ - && cd build \ - && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm-${ROCM_VER} -DBUILD_WITH_LIB=CUDA .. > /dev/null 2>&1 \ - && make -j > /dev/null 2>&1 \ - && make install > /dev/null 2>&1 \ - && rm -rf hipFFT* - -# Workaround for HIP installer. -RUN cp -f /opt/hipBLAS-rocm-${ROCM_VER}/build/library/src/libhipblas.so /opt/rocm-${ROCM_VER}/hipblas/lib/ && \ - cp -f /opt/hipFFT-rocm-${ROCM_VER}/build/library/libhipfft.so /opt/rocm-${ROCM_VER}/hipfft/lib/ - -# This is the alternative installation path via Ubuntu packages. -## https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html#ubuntu -## https://rocmdocs.amd.com/en/latest/Installation_Guide/HIP-Installation.html#nvidia-platform -#RUN apt-key adv --fetch-keys https://repo.radeon.com/rocm/rocm.gpg.key -#RUN echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/debian/ ubuntu main' > /etc/apt/sources.list.d/rocm.list -#RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \ -# && apt-get update -qq \ -# && apt-get install --yes --no-install-recommends hip-nvcc hipblas \ -# && rm -rf /var/lib/apt/lists/* - -# Setup HIP environment. -ENV ROCM_PATH /opt/rocm-${ROCM_VER} -ENV PATH ${PATH}:${ROCM_PATH}/hip/bin -ENV LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${ROCM_PATH}/lib -ENV HIP_PLATFORM nvidia -RUN hipconfig - -# Install requirements for the toolchain. -WORKDIR /opt/cp2k-toolchain -COPY ./tools/toolchain/install_requirements*.sh ./ -RUN ./install_requirements.sh ubuntu - -# Install the toolchain. -RUN mkdir scripts -COPY ./tools/toolchain/scripts/VERSION \ - ./tools/toolchain/scripts/parse_if.py \ - ./tools/toolchain/scripts/tool_kit.sh \ - ./tools/toolchain/scripts/common_vars.sh \ - ./tools/toolchain/scripts/signal_trap.sh \ - ./tools/toolchain/scripts/get_openblas_arch.sh \ - ./scripts/ -COPY ./tools/toolchain/install_cp2k_toolchain.sh . -RUN ./install_cp2k_toolchain.sh \ - --mpi-mode=mpich \ - --enable-hip=yes \ - --gpu-ver=A100 \ - --with-dbcsr=no \ - --dry-run - -# Dry-run leaves behind config files for the followup install scripts. -# This breaks up the lengthy installation into smaller build steps. -COPY ./tools/toolchain/scripts/stage0/ ./scripts/stage0/ -RUN ./scripts/stage0/install_stage0.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage1/ ./scripts/stage1/ -RUN ./scripts/stage1/install_stage1.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage2/ ./scripts/stage2/ -RUN ./scripts/stage2/install_stage2.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage3/ ./scripts/stage3/ -RUN ./scripts/stage3/install_stage3.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage4/ ./scripts/stage4/ -RUN ./scripts/stage4/install_stage4.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage5/ ./scripts/stage5/ -RUN ./scripts/stage5/install_stage5.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage6/ ./scripts/stage6/ -RUN ./scripts/stage6/install_stage6.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage7/ ./scripts/stage7/ -RUN ./scripts/stage7/install_stage7.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage8/ ./scripts/stage8/ -RUN ./scripts/stage8/install_stage8.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage9/ ./scripts/stage9/ -RUN ./scripts/stage9/install_stage9.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/arch_base.tmpl \ - ./tools/toolchain/scripts/generate_arch_files.sh \ - ./scripts/ -RUN ./scripts/generate_arch_files.sh && rm -rf ./build - -# Install CP2K using local_hip.psmp. -WORKDIR /opt/cp2k -COPY ./Makefile . -COPY ./src ./src -COPY ./exts ./exts -COPY ./tools/build_utils ./tools/build_utils -RUN /bin/bash -c " \ - mkdir -p arch && \ - ln -vs /opt/cp2k-toolchain/install/arch/local_hip.psmp ./arch/" -COPY ./data ./data -COPY ./tests ./tests -COPY ./tools/regtesting ./tools/regtesting - -# Run regression tests. -ARG TESTOPTS="" -COPY ./tools/docker/scripts/test_regtest.sh ./ -RUN /bin/bash -o pipefail -c " \ - TESTOPTS='${TESTOPTS}' \ - ./test_regtest.sh 'local_hip' 'psmp' |& tee report.log && \ - rm -rf regtesting" - -# Output the report if the image is old and was therefore pulled from the build cache. -CMD cat $(find ./report.log -mmin +10) | sed '/^Summary:/ s/$/ (cached)/' -ENTRYPOINT [] - -#EOF diff --git a/tools/docker/Dockerfile.test_hip_cuda_P100 b/tools/docker/Dockerfile.test_hip_cuda_P100 deleted file mode 100644 index 9368424683..0000000000 --- a/tools/docker/Dockerfile.test_hip_cuda_P100 +++ /dev/null @@ -1,189 +0,0 @@ -# -# This file was created by generate_dockerfiles.py. -# Usage: podman build --shm-size=1g -f ./Dockerfile.test_hip_cuda_P100 ../../ -# - -FROM nvidia/cuda:12.9.1-devel-ubuntu24.04 - -# Setup CUDA environment. -ENV CUDA_PATH /usr/local/cuda -ENV LD_LIBRARY_PATH /usr/local/cuda/lib64 -ENV HIP_PLATFORM nvidia -ENV ROCM_VER 4.5.2 -ENV HIP_DIR /opt/HIP-rocm-4.5.2 -ENV HIPAMD_DIR /opt/hipamd-rocm-4.5.2 - -# Disable JIT cache as there seems to be an issue with file locking on overlayfs. -# See also https://github.com/cp2k/cp2k/pull/2337 -ENV CUDA_CACHE_DISABLE 1 - -RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \ - && apt-get update -qq && apt-get install -qq --no-install-recommends \ - ca-certificates \ - build-essential \ - cmake \ - git \ - gfortran \ - mpich \ - libmpich-dev \ - wget \ - libssl-dev \ - && rm -rf /var/lib/apt/lists/* - -# Install HIP from source because the hip-nvcc package drags in 10GB of unnecessary dependencies. -WORKDIR /opt - -RUN wget -q https://github.com/Kitware/CMake/releases/download/v3.20.6/cmake-3.20.6-Linux-x86_64.sh \ - && echo "4772100c2578927eed5aa9e1a80694c0d64410448c0fda73d31b0eae18645784 cmake-3.20.6-Linux-x86_64.sh" | sha256sum --check \ - && sh cmake-3.20.6-Linux-x86_64.sh --prefix=/usr/local --skip-license \ - && rm -f cmake-3.20.6-Linux-x86_64.sh \ - && cmake --version - -RUN wget -q https://github.com/ROCm-Developer-Tools/HIP/archive/refs/tags/rocm-${ROCM_VER}.tar.gz -O HIP-rocm-${ROCM_VER}.tar.gz\ - && echo "c2113dc3c421b8084cd507d91b6fbc0170765a464b71fb0d96bb875df368f160 HIP-rocm-${ROCM_VER}.tar.gz" | sha256sum --check \ - && tar -xzf HIP-rocm-*.tar.gz \ - && wget -q https://github.com/ROCm-Developer-Tools/hipamd/archive/refs/tags/rocm-${ROCM_VER}.tar.gz -O hipamd-rocm-${ROCM_VER}.tar.gz \ - && echo "b6f35b1a1d0c466b5af28e26baf646ae63267eccc4852204db1e0c7222a39ce2 hipamd-rocm-${ROCM_VER}.tar.gz" | sha256sum --check \ - && tar -xzf hipamd-rocm-*.tar.gz \ - && wget -q https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/refs/tags/rocm-${ROCM_VER}.tar.gz -O hipBLAS-rocm-${ROCM_VER}.tar.gz \ - && echo "82dd82a41bbadbb2a91a2a44a5d8e0d2e4f36d3078286ed4db3549b1fb6d6978 hipBLAS-rocm-${ROCM_VER}.tar.gz" | sha256sum --check \ - && tar -xzf hipBLAS-rocm-*.tar.gz \ - && wget -q https://github.com/ROCmSoftwarePlatform/hipFFT/archive/refs/tags/rocm-${ROCM_VER}.tar.gz -O hipFFT-rocm-${ROCM_VER}.tar.gz \ - && echo "32ba6a5f50cfede3777a43794371ffb1363302131d8a0382d96df90ed7bc911a hipFFT-rocm-${ROCM_VER}.tar.gz" | sha256sum --check \ - && tar -xzf hipFFT-rocm-*.tar.gz - -RUN cd ${HIPAMD_DIR} \ - && mkdir -p build \ - && cd build \ - && mkdir /opt/rocm-${ROCM_VER} \ - && cmake -DHIP_COMMON_DIR=${HIP_DIR} -DHIP_PLATFORM=nvidia -DCMAKE_INSTALL_PREFIX=/opt/rocm-${ROCM_VER}/hip .. > /dev/null 2>&1 \ - && make -j > /dev/null 2>&1 \ - && make install > /dev/null 2>&1 \ - && cd ../.. - -# Install hipBLAS from source. -RUN cd hipBLAS-rocm-* \ - && mkdir build \ - && cd build \ - && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm-${ROCM_VER} -DUSE_CUDA=YES -DCMAKE_MODULE_PATH=/opt/rocm-${ROCM_VER} -DCMAKE_MODULE_PATH=/opt/rocm-${ROCM_VER}/hip/cmake .. > /dev/null 2>&1 \ - && make -j > /dev/null 2>&1 \ - && make install > /dev/null 2>&1 \ - && cd .. \ - && rm -rf hipBLAS-rocm-* - -ENV CPATH ${CPATH}:/opt/rocm-${ROCM_VER}/hip/include -# Install hipFFT from source. -RUN cd hipFFT-rocm-* \ - && mkdir build \ - && cd build \ - && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm-${ROCM_VER} -DBUILD_WITH_LIB=CUDA .. > /dev/null 2>&1 \ - && make -j > /dev/null 2>&1 \ - && make install > /dev/null 2>&1 \ - && rm -rf hipFFT* - -# Workaround for HIP installer. -RUN cp -f /opt/hipBLAS-rocm-${ROCM_VER}/build/library/src/libhipblas.so /opt/rocm-${ROCM_VER}/hipblas/lib/ && \ - cp -f /opt/hipFFT-rocm-${ROCM_VER}/build/library/libhipfft.so /opt/rocm-${ROCM_VER}/hipfft/lib/ - -# This is the alternative installation path via Ubuntu packages. -## https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html#ubuntu -## https://rocmdocs.amd.com/en/latest/Installation_Guide/HIP-Installation.html#nvidia-platform -#RUN apt-key adv --fetch-keys https://repo.radeon.com/rocm/rocm.gpg.key -#RUN echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/debian/ ubuntu main' > /etc/apt/sources.list.d/rocm.list -#RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \ -# && apt-get update -qq \ -# && apt-get install --yes --no-install-recommends hip-nvcc hipblas \ -# && rm -rf /var/lib/apt/lists/* - -# Setup HIP environment. -ENV ROCM_PATH /opt/rocm-${ROCM_VER} -ENV PATH ${PATH}:${ROCM_PATH}/hip/bin -ENV LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${ROCM_PATH}/lib -ENV HIP_PLATFORM nvidia -RUN hipconfig - -# Install requirements for the toolchain. -WORKDIR /opt/cp2k-toolchain -COPY ./tools/toolchain/install_requirements*.sh ./ -RUN ./install_requirements.sh ubuntu - -# Install the toolchain. -RUN mkdir scripts -COPY ./tools/toolchain/scripts/VERSION \ - ./tools/toolchain/scripts/parse_if.py \ - ./tools/toolchain/scripts/tool_kit.sh \ - ./tools/toolchain/scripts/common_vars.sh \ - ./tools/toolchain/scripts/signal_trap.sh \ - ./tools/toolchain/scripts/get_openblas_arch.sh \ - ./scripts/ -COPY ./tools/toolchain/install_cp2k_toolchain.sh . -RUN ./install_cp2k_toolchain.sh \ - --mpi-mode=mpich \ - --enable-hip=yes \ - --gpu-ver=P100 \ - --with-dbcsr=no \ - --dry-run - -# Dry-run leaves behind config files for the followup install scripts. -# This breaks up the lengthy installation into smaller build steps. -COPY ./tools/toolchain/scripts/stage0/ ./scripts/stage0/ -RUN ./scripts/stage0/install_stage0.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage1/ ./scripts/stage1/ -RUN ./scripts/stage1/install_stage1.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage2/ ./scripts/stage2/ -RUN ./scripts/stage2/install_stage2.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage3/ ./scripts/stage3/ -RUN ./scripts/stage3/install_stage3.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage4/ ./scripts/stage4/ -RUN ./scripts/stage4/install_stage4.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage5/ ./scripts/stage5/ -RUN ./scripts/stage5/install_stage5.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage6/ ./scripts/stage6/ -RUN ./scripts/stage6/install_stage6.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage7/ ./scripts/stage7/ -RUN ./scripts/stage7/install_stage7.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage8/ ./scripts/stage8/ -RUN ./scripts/stage8/install_stage8.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage9/ ./scripts/stage9/ -RUN ./scripts/stage9/install_stage9.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/arch_base.tmpl \ - ./tools/toolchain/scripts/generate_arch_files.sh \ - ./scripts/ -RUN ./scripts/generate_arch_files.sh && rm -rf ./build - -# Install CP2K using local_hip.psmp. -WORKDIR /opt/cp2k -COPY ./Makefile . -COPY ./src ./src -COPY ./exts ./exts -COPY ./tools/build_utils ./tools/build_utils -RUN /bin/bash -c " \ - mkdir -p arch && \ - ln -vs /opt/cp2k-toolchain/install/arch/local_hip.psmp ./arch/" -COPY ./data ./data -COPY ./tests ./tests -COPY ./tools/regtesting ./tools/regtesting - -# Run regression tests. -ARG TESTOPTS="" -COPY ./tools/docker/scripts/test_regtest.sh ./ -RUN /bin/bash -o pipefail -c " \ - TESTOPTS='${TESTOPTS}' \ - ./test_regtest.sh 'local_hip' 'psmp' |& tee report.log && \ - rm -rf regtesting" - -# Output the report if the image is old and was therefore pulled from the build cache. -CMD cat $(find ./report.log -mmin +10) | sed '/^Summary:/ s/$/ (cached)/' -ENTRYPOINT [] - -#EOF diff --git a/tools/docker/Dockerfile.test_hip_cuda_V100 b/tools/docker/Dockerfile.test_hip_cuda_V100 deleted file mode 100644 index 5e9bd159e1..0000000000 --- a/tools/docker/Dockerfile.test_hip_cuda_V100 +++ /dev/null @@ -1,189 +0,0 @@ -# -# This file was created by generate_dockerfiles.py. -# Usage: podman build --shm-size=1g -f ./Dockerfile.test_hip_cuda_V100 ../../ -# - -FROM nvidia/cuda:12.9.1-devel-ubuntu24.04 - -# Setup CUDA environment. -ENV CUDA_PATH /usr/local/cuda -ENV LD_LIBRARY_PATH /usr/local/cuda/lib64 -ENV HIP_PLATFORM nvidia -ENV ROCM_VER 4.5.2 -ENV HIP_DIR /opt/HIP-rocm-4.5.2 -ENV HIPAMD_DIR /opt/hipamd-rocm-4.5.2 - -# Disable JIT cache as there seems to be an issue with file locking on overlayfs. -# See also https://github.com/cp2k/cp2k/pull/2337 -ENV CUDA_CACHE_DISABLE 1 - -RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \ - && apt-get update -qq && apt-get install -qq --no-install-recommends \ - ca-certificates \ - build-essential \ - cmake \ - git \ - gfortran \ - mpich \ - libmpich-dev \ - wget \ - libssl-dev \ - && rm -rf /var/lib/apt/lists/* - -# Install HIP from source because the hip-nvcc package drags in 10GB of unnecessary dependencies. -WORKDIR /opt - -RUN wget -q https://github.com/Kitware/CMake/releases/download/v3.20.6/cmake-3.20.6-Linux-x86_64.sh \ - && echo "4772100c2578927eed5aa9e1a80694c0d64410448c0fda73d31b0eae18645784 cmake-3.20.6-Linux-x86_64.sh" | sha256sum --check \ - && sh cmake-3.20.6-Linux-x86_64.sh --prefix=/usr/local --skip-license \ - && rm -f cmake-3.20.6-Linux-x86_64.sh \ - && cmake --version - -RUN wget -q https://github.com/ROCm-Developer-Tools/HIP/archive/refs/tags/rocm-${ROCM_VER}.tar.gz -O HIP-rocm-${ROCM_VER}.tar.gz\ - && echo "c2113dc3c421b8084cd507d91b6fbc0170765a464b71fb0d96bb875df368f160 HIP-rocm-${ROCM_VER}.tar.gz" | sha256sum --check \ - && tar -xzf HIP-rocm-*.tar.gz \ - && wget -q https://github.com/ROCm-Developer-Tools/hipamd/archive/refs/tags/rocm-${ROCM_VER}.tar.gz -O hipamd-rocm-${ROCM_VER}.tar.gz \ - && echo "b6f35b1a1d0c466b5af28e26baf646ae63267eccc4852204db1e0c7222a39ce2 hipamd-rocm-${ROCM_VER}.tar.gz" | sha256sum --check \ - && tar -xzf hipamd-rocm-*.tar.gz \ - && wget -q https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/refs/tags/rocm-${ROCM_VER}.tar.gz -O hipBLAS-rocm-${ROCM_VER}.tar.gz \ - && echo "82dd82a41bbadbb2a91a2a44a5d8e0d2e4f36d3078286ed4db3549b1fb6d6978 hipBLAS-rocm-${ROCM_VER}.tar.gz" | sha256sum --check \ - && tar -xzf hipBLAS-rocm-*.tar.gz \ - && wget -q https://github.com/ROCmSoftwarePlatform/hipFFT/archive/refs/tags/rocm-${ROCM_VER}.tar.gz -O hipFFT-rocm-${ROCM_VER}.tar.gz \ - && echo "32ba6a5f50cfede3777a43794371ffb1363302131d8a0382d96df90ed7bc911a hipFFT-rocm-${ROCM_VER}.tar.gz" | sha256sum --check \ - && tar -xzf hipFFT-rocm-*.tar.gz - -RUN cd ${HIPAMD_DIR} \ - && mkdir -p build \ - && cd build \ - && mkdir /opt/rocm-${ROCM_VER} \ - && cmake -DHIP_COMMON_DIR=${HIP_DIR} -DHIP_PLATFORM=nvidia -DCMAKE_INSTALL_PREFIX=/opt/rocm-${ROCM_VER}/hip .. > /dev/null 2>&1 \ - && make -j > /dev/null 2>&1 \ - && make install > /dev/null 2>&1 \ - && cd ../.. - -# Install hipBLAS from source. -RUN cd hipBLAS-rocm-* \ - && mkdir build \ - && cd build \ - && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm-${ROCM_VER} -DUSE_CUDA=YES -DCMAKE_MODULE_PATH=/opt/rocm-${ROCM_VER} -DCMAKE_MODULE_PATH=/opt/rocm-${ROCM_VER}/hip/cmake .. > /dev/null 2>&1 \ - && make -j > /dev/null 2>&1 \ - && make install > /dev/null 2>&1 \ - && cd .. \ - && rm -rf hipBLAS-rocm-* - -ENV CPATH ${CPATH}:/opt/rocm-${ROCM_VER}/hip/include -# Install hipFFT from source. -RUN cd hipFFT-rocm-* \ - && mkdir build \ - && cd build \ - && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm-${ROCM_VER} -DBUILD_WITH_LIB=CUDA .. > /dev/null 2>&1 \ - && make -j > /dev/null 2>&1 \ - && make install > /dev/null 2>&1 \ - && rm -rf hipFFT* - -# Workaround for HIP installer. -RUN cp -f /opt/hipBLAS-rocm-${ROCM_VER}/build/library/src/libhipblas.so /opt/rocm-${ROCM_VER}/hipblas/lib/ && \ - cp -f /opt/hipFFT-rocm-${ROCM_VER}/build/library/libhipfft.so /opt/rocm-${ROCM_VER}/hipfft/lib/ - -# This is the alternative installation path via Ubuntu packages. -## https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html#ubuntu -## https://rocmdocs.amd.com/en/latest/Installation_Guide/HIP-Installation.html#nvidia-platform -#RUN apt-key adv --fetch-keys https://repo.radeon.com/rocm/rocm.gpg.key -#RUN echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/debian/ ubuntu main' > /etc/apt/sources.list.d/rocm.list -#RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \ -# && apt-get update -qq \ -# && apt-get install --yes --no-install-recommends hip-nvcc hipblas \ -# && rm -rf /var/lib/apt/lists/* - -# Setup HIP environment. -ENV ROCM_PATH /opt/rocm-${ROCM_VER} -ENV PATH ${PATH}:${ROCM_PATH}/hip/bin -ENV LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${ROCM_PATH}/lib -ENV HIP_PLATFORM nvidia -RUN hipconfig - -# Install requirements for the toolchain. -WORKDIR /opt/cp2k-toolchain -COPY ./tools/toolchain/install_requirements*.sh ./ -RUN ./install_requirements.sh ubuntu - -# Install the toolchain. -RUN mkdir scripts -COPY ./tools/toolchain/scripts/VERSION \ - ./tools/toolchain/scripts/parse_if.py \ - ./tools/toolchain/scripts/tool_kit.sh \ - ./tools/toolchain/scripts/common_vars.sh \ - ./tools/toolchain/scripts/signal_trap.sh \ - ./tools/toolchain/scripts/get_openblas_arch.sh \ - ./scripts/ -COPY ./tools/toolchain/install_cp2k_toolchain.sh . -RUN ./install_cp2k_toolchain.sh \ - --mpi-mode=mpich \ - --enable-hip=yes \ - --gpu-ver=V100 \ - --with-dbcsr=no \ - --dry-run - -# Dry-run leaves behind config files for the followup install scripts. -# This breaks up the lengthy installation into smaller build steps. -COPY ./tools/toolchain/scripts/stage0/ ./scripts/stage0/ -RUN ./scripts/stage0/install_stage0.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage1/ ./scripts/stage1/ -RUN ./scripts/stage1/install_stage1.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage2/ ./scripts/stage2/ -RUN ./scripts/stage2/install_stage2.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage3/ ./scripts/stage3/ -RUN ./scripts/stage3/install_stage3.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage4/ ./scripts/stage4/ -RUN ./scripts/stage4/install_stage4.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage5/ ./scripts/stage5/ -RUN ./scripts/stage5/install_stage5.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage6/ ./scripts/stage6/ -RUN ./scripts/stage6/install_stage6.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage7/ ./scripts/stage7/ -RUN ./scripts/stage7/install_stage7.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage8/ ./scripts/stage8/ -RUN ./scripts/stage8/install_stage8.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/stage9/ ./scripts/stage9/ -RUN ./scripts/stage9/install_stage9.sh && rm -rf ./build - -COPY ./tools/toolchain/scripts/arch_base.tmpl \ - ./tools/toolchain/scripts/generate_arch_files.sh \ - ./scripts/ -RUN ./scripts/generate_arch_files.sh && rm -rf ./build - -# Install CP2K using local_hip.psmp. -WORKDIR /opt/cp2k -COPY ./Makefile . -COPY ./src ./src -COPY ./exts ./exts -COPY ./tools/build_utils ./tools/build_utils -RUN /bin/bash -c " \ - mkdir -p arch && \ - ln -vs /opt/cp2k-toolchain/install/arch/local_hip.psmp ./arch/" -COPY ./data ./data -COPY ./tests ./tests -COPY ./tools/regtesting ./tools/regtesting - -# Run regression tests. -ARG TESTOPTS="" -COPY ./tools/docker/scripts/test_regtest.sh ./ -RUN /bin/bash -o pipefail -c " \ - TESTOPTS='${TESTOPTS}' \ - ./test_regtest.sh 'local_hip' 'psmp' |& tee report.log && \ - rm -rf regtesting" - -# Output the report if the image is old and was therefore pulled from the build cache. -CMD cat $(find ./report.log -mmin +10) | sed '/^Summary:/ s/$/ (cached)/' -ENTRYPOINT [] - -#EOF diff --git a/tools/docker/cp2k-ci.conf b/tools/docker/cp2k-ci.conf index 8a68662c5c..df64677bfb 100644 --- a/tools/docker/cp2k-ci.conf +++ b/tools/docker/cp2k-ci.conf @@ -324,15 +324,6 @@ nodepools: pool-nvidia-pascal build_path: / dockerfile: /tools/docker/Dockerfile.test_cuda_P100 -[hip-pascal] -display_name: HIP Pascal Regtest -tags: weekly-afternoon -cpu: 24 -gpu: 1 -nodepools: pool-nvidia-pascal -build_path: / -dockerfile: /tools/docker/Dockerfile.test_hip_cuda_P100 - [hip-rocm-build] display_name: HIP ROCm Build tags: weekly-morning diff --git a/tools/docker/generate_dockerfiles.py b/tools/docker/generate_dockerfiles.py index c68ea1e757..347d11a8e2 100755 --- a/tools/docker/generate_dockerfiles.py +++ b/tools/docker/generate_dockerfiles.py @@ -83,10 +83,6 @@ def main() -> None: f.write(install_deps_toolchain_cuda(gpu_ver=gpu_ver)) f.write(regtest_cmake(f"toolchain_cuda_{gpu_ver}", "psmp")) - with OutputFile(f"Dockerfile.test_hip_cuda_{gpu_ver}", args.check) as f: - f.write(install_deps_toolchain_hip_cuda(gpu_ver=gpu_ver)) - f.write(regtest("psmp", "local_hip")) - with OutputFile(f"Dockerfile.test_performance_cuda_{gpu_ver}", args.check) as f: f.write(install_deps_toolchain_cuda(gpu_ver=gpu_ver)) f.write(performance(f"toolchain_cuda_{gpu_ver}")) @@ -572,117 +568,6 @@ RUN apt-get update -qq && apt-get install -qq --no-install-recommends \ return deps -# ====================================================================================== -def install_deps_toolchain_hip_cuda(gpu_ver: str) -> str: - return rf""" -FROM nvidia/cuda:12.9.1-devel-ubuntu24.04 - -# Setup CUDA environment. -ENV CUDA_PATH /usr/local/cuda -ENV LD_LIBRARY_PATH /usr/local/cuda/lib64 -ENV HIP_PLATFORM nvidia -ENV ROCM_VER 4.5.2 -ENV HIP_DIR /opt/HIP-rocm-4.5.2 -ENV HIPAMD_DIR /opt/hipamd-rocm-4.5.2 - -# Disable JIT cache as there seems to be an issue with file locking on overlayfs. -# See also https://github.com/cp2k/cp2k/pull/2337 -ENV CUDA_CACHE_DISABLE 1 - -RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \ - && apt-get update -qq && apt-get install -qq --no-install-recommends \ - ca-certificates \ - build-essential \ - cmake \ - git \ - gfortran \ - mpich \ - libmpich-dev \ - wget \ - libssl-dev \ - && rm -rf /var/lib/apt/lists/* - -# Install HIP from source because the hip-nvcc package drags in 10GB of unnecessary dependencies. -WORKDIR /opt - -RUN wget -q https://github.com/Kitware/CMake/releases/download/v3.20.6/cmake-3.20.6-Linux-x86_64.sh \ - && echo "4772100c2578927eed5aa9e1a80694c0d64410448c0fda73d31b0eae18645784 cmake-3.20.6-Linux-x86_64.sh" | sha256sum --check \ - && sh cmake-3.20.6-Linux-x86_64.sh --prefix=/usr/local --skip-license \ - && rm -f cmake-3.20.6-Linux-x86_64.sh \ - && cmake --version - -RUN wget -q https://github.com/ROCm-Developer-Tools/HIP/archive/refs/tags/rocm-${{ROCM_VER}}.tar.gz -O HIP-rocm-${{ROCM_VER}}.tar.gz\ - && echo "c2113dc3c421b8084cd507d91b6fbc0170765a464b71fb0d96bb875df368f160 HIP-rocm-${{ROCM_VER}}.tar.gz" | sha256sum --check \ - && tar -xzf HIP-rocm-*.tar.gz \ - && wget -q https://github.com/ROCm-Developer-Tools/hipamd/archive/refs/tags/rocm-${{ROCM_VER}}.tar.gz -O hipamd-rocm-${{ROCM_VER}}.tar.gz \ - && echo "b6f35b1a1d0c466b5af28e26baf646ae63267eccc4852204db1e0c7222a39ce2 hipamd-rocm-${{ROCM_VER}}.tar.gz" | sha256sum --check \ - && tar -xzf hipamd-rocm-*.tar.gz \ - && wget -q https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/refs/tags/rocm-${{ROCM_VER}}.tar.gz -O hipBLAS-rocm-${{ROCM_VER}}.tar.gz \ - && echo "82dd82a41bbadbb2a91a2a44a5d8e0d2e4f36d3078286ed4db3549b1fb6d6978 hipBLAS-rocm-${{ROCM_VER}}.tar.gz" | sha256sum --check \ - && tar -xzf hipBLAS-rocm-*.tar.gz \ - && wget -q https://github.com/ROCmSoftwarePlatform/hipFFT/archive/refs/tags/rocm-${{ROCM_VER}}.tar.gz -O hipFFT-rocm-${{ROCM_VER}}.tar.gz \ - && echo "32ba6a5f50cfede3777a43794371ffb1363302131d8a0382d96df90ed7bc911a hipFFT-rocm-${{ROCM_VER}}.tar.gz" | sha256sum --check \ - && tar -xzf hipFFT-rocm-*.tar.gz - -RUN cd ${{HIPAMD_DIR}} \ - && mkdir -p build \ - && cd build \ - && mkdir /opt/rocm-${{ROCM_VER}} \ - && cmake -DHIP_COMMON_DIR=${{HIP_DIR}} -DHIP_PLATFORM=nvidia -DCMAKE_INSTALL_PREFIX=/opt/rocm-${{ROCM_VER}}/hip .. > /dev/null 2>&1 \ - && make -j > /dev/null 2>&1 \ - && make install > /dev/null 2>&1 \ - && cd ../.. - -# Install hipBLAS from source. -RUN cd hipBLAS-rocm-* \ - && mkdir build \ - && cd build \ - && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm-${{ROCM_VER}} -DUSE_CUDA=YES -DCMAKE_MODULE_PATH=/opt/rocm-${{ROCM_VER}} -DCMAKE_MODULE_PATH=/opt/rocm-${{ROCM_VER}}/hip/cmake .. > /dev/null 2>&1 \ - && make -j > /dev/null 2>&1 \ - && make install > /dev/null 2>&1 \ - && cd .. \ - && rm -rf hipBLAS-rocm-* - -ENV CPATH ${{CPATH}}:/opt/rocm-${{ROCM_VER}}/hip/include -# Install hipFFT from source. -RUN cd hipFFT-rocm-* \ - && mkdir build \ - && cd build \ - && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm-${{ROCM_VER}} -DBUILD_WITH_LIB=CUDA .. > /dev/null 2>&1 \ - && make -j > /dev/null 2>&1 \ - && make install > /dev/null 2>&1 \ - && rm -rf hipFFT* - -# Workaround for HIP installer. -RUN cp -f /opt/hipBLAS-rocm-${{ROCM_VER}}/build/library/src/libhipblas.so /opt/rocm-${{ROCM_VER}}/hipblas/lib/ && \ - cp -f /opt/hipFFT-rocm-${{ROCM_VER}}/build/library/libhipfft.so /opt/rocm-${{ROCM_VER}}/hipfft/lib/ - -# This is the alternative installation path via Ubuntu packages. -## https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html#ubuntu -## https://rocmdocs.amd.com/en/latest/Installation_Guide/HIP-Installation.html#nvidia-platform -#RUN apt-key adv --fetch-keys https://repo.radeon.com/rocm/rocm.gpg.key -#RUN echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/debian/ ubuntu main' > /etc/apt/sources.list.d/rocm.list -#RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \ -# && apt-get update -qq \ -# && apt-get install --yes --no-install-recommends hip-nvcc hipblas \ -# && rm -rf /var/lib/apt/lists/* - -# Setup HIP environment. -ENV ROCM_PATH /opt/rocm-${{ROCM_VER}} -ENV PATH ${{PATH}}:${{ROCM_PATH}}/hip/bin -ENV LD_LIBRARY_PATH ${{LD_LIBRARY_PATH}}:${{ROCM_PATH}}/lib -ENV HIP_PLATFORM nvidia -RUN hipconfig - -""" + install_toolchain( - base_image="ubuntu", - mpi_mode="mpich", - enable_hip="yes", - gpu_ver=gpu_ver, - with_dbcsr="no", - ) - - # ====================================================================================== def install_deps_toolchain_hip_rocm(gpu_ver: str) -> str: return rf"""