From 250e5005650922f11a4b7cbf9fc9ecb0f2b38e34 Mon Sep 17 00:00:00 2001 From: 0z5a Date: Sat, 24 Oct 2026 17:06:14 +0200 Subject: [PATCH 1/2] test(cuda.bindings): cover sm_90a, sm_103 and sm_103a in the nvJitLink and nvFatbin tests The four architecture lists stopped at sm_100 and had no arch-specific target, so nothing exercised the "a" targets or sm_103 (B300 / GB300), where nvJitLink no longer serves sm_103 from sm_100 code (the reason the RDC fixture moved to -arch=all in #2296). Add sm_90a, sm_103 and sm_103a. In the nvJitLink tests the PTX versions pair with the architectures, so the new entries use each target's minimum PTX ISA version: 8.0 for sm_90a and 8.8 for sm_103 / sm_103a. The nvFatbin tests take the PTX version as an independent parameter, so their version list is unchanged. Tests written with Claude Opus 5.5 and reviewed by the contributor. Signed-off-by: 0z5a --- cuda_bindings_13/tests/legacy_api/test_legacy_nvfatbin.py | 2 +- cuda_bindings_13/tests/legacy_api/test_legacy_nvjitlink.py | 4 ++-- cuda_bindings_13/tests/test_nvfatbin.py | 2 +- cuda_bindings_13/tests/test_nvjitlink.py | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cuda_bindings_13/tests/legacy_api/test_legacy_nvfatbin.py b/cuda_bindings_13/tests/legacy_api/test_legacy_nvfatbin.py index 32b981d93da..a6c804b1b44 100644 --- a/cuda_bindings_13/tests/legacy_api/test_legacy_nvfatbin.py +++ b/cuda_bindings_13/tests/legacy_api/test_legacy_nvfatbin.py @@ -11,7 +11,7 @@ from cuda.bindings import nvfatbin, nvrtc -ARCHITECTURES = ["sm_75", "sm_80", "sm_90", "sm_100"] +ARCHITECTURES = ["sm_75", "sm_80", "sm_90", "sm_90a", "sm_100", "sm_103", "sm_103a"] PTX_VERSIONS = ["6.4", "7.0", "8.5", "8.8"] PTX_TEMPLATE = """ diff --git a/cuda_bindings_13/tests/legacy_api/test_legacy_nvjitlink.py b/cuda_bindings_13/tests/legacy_api/test_legacy_nvjitlink.py index 91d6ace1ce6..fcd68add5af 100644 --- a/cuda_bindings_13/tests/legacy_api/test_legacy_nvjitlink.py +++ b/cuda_bindings_13/tests/legacy_api/test_legacy_nvjitlink.py @@ -20,8 +20,8 @@ def nvjitlink_session(num_options, options): # Establish a handful of compatible architectures and PTX versions to test with -ARCHITECTURES = ["sm_75", "sm_80", "sm_90", "sm_100"] -PTX_VERSIONS = ["6.4", "7.0", "8.5", "8.8"] +ARCHITECTURES = ["sm_75", "sm_80", "sm_90", "sm_90a", "sm_100", "sm_103", "sm_103a"] +PTX_VERSIONS = ["6.4", "7.0", "8.5", "8.0", "8.8", "8.8", "8.8"] PTX_HEADER = """\ diff --git a/cuda_bindings_13/tests/test_nvfatbin.py b/cuda_bindings_13/tests/test_nvfatbin.py index 1bb8d4fcc53..ebb8fda91c9 100644 --- a/cuda_bindings_13/tests/test_nvfatbin.py +++ b/cuda_bindings_13/tests/test_nvfatbin.py @@ -12,7 +12,7 @@ from cuda.bindings import nvfatbin from cuda.bindings._v2 import nvrtc -ARCHITECTURES = ["sm_75", "sm_80", "sm_90", "sm_100"] +ARCHITECTURES = ["sm_75", "sm_80", "sm_90", "sm_90a", "sm_100", "sm_103", "sm_103a"] PTX_VERSIONS = ["6.4", "7.0", "8.5", "8.8"] PTX_TEMPLATE = """ diff --git a/cuda_bindings_13/tests/test_nvjitlink.py b/cuda_bindings_13/tests/test_nvjitlink.py index 3fa6837a9a0..196263980c5 100644 --- a/cuda_bindings_13/tests/test_nvjitlink.py +++ b/cuda_bindings_13/tests/test_nvjitlink.py @@ -21,8 +21,8 @@ def nvjitlink_session(num_options, options): # Establish a handful of compatible architectures and PTX versions to test with -ARCHITECTURES = ["sm_75", "sm_80", "sm_90", "sm_100"] -PTX_VERSIONS = ["6.4", "7.0", "8.5", "8.8"] +ARCHITECTURES = ["sm_75", "sm_80", "sm_90", "sm_90a", "sm_100", "sm_103", "sm_103a"] +PTX_VERSIONS = ["6.4", "7.0", "8.5", "8.0", "8.8", "8.8", "8.8"] PTX_HEADER = """\ From 7057d88f5f3da3fee6910c97b70c3fa5c9ee09cb Mon Sep 17 00:00:00 2001 From: 0z5a Date: Thu, 29 Oct 2026 11:24:44 +0100 Subject: [PATCH 2/2] test: keep new architecture coverage out of legacy suite Signed-off-by: 0z5a --- cuda_bindings_13/tests/legacy_api/test_legacy_nvfatbin.py | 2 +- cuda_bindings_13/tests/legacy_api/test_legacy_nvjitlink.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cuda_bindings_13/tests/legacy_api/test_legacy_nvfatbin.py b/cuda_bindings_13/tests/legacy_api/test_legacy_nvfatbin.py index a6c804b1b44..32b981d93da 100644 --- a/cuda_bindings_13/tests/legacy_api/test_legacy_nvfatbin.py +++ b/cuda_bindings_13/tests/legacy_api/test_legacy_nvfatbin.py @@ -11,7 +11,7 @@ from cuda.bindings import nvfatbin, nvrtc -ARCHITECTURES = ["sm_75", "sm_80", "sm_90", "sm_90a", "sm_100", "sm_103", "sm_103a"] +ARCHITECTURES = ["sm_75", "sm_80", "sm_90", "sm_100"] PTX_VERSIONS = ["6.4", "7.0", "8.5", "8.8"] PTX_TEMPLATE = """ diff --git a/cuda_bindings_13/tests/legacy_api/test_legacy_nvjitlink.py b/cuda_bindings_13/tests/legacy_api/test_legacy_nvjitlink.py index fcd68add5af..91d6ace1ce6 100644 --- a/cuda_bindings_13/tests/legacy_api/test_legacy_nvjitlink.py +++ b/cuda_bindings_13/tests/legacy_api/test_legacy_nvjitlink.py @@ -20,8 +20,8 @@ def nvjitlink_session(num_options, options): # Establish a handful of compatible architectures and PTX versions to test with -ARCHITECTURES = ["sm_75", "sm_80", "sm_90", "sm_90a", "sm_100", "sm_103", "sm_103a"] -PTX_VERSIONS = ["6.4", "7.0", "8.5", "8.0", "8.8", "8.8", "8.8"] +ARCHITECTURES = ["sm_75", "sm_80", "sm_90", "sm_100"] +PTX_VERSIONS = ["6.4", "7.0", "8.5", "8.8"] PTX_HEADER = """\