From ace6037a2dc632803c629821f98f506d44847a62 Mon Sep 17 00:00:00 2001 From: rob thijssen Date: Mon, 11 May 2026 14:45:28 +0300 Subject: [PATCH] feat: replace cuda13 flavour with per-GPU-generation packages Build separate packages for each GPU generation instead of a single cuda13 package: - mistralrs-ampere (sm_86, RTX 3060) - mistralrs-ada (sm_89, RTX 4090) - mistralrs-blackwell (sm_120, RTX 5090) All use the same CUDA 13.0 toolkit and features (cuda, cudnn, flash-attn, nccl), varying only the compute capability target. Co-Authored-By: Claude Opus 4.6 (1M context) --- .gitea/workflows/build-prerelease.yml | 24 ++++++++++++++++++++++-- .gitea/workflows/build-release.yml | 24 ++++++++++++++++++++++-- .gitea/workflows/poll-upstream.yml | 4 ++-- rpm/mistralrs.spec | 2 +- ui/src/pages/Home.tsx | 9 ++++++--- 5 files changed, 53 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/build-prerelease.yml b/.gitea/workflows/build-prerelease.yml index 785ed17..2f4a435 100644 --- a/.gitea/workflows/build-prerelease.yml +++ b/.gitea/workflows/build-prerelease.yml @@ -30,7 +30,23 @@ jobs: fail-fast: false matrix: include: - - name: cuda13 + - name: ampere + fedora_version: "43" + runner: cuda-13.0 + cuda_home: /usr/local/cuda-13.0 + cargo_features: "cuda cudnn flash-attn nccl" + compute_caps: "86" + build_jobs: 12 + nvcc_threads: 4 + - name: ada + fedora_version: "43" + runner: cuda-13.0 + cuda_home: /usr/local/cuda-13.0 + cargo_features: "cuda cudnn flash-attn nccl" + compute_caps: "89" + build_jobs: 12 + nvcc_threads: 4 + - name: blackwell fedora_version: "43" runner: cuda-13.0 cuda_home: /usr/local/cuda-13.0 @@ -89,7 +105,11 @@ jobs: fail-fast: false matrix: include: - - name: cuda13 + - name: ampere + fedora_version: "43" + - name: ada + fedora_version: "43" + - name: blackwell fedora_version: "43" steps: - uses: actions/checkout@v4 diff --git a/.gitea/workflows/build-release.yml b/.gitea/workflows/build-release.yml index 77fb68a..54b0a74 100644 --- a/.gitea/workflows/build-release.yml +++ b/.gitea/workflows/build-release.yml @@ -18,7 +18,23 @@ jobs: fail-fast: false matrix: include: - - name: cuda13 + - name: ampere + fedora_version: "43" + runner: cuda-13.0 + cuda_home: /usr/local/cuda-13.0 + cargo_features: "cuda cudnn flash-attn nccl" + compute_caps: "86" + build_jobs: 12 + nvcc_threads: 4 + - name: ada + fedora_version: "43" + runner: cuda-13.0 + cuda_home: /usr/local/cuda-13.0 + cargo_features: "cuda cudnn flash-attn nccl" + compute_caps: "89" + build_jobs: 12 + nvcc_threads: 4 + - name: blackwell fedora_version: "43" runner: cuda-13.0 cuda_home: /usr/local/cuda-13.0 @@ -76,7 +92,11 @@ jobs: fail-fast: false matrix: include: - - name: cuda13 + - name: ampere + fedora_version: "43" + - name: ada + fedora_version: "43" + - name: blackwell fedora_version: "43" steps: - uses: actions/checkout@v4 diff --git a/.gitea/workflows/poll-upstream.yml b/.gitea/workflows/poll-upstream.yml index 78cefdf..4923dcb 100644 --- a/.gitea/workflows/poll-upstream.yml +++ b/.gitea/workflows/poll-upstream.yml @@ -28,7 +28,7 @@ jobs: run: | version="${UPSTREAM_TAG#v}" needs_build=false - for target in "43:cuda13"; do + for target in "43:ampere" "43:ada" "43:blackwell"; do fedora_version="${target%%:*}" flavour="${target##*:}" base_url="https://rpm.lair.cafe/fedora/${fedora_version}/x86_64" @@ -116,7 +116,7 @@ jobs: run: | prerelease="0.1.${UPSTREAM_DATE}git${UPSTREAM_SHORT_SHA}" needs_build=false - for target in "43:cuda13"; do + for target in "43:ampere" "43:ada" "43:blackwell"; do fedora_version="${target%%:*}" flavour="${target##*:}" base_url="https://rpm.lair.cafe/fedora/${fedora_version}/x86_64/unstable" diff --git a/rpm/mistralrs.spec b/rpm/mistralrs.spec index 10489d9..38dfc81 100644 --- a/rpm/mistralrs.spec +++ b/rpm/mistralrs.spec @@ -4,7 +4,7 @@ # Passed in via --define at rpmbuild time %{!?mistralrs_version: %global mistralrs_version 0.7.0} -%{!?mistralrs_flavour: %global mistralrs_flavour cuda13} +%{!?mistralrs_flavour: %global mistralrs_flavour blackwell} # For prerelease builds, pass --define "mistralrs_prerelease 0.1.YYYYMMDDgitSHORTSHA" %if 0%{?mistralrs_prerelease:1} diff --git a/ui/src/pages/Home.tsx b/ui/src/pages/Home.tsx index 417c047..c7bb762 100644 --- a/ui/src/pages/Home.tsx +++ b/ui/src/pages/Home.tsx @@ -44,8 +44,11 @@ export function Home() {
3. Install a package
+

+ Choose the package matching your GPU generation: +

- {`sudo dnf install mistralrs-cuda13`} + {`# RTX 3000 series (Ampere)\nsudo dnf install mistralrs-ampere\n\n# RTX 4000 series (Ada Lovelace)\nsudo dnf install mistralrs-ada\n\n# RTX 5000 series (Blackwell)\nsudo dnf install mistralrs-blackwell`} @@ -78,7 +81,7 @@ export function Home() { Install or update from unstable - {`sudo dnf --enablerepo=lair-cafe-unstable install mistralrs-cuda13`} + {`sudo dnf --enablerepo=lair-cafe-unstable install mistralrs-ada`}
@@ -89,7 +92,7 @@ export function Home() { stable releases, exclude prerelease versions:

- {`sudo dnf --disablerepo=lair-cafe-unstable update mistralrs-cuda13`} + {`sudo dnf --disablerepo=lair-cafe-unstable update mistralrs-ada`}