Skip to content

Commit e606d08

Browse files
authored
pathfinder: also find ptxas in the nvidia/cu13/bin wheel layout (#2741)
* fix(cuda.pathfinder): discover ptxas from NVIDIA wheels * test(cuda.pathfinder): add pytest-run-parallel dependency * docs(pathfinder): add 1.8.1 release notes
1 parent 9ba9199 commit e606d08

7 files changed

Lines changed: 62 additions & 2 deletions

File tree

‎cuda_pathfinder/cuda/pathfinder/_binaries/supported_nvidia_binaries.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
SITE_PACKAGES_BINDIRS = {
1414
# Core compilation tools
1515
"nvcc": (_CUDA13_BIN, _CUDA_NVCC_BIN),
16+
"ptxas": (_CUDA13_BIN, _CUDA_NVCC_BIN),
1617
"nvdisasm": (_CUDA13_BIN, _CUDA_NVCC_BIN),
1718
"cuobjdump": (_CUDA13_BIN, _CUDA_NVCC_BIN),
1819
"nvprune": (_CUDA_NVCC_BIN,),

‎cuda_pathfinder/docs/nv-versions.json‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
"version": "latest",
44
"url": "https://nvidia.github.io/cuda-python/cuda-pathfinder/latest/"
55
},
6+
{
7+
"version": "1.8.1",
8+
"url": "https://nvidia.github.io/cuda-python/cuda-pathfinder/1.8.1/"
9+
},
610
{
711
"version": "1.8.0",
812
"url": "https://nvidia.github.io/cuda-python/cuda-pathfinder/1.8.0/"
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
.. SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
.. SPDX-License-Identifier: Apache-2.0
3+
4+
.. py:currentmodule:: cuda.pathfinder
5+
6+
``cuda-pathfinder`` 1.8.1 Release notes
7+
=======================================
8+
9+
Highlights
10+
----------
11+
12+
* Add ``ptxas`` to ``SUPPORTED_BINARY_UTILITIES``. The
13+
:func:`find_nvidia_binary_utility` function can now locate it on Linux and
14+
Windows through the existing NVIDIA wheel, Conda, and CUDA Toolkit search
15+
pipeline. NVIDIA wheel discovery prefers the CUDA 13 ``nvidia/cu13/bin``
16+
layout while retaining the legacy ``nvidia/cuda_nvcc/bin`` fallback.
17+
(`PR #2741 <https://github.com/NVIDIA/cuda-python/pull/2741>`_)
18+
19+
Bugfixes
20+
--------
21+
22+
* Find ``cuobjdump`` in the CUDA 13 ``nvidia/cu13/bin`` NVIDIA wheel layout
23+
while retaining discovery from the legacy ``nvidia/cuda_nvcc/bin`` layout.
24+
(`PR #2739 <https://github.com/NVIDIA/cuda-python/pull/2739>`_)
25+
26+
Internal maintenance
27+
--------------------
28+
29+
* Add ``pytest-run-parallel>=0.4.1`` to the normal test dependencies so the
30+
existing ``thread_unsafe`` marker and ``thread_unsafe_fixtures``
31+
configuration option are registered in standard test environments. This is
32+
test-only and does not add a runtime dependency.
33+
(`PR #2741 <https://github.com/NVIDIA/cuda-python/pull/2741>`_)

‎cuda_pathfinder/pixi.lock‎

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎cuda_pathfinder/pixi.toml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ pytest = ">=6.2.4"
1515
pytest-mock = "*"
1616
pytest-repeat = "*"
1717
pytest-randomly = "*"
18+
pytest-run-parallel = ">=0.4.1"
1819

1920
# Keep this dependency set aligned with cuda_python/docs/environment-docs.yml.
2021
[feature.docs.dependencies]

‎cuda_pathfinder/pyproject.toml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ test = [
1616
"pytest-mock==3.15.1",
1717
"pytest-repeat==0.9.4",
1818
"pytest-randomly==4.1.0",
19+
"pytest-run-parallel>=0.4.1",
1920
]
2021
# Internal organization of test dependencies.
2122
cu12 = [

‎cuda_pathfinder/tests/test_find_nvidia_binaries.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
)
1717

1818
CUDA13_WHEEL_BINARIES = frozenset(
19-
("nvcc", "nvdisasm", "cuobjdump", "fatbinary", "bin2c", "nvlink", "compute-sanitizer")
19+
("nvcc", "ptxas", "nvdisasm", "cuobjdump", "fatbinary", "bin2c", "nvlink", "compute-sanitizer")
2020
)
2121

2222

@@ -40,7 +40,7 @@ def test_supported_binaries_consistency():
4040

4141
@pytest.mark.agent_authored(model="claude-opus-5")
4242
def test_cuda13_wheel_layout_is_declared_and_preferred():
43-
"""Every utility shipped in nvidia/cu13/bin must declare that layout first.
43+
"""Every supported utility shipped in nvidia/cu13/bin must declare that layout first.
4444
4545
Omitting it makes the site-packages search step skip an installed CUDA 13
4646
wheel entirely, which is only visible on hosts without a local CTK to fall

0 commit comments

Comments
 (0)