Skip to content

Update pathfinder descriptor catalogs for cusparseLt release 0.9.0#1806

Closed
rwgk wants to merge 1 commit intoNVIDIA:mainfrom
rwgk:pathfinder_cuSPARSELt_update
Closed

Update pathfinder descriptor catalogs for cusparseLt release 0.9.0#1806
rwgk wants to merge 1 commit intoNVIDIA:mainfrom
rwgk:pathfinder_cuSPARSELt_update

Conversation

@rwgk
Copy link
Copy Markdown
Collaborator

@rwgk rwgk commented Mar 23, 2026

NOTE: MERGED via #1653

https://pypi.org/project/nvidia-cusparselt-cu13/0.9.0/ (Released: Mar 21, 2026) changed the directory structure.

NOTE: I folded the commit from here into #1653 and set it to auto-merge, so that we get our CI green again asap.

@rwgk rwgk self-assigned this Mar 23, 2026
@github-actions
Copy link
Copy Markdown

@rwgk
Copy link
Copy Markdown
Collaborator Author

rwgk commented Mar 23, 2026

The commit from this PR was merged via #1653

@rwgk rwgk closed this Mar 23, 2026
@rwgk rwgk deleted the pathfinder_cuSPARSELt_update branch March 23, 2026 14:59
rwgk added a commit to rwgk/cuda-python that referenced this pull request Mar 23, 2026
github-actions bot pushed a commit that referenced this pull request Mar 24, 2026
Removed preview folders for the following PRs:
- PR #1806
- PR #1807
- PR #1811
cpcloud pushed a commit that referenced this pull request Mar 24, 2026
…PATH` over `CUDA_HOME` (#1801)

* Squash-merge of PR #1519 (rparolin/env_var_improvements) rebased onto main.

Adds cuda.pathfinder._utils.env_var_constants with canonical search order,
enhances get_cuda_home_or_path() with robust path comparison and caching,
and updates documentation across all packages to reflect the new priority.

Co-authored-by: Rob Parolin <rparolin@nvidia.com>
Made-with: Cursor

* replace _get_cuda_paths() with _get_cuda_path() using pathfinder

Drop os.pathsep splitting of CUDA_PATH/CUDA_HOME in both build_hooks.py files.
Both functions now delegate to get_cuda_home_or_path() from cuda.pathfinder,
returning a single path.

See #1801 (comment)

Made-with: Cursor

* treat empty env vars as undefined in get_cuda_home_or_path()

See #1801 (comment) for the rationale

Made-with: Cursor

* fix(pathfinder): clear get_cuda_home_or_path cache in test fixtures

Made-with: Cursor

* fix(core): update test_build_hooks for _get_cuda_path rename, drop multi-path test

Made-with: Cursor

* refactor(core): use get_cuda_home_or_path() in test conftest skipif

Made-with: Cursor

* refactor(core): use get_cuda_home_or_path() in examples

Made-with: Cursor

* rename get_cuda_home_or_path -> get_cuda_path_or_home

Safe: currently an internal-only API (not yet public).
Made-with: Cursor

* make get_cuda_path_or_home a public API, privatize CUDA_ENV_VARS_ORDERED

Export get_cuda_path_or_home from cuda.pathfinder.__init__. External
consumers now import from cuda.pathfinder directly. Rename constant
to _CUDA_PATH_ENV_VARS_ORDERED and remove all public references to it.

Made-with: Cursor

* docs(pathfinder): manually edit 1.5.0 release notes, fix RST formatting (Cursor)

Made-with: Cursor

* Add 1.5.0, 1.4.3, 1.4.2 in cuda_pathfinder/docs/nv-versions.json

* docs: clarify that CUDA_PATH/CUDA_HOME priority comes from pathfinder

Pathfinder 1.5.0 release notes no longer claim cross-package consistency
(that depends on future bindings/core releases). cuda_bindings env var
docs now defer to pathfinder release notes for migration guidance.

Made-with: Cursor

* fix oversights that slipped in when manually editing cuda_pathfinder/docs/nv-versions.json before

Discovered via independent review from GPT-5.4 Extra High

* fix(pathfinder): change found_via from "CUDA_HOME" to "CUDA_PATH"

Aligns the provenance label with the new CUDA_PATH-first priority.
The label signals the highest-priority env var name, not necessarily
which variable supplied the value.

Discovered via independent review from GPT-5.4 Extra High

Made-with: Cursor

* fix(build): don't import cuda.pathfinder in build_hooks.py

The build backends run in an isolated venv created by pyproject-build.
Although cuda-pathfinder is listed in build-system.requires and gets
installed, the cuda namespace package from backend-path=["."] shadows
the installed cuda-pathfinder, making `from cuda.pathfinder import ...`
fail with ModuleNotFoundError. This broke all CI wheel builds.

Revert _get_cuda_path() to use os.environ.get() directly with
CUDA_PATH > CUDA_HOME priority, and remove cuda-pathfinder from
build-system.requires (it was not there on main; our PR added it).

Made-with: Cursor

* Update pathfinder descriptor catalogs for cusparseLt release 0.9.0

* Slightly enhance comment in _get_cuda_path()

* Add PR #1806 to 1.5.0-notes.rst

* Systematically rename find_in_cuda_home → find_in_cuda_path

* add _cuda_headers_available() guard to conftest files

Add a helper that skips tests when no CUDA path is set, but
asserts that the include/ subdirectory exists when one is — surfacing
stale or incomplete toolkit roots at collection time instead of
letting them fail later in compilation.

Applied in both the root conftest.py and cuda_core/tests/conftest.py.

Made-with: Cursor

---------

Co-authored-by: Rob Parolin <rparolin@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant