Drop Ubuntu 20.04 and add Ubuntu 24.04 support
Change-Id: I34cb0032598c84820ead2cde8e0a083d82d0e1ce
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
index ef2b1ba..8cd9d8e 100644
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -18,8 +18,8 @@
fail-fast: true
matrix:
os:
- - ubuntu:20.04
- ubuntu:22.04
+ - ubuntu:24.04
build_type:
- Release
lib:
@@ -49,27 +49,36 @@
libsuitesparse-dev \
ninja-build \
wget
- # nvidia cuda toolkit shipped with 20.04 LTS does not support stream-ordered allocations
- - name: Setup CUDA toolkit repositories (20.04)
- if: matrix.gpu == 'cuda' && matrix.os == 'ubuntu:20.04'
- run: |
- wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
- dpkg -i cuda-keyring_1.0-1_all.deb
+
# nvidia cuda toolkit + gcc combo shipped with 22.04LTS is broken
# and is not able to compile code that uses thrust
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1006962
- - name: Setup CUDA toolkit repositories (22.04)
+ - name: Setup CUDA Toolkit Repositories (22.04)
if: matrix.gpu == 'cuda' && matrix.os == 'ubuntu:22.04'
run: |
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb
dpkg -i cuda-keyring_1.0-1_all.deb
- - name: Setup CUDA toolkit
- if: matrix.gpu == 'cuda'
+
+ - name: Setup CUDA Toolkit Repositories (24.04)
+ if: matrix.gpu == 'cuda' && matrix.os == 'ubuntu:24.04'
+ run: |
+ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
+ dpkg -i cuda-keyring_1.1-1_all.deb
+
+ - name: Setup CUDA Toolkit (<24.04)
+ if: matrix.gpu == 'cuda' && matrix.os != 'ubuntu:24.04'
run: |
apt-get update
apt-get install -y cuda
echo "CUDACXX=/usr/local/cuda/bin/nvcc" >> $GITHUB_ENV
+ - name: Setup CUDA Toolkit (>=24.04)
+ if: matrix.gpu == 'cuda' && matrix.os == 'ubuntu:24.04'
+ run: |
+ apt-get update
+ apt-get install -y nvidia-cuda-toolkit
+ echo "CUDACXX=/usr/lib/nvidia-cuda-toolkit/bin/nvcc" >> $GITHUB_ENV
+
- name: Cache Build
id: cache-build
uses: actions/cache@v4