ADR-0738: Bump local CUDA toolkit pin to 13.3 + R610 minimum driver (partial — CI deferred)¶
- Status: Accepted
- Date: 2026-05-28
- Deciders: lusoris
- Tags:
cuda,build,container,ci,deps
Context¶
CUDA 13.3 was released as GA on or before 2026-05-28. Confirmed facts:
- Minimum host driver: R610.43.02 (Linux x86_64).
- New SM targets: Blackwell
sm_100,sm_103,sm_120added.sm_103is new in 13.3 (GB203 die — GeForce RTX 5070/5060 Ti class). - nvcc C++23: CUDA 13.3
nvccadds first-class C++23 support. - apt availability:
cuda-toolkit-13-3_13.3.0-1_amd64.debconfirmed present in the NVIDIAubuntu2404/x86_64apt repository (verified 2026-05-28 viadeveloper.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/listing).
Two distribution channels are not yet updated as of 2026-05-28:
- Jimver/cuda-toolkit GitHub Action (
src/links/linux-links.ts): highest available version is13.2.0;13.3.0not yet present (verified). - NVCR
nvcr.io/nvidia/cuda: Docker Hub query returnscount: 0for any tag containing13.3; no13.3.x-devel-ubuntu24.04tag published (verified).
The partial bump approach unblocks local development (dev container + host builds with the R610 toolchain) while keeping CI stable on 13.2 until the GitHub Action is updated.
Decision¶
Bump immediately (apt is available):
dev/Containerfile: replacecuda-toolkit-13-2withcuda-toolkit-13-3. Update the comment block to reference R610.43.02 minimum driver and CUDA 13.3 changelog items (sm_103, nvcc C++23). Supersedes ADR-0573.docs/backends/cuda/overview.md: addsm_103row to the gencode table (gatednvcc ≥ 13.3); add minimum driver section with R610.43.02 note; add CUDA 13.3 toolkit notes section; reference this ADR.docs/development/build-flags.md: updateenable_cudarow to note R610.43.02 minimum with CUDA 13.3 toolkit.core/AGENTS.md: add rebase-sensitive invariant for the CUDA 13.3 / R610 contract so future rebases preserve the three-file update rule.
Defer (not yet available):
- CI
Jimver/cuda-toolkitpin: stays oncuda: '13.2.0'in.github/workflows/libvmaf-build-matrix.ymluntil13.3.0appears inJimver/cuda-toolkit src/links/linux-links.ts. - NVCR
nvcr.io/nvidia/cudabase image: stays on the 13.2 tag in any Dockerfile stages that use the NVCR image directly, until NVIDIA publishes a13.3.x-devel-ubuntu24.04tag.
Alternatives considered¶
| Option | Verdict |
|---|---|
| Bump everything blind (apt + Jimver + NVCR) | Rejected — Jimver and NVCR do not yet carry 13.3. Changing the CI workflow pin to an unsupported version would break all CUDA CI legs immediately. |
| Wait for Jimver and NVCR before bumping anything | Rejected — the apt package is already available and local users (R610 driver, CUDA 13.3 toolkit installed) are blocked on the stale container. There is no reason to delay the apt / doc bump. |
| Partial bump (chosen) | Unblocks local development and documents the CI gap explicitly. CI follows when the action is updated; a future follow-up PR closes the gap. |
| Bump only docs, leave Containerfile | Under-delivers — the dev container is the primary build environment (CLAUDE §12 r15); leaving it on 13.2 while docs say 13.3 creates user confusion. |
Consequences¶
- Positive:
- Dev container and local host builds use the GA CUDA 13.3 toolkit.
sm_103gencode coverage for Blackwell RTX 5070/5060 Ti class GPUs.- Documentation accurately reflects the R610.43.02 minimum driver for 13.3.
-
No CI breakage — CI continues using the stable 13.2 Jimver pin.
-
Negative:
-
Local container and CI are briefly on different CUDA toolkit versions (13.3 vs 13.2). This is the same intentional split as the 13.1→13.2 transition (ADR-0573). The containers use the same upstream apt packages; no compatibility gap has been observed.
-
Neutral / follow-ups:
- When
13.3.0appears inJimver/cuda-toolkit src/links/linux-links.ts, open a follow-up PR to bump.github/workflows/libvmaf-build-matrix.ymland update this ADR's status note. - When NVCR publishes
13.3.x-devel-ubuntu24.04, update any Dockerfile stages that reference the NVCR CUDA base image. - Consider enabling
--std c++23incore/src/meson.buildfor CUDA TUs as a separate opt-in PR once the 13.3 toolkit is confirmed stable in CI.
References¶
- req: "Bump what's actually bumpable NOW; defer what isn't. CUDA 13.3 GA released; apt repo confirmed; Jimver and NVCR not yet updated."
- NVIDIA apt repo listing (verified 2026-05-28):
developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/—cuda-toolkit-13-3_13.3.0-1_amd64.debpresent - Jimver
src/links/linux-links.ts(verified 2026-05-28): highest version13.2.0;13.3.0absent - Docker Hub
nvidia/cudav2 API (verified 2026-05-28):count: 0for13.3name filter - ADR-0573 — superseded for the CUDA toolkit pin; ubuntu:26.04 base and other SDK decisions remain valid
- ADR-0603 — belt-and-suspenders
-D__MATH_NO_INLINESnvcc flag retained; ADR-0603 §Consequences follow-up "When NVIDIA publishescuda-toolkit-13-3: update the pin" is closed by this ADR