From 274d668e1ceb77dbd2a1365a70441f50893c6632 Mon Sep 17 00:00:00 2001 From: Evan Nemerson Date: Thu, 12 Sep 2024 21:09:24 -0400 Subject: [PATCH] ci: add GitHub Action for testing NVidia C/C++ compilers --- .github/workflows/ci.yml | 55 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 559c739..2190139 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ on: concurrency: group: build-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: false + cancel-in-progress: true jobs: check-generated-files: @@ -22,3 +22,56 @@ jobs: run: make generate - name: Check for changes run: git diff --exit-code + + nvhpc: + runs-on: ubuntu-latest + strategy: + matrix: + version: + # For available versions, see https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64/Packages + - "20.11" + # - "21.1" ## BROKEN. File size mismatch. + - "21.2" + - "21.3" + - "21.5" + - "21.7" + - "21.9" + - "21.11" + # - "22.1" ## BROKEN. Not enough storage space on runner. + # - "22.2" ## BROKEN. Not enough storage space on runner. + # - "22.3" ## BROKEN. Not enough storage space on runner. + - "22.5" + - "22.7" + - "22.9" + - "22.11" + - "23.1" + - "23.3" + - "23.5" + - "23.7" + - "23.9" + - "23.11" + - "24.1" + - "24.3" + - "24.7" + exclude: + - "20.11" + - "21.2" + - "21.3" + - "21.11" + - "22.11" + - "23.3" + - "23.5" + - "23.11" + steps: + - uses: actions/checkout@v2 + - name: Install NVidia HPC SDK + run: | + curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg + echo 'deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list + sudo apt-get update -y + sudo apt-get install -y nvhpc-$(echo "${{ matrix.version }}" | tr '.' '-') + - name: Compile + env: + CC: /opt/nvidia/hpc_sdk/Linux_x86_64/"${{ matrix.version }}"/compilers/bin/nvcc + working-directory: test + run: make