From 8f3ea3d1c09e4def04bc6166b5155b40b52b68ad Mon Sep 17 00:00:00 2001 From: Michael Zingale Date: Mon, 9 Dec 2024 19:43:06 -0500 Subject: [PATCH] sync GPU dependencies with AMReX this pulls in the new sparse libraries --- .github/workflows/clang-tidy.yml | 2 +- .../dependencies_clang-tidy-apt-llvm.sh | 0 .../{ => dependencies}/dependencies_hip.sh | 5 ++- .../dependencies/dependencies_nvcc.sh | 41 +++++++++++++++++++ .github/workflows/gpu_action.yml | 9 +--- .github/workflows/hip.yml | 2 +- 6 files changed, 48 insertions(+), 11 deletions(-) rename .github/workflows/{ => dependencies}/dependencies_clang-tidy-apt-llvm.sh (100%) rename .github/workflows/{ => dependencies}/dependencies_hip.sh (96%) create mode 100755 .github/workflows/dependencies/dependencies_nvcc.sh diff --git a/.github/workflows/clang-tidy.yml b/.github/workflows/clang-tidy.yml index 673ebbef88..eb094c9a8b 100644 --- a/.github/workflows/clang-tidy.yml +++ b/.github/workflows/clang-tidy.yml @@ -25,7 +25,7 @@ jobs: - name: Install dependencies run: | - .github/workflows/dependencies_clang-tidy-apt-llvm.sh 19 + .github/workflows/dependencies/dependencies_clang-tidy-apt-llvm.sh 19 - name: Compile flame_wave run: | diff --git a/.github/workflows/dependencies_clang-tidy-apt-llvm.sh b/.github/workflows/dependencies/dependencies_clang-tidy-apt-llvm.sh similarity index 100% rename from .github/workflows/dependencies_clang-tidy-apt-llvm.sh rename to .github/workflows/dependencies/dependencies_clang-tidy-apt-llvm.sh diff --git a/.github/workflows/dependencies_hip.sh b/.github/workflows/dependencies/dependencies_hip.sh similarity index 96% rename from .github/workflows/dependencies_hip.sh rename to .github/workflows/dependencies/dependencies_hip.sh index ab5185ce0a..527379e7e8 100755 --- a/.github/workflows/dependencies_hip.sh +++ b/.github/workflows/dependencies/dependencies_hip.sh @@ -40,6 +40,7 @@ echo 'export PATH=/opt/rocm/llvm/bin:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/r # we should not need to export HIP_PATH=/opt/rocm/hip with those installs +sudo apt-get clean sudo apt-get update # Ref.: https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html#installing-development-packages-for-cross-compilation @@ -56,7 +57,9 @@ sudo apt-get install -y --no-install-recommends \ roctracer-dev \ rocprofiler-dev \ rocrand-dev \ - rocprim-dev + rocfft-dev \ + rocprim-dev \ + rocsparse-dev # hiprand-dev is a new package that does not exist in old versions sudo apt-get install -y --no-install-recommends hiprand-dev || true diff --git a/.github/workflows/dependencies/dependencies_nvcc.sh b/.github/workflows/dependencies/dependencies_nvcc.sh new file mode 100755 index 0000000000..14bae699d7 --- /dev/null +++ b/.github/workflows/dependencies/dependencies_nvcc.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash +# +# Copyright 2020-2022 Axel Huebl +# +# License: BSD-3-Clause-LBNL + +set -eu -o pipefail + +# `man apt.conf`: +# Number of retries to perform. If this is non-zero APT will retry +# failed files the given number of times. +echo 'Acquire::Retries "3";' | sudo tee /etc/apt/apt.conf.d/80-retries + +sudo apt-get -qqq update +sudo apt-get install -y \ + build-essential \ + ca-certificates \ + cmake \ + g++ \ + gfortran \ + gnupg \ + libopenmpi-dev \ + openmpi-bin \ + pkg-config \ + wget + +VERSION_DOTTED=${1-12.0} && VERSION_DASHED=$(sed 's/\./-/' <<< $VERSION_DOTTED) +curl -O https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb +sudo dpkg -i cuda-keyring_1.0-1_all.deb +sudo apt-get update +sudo apt-get install -y \ + cuda-command-line-tools-$VERSION_DASHED \ + cuda-compiler-$VERSION_DASHED \ + cuda-cupti-dev-$VERSION_DASHED \ + cuda-minimal-build-$VERSION_DASHED \ + cuda-nvml-dev-$VERSION_DASHED \ + cuda-nvtx-$VERSION_DASHED \ + libcufft-dev-$VERSION_DASHED \ + libcurand-dev-$VERSION_DASHED \ + libcusparse-dev-$VERSION_DASHED +sudo ln -s cuda-$VERSION_DOTTED /usr/local/cuda diff --git a/.github/workflows/gpu_action.yml b/.github/workflows/gpu_action.yml index 3c6af431e1..b09bccd11d 100644 --- a/.github/workflows/gpu_action.yml +++ b/.github/workflows/gpu_action.yml @@ -29,14 +29,7 @@ jobs: sudo apt-get -qq -y install curl cmake jq clang g++>=9.3.0 - name: Install CUDA - # from https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_network - run: | - wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin - sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 - sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub - sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /" - sudo apt-get update - sudo apt-get -y install cuda-toolkit-11-8 + run: .github/workflows/dependencies/dependencies_nvcc.sh 11.8 - name: Install hypre run: | diff --git a/.github/workflows/hip.yml b/.github/workflows/hip.yml index 1bd1aa4b3e..c688bf43b2 100644 --- a/.github/workflows/hip.yml +++ b/.github/workflows/hip.yml @@ -24,7 +24,7 @@ jobs: cd ../.. - name: Dependencies - run: .github/workflows/dependencies_hip.sh + run: .github/workflows/dependencies/dependencies_hip.sh - name: compile flame_wave run: |