Repository navigation
Conversation
…k 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 NVIDIA#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 <dezhen.lu@student.uni-tuebingen.de>
📝 Summary
Priority: Change: Other Merge Risk:
|
There was a problem hiding this comment.
Actionable comments posted: 2

Review info
-
Run configuration-
- Source mode: Auto
- Repository: NVIDIA/cuda-python
- Branch: main
- File: .coderabbit.yaml
- Commit: a2fb804
- Layers: Repository YAML
- Review profile: CHILL
- Plan: Enterprise
- Run ID:
0584a669-5271-4431-a838-47d40421e806
Files selected for processing: 4-
cuda_bindings_13/tests/legacy_api/test_legacy_nvfatbin.pycuda_bindings_13/tests/legacy_api/test_legacy_nvjitlink.pycuda_bindings_13/tests/test_nvfatbin.pycuda_bindings_13/tests/test_nvjitlink.py
Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.
-
|
/ok to test 250e500 |
|
Andy-Jost
left a comment
There was a problem hiding this comment.
Thanks, the new entries check out. The PTX pairs are right (8.0 for sm_90a, 8.8 for sm_103 and sm_103a), an offline probe against the 13.4 nvJitLink, nvFatbin, NVRTC, and nvcc accepted every new combination, and the +96 case count matches the parametrization. In CI these files run only on the CUDA 13.4.2 rows, so no per-architecture skip is needed.
One change before merge: the two tests/legacy_api hunks. cuda_bindings_13/AGENTS.md and the legacy README say those files are not to be added to, only fixed when a test breaks. The canonical test_nvjitlink.py and test_nvfatbin.py carry the new coverage, so please drop the changes to test_legacy_nvjitlink.py and test_legacy_nvfatbin.py. CodeRabbit made the same point on both files.
The failing aarch64 3.15t job is test_coredump_bool_uses_single_byte_storage, which this PR does not touch; I'm re-running it.
Signed-off-by: 0z5a <dezhen.lu@student.uni-tuebingen.de>
|
Sorry I hate to say this, but this does not add value to our test suite TBH. The binding tests are meant to examine if we are passing the Python arguments to the underlying C APIs correctly, not meant to be exhaustive or offer full coverage (which is the job of the respective libraries). Next time, please make sure you discuss first with us per the contributor guide before sending a PR. |
|
Thanks for the explanation, that makes sense. Since the binding tests are meant to check argument passing rather than library coverage, I am closing this. I will open an issue to coordinate before sending similar PRs in the future. |
Description
Closes #3217.
The canonical nvJitLink and nvFatbin tests now cover
sm_90a,sm_103, andsm_103a. The nvJitLink parameters pair them with the minimum PTX versions 8.0, 8.8, and 8.8; the nvFatbin tests cross each architecture with the existing independent PTX version list. In response to review, the legacy test additions were removed.The original parametrization was written with Claude Opus 5.5 and reviewed by the contributor. This PR changes existing parameter lists and adds no test function.
Testing
sm_103aorsm_90aimages using nvJitLink, NVRTC and nvFatbin, launched a kernel and checked the result.git diff --checkpassed. Native CUDA tests have not been rerun on this head.The historical runs used cuda-python
2da9c65a, CUDA 13.4.2 and Python 3.12 on B300 (driver 610.57.04) and GH200 (driver 595.58.03).Checklist