Replace Ubuntu 22.04 by 26.04 in Github workflows Ubuntu 22.04 is approaching the end of its standard support, while 26.04 is the current LTS release. Build on 24.04 and 26.04 instead and run the Android workflow on the newer release. The CUDA toolkit packaged by Ubuntu 26.04 predates its default GCC. Install CUDA 13 from the NVIDIA repository instead together with the matching cuDSS release. Change-Id: Ic47f6e52d39729b76e173a306d519b0b063f9ef6
diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 2251a2a..0e63218 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml
@@ -17,7 +17,7 @@ fail-fast: true matrix: os: - - ubuntu-24.04 + - ubuntu-26.04 abi: - arm64-v8a - armeabi-v7a
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 2b75c9d..6b538ca 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml
@@ -18,8 +18,8 @@ fail-fast: true matrix: os: - - ubuntu:22.04 - ubuntu:24.04 + - ubuntu:26.04 build_type: - Release lib: @@ -28,6 +28,11 @@ gpu: - cuda - no-cuda + include: + - os: ubuntu:24.04 + cudss: 0.3.0.9_cuda12 + - os: ubuntu:26.04 + cudss: 0.8.0.10_cuda13 steps: - name: Setup Dependencies @@ -51,41 +56,42 @@ with: submodules: recursive - # 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) - 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 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' + - name: Setup CUDA Toolkit Repositories (26.04) + if: matrix.gpu == 'cuda' && matrix.os == 'ubuntu:26.04' run: | - apt-get update - apt-get install -y cuda - echo "CUDACXX=/usr/local/cuda/bin/nvcc" >> $GITHUB_ENV + wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2604/x86_64/cuda-keyring_1.1-1_all.deb + dpkg -i cuda-keyring_1.1-1_all.deb - - name: Setup CUDA Toolkit (>=24.04) + - 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: Setup CUDA Toolkit (26.04) + if: matrix.gpu == 'cuda' && matrix.os == 'ubuntu:26.04' + run: | + apt-get update + apt-get install -y \ + cuda-minimal-build-13-3 \ + libcublas-dev-13-3 \ + libcusolver-dev-13-3 \ + libcusparse-dev-13-3 + echo "CUDACXX=/usr/local/cuda-13.3/bin/nvcc" >> $GITHUB_ENV + - name: Setup cuDSS if: matrix.gpu == 'cuda' run: | - wget https://developer.download.nvidia.com/compute/cudss/redist/libcudss/linux-x86_64/libcudss-linux-x86_64-0.3.0.9_cuda12-archive.tar.xz - tar -xf libcudss-linux-x86_64-0.3.0.9_cuda12-archive.tar.xz - echo "cudss_DIR=${{github.workspace}}/libcudss-linux-x86_64-0.3.0.9_cuda12-archive/lib/cmake/cudss" >> $GITHUB_ENV + wget https://developer.download.nvidia.com/compute/cudss/redist/libcudss/linux-x86_64/libcudss-linux-x86_64-${{matrix.cudss}}-archive.tar.xz + tar -xf libcudss-linux-x86_64-${{matrix.cudss}}-archive.tar.xz + echo "cudss_DIR=${{github.workspace}}/libcudss-linux-x86_64-${{matrix.cudss}}-archive/lib/cmake/cudss" >> $GITHUB_ENV - name: Cache Mold id: cache-mold