Skip to content

fix(pathfinder): use exact dynamic library names - #2689

Draft
rwgk wants to merge 4 commits into
NVIDIA:mainfrom
rwgk:pathfinder_wildcard_cleanup
Draft

fix(pathfinder): use exact dynamic library names#2689
rwgk wants to merge 4 commits into
NVIDIA:mainfrom
rwgk:pathfinder_wildcard_cleanup

Conversation

@rwgk

@rwgk rwgk commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Description

Related: #1732

cuda-pathfinder used broad filesystem wildcard matching for Linux shared
objects and an explicit CUPTI fallback glob on Windows. Already-loaded
detection and native loading use descriptor-declared names instead, so a
wildcard-only match could load successfully but remain invisible to a later
uncached residency check. In less controlled cases, that asymmetry could also
allow a second version of a library into the process.

This PR simplifies and aligns the behavior:

  • Use exact descriptor-declared names for filesystem discovery on both
    platforms.
  • Share Linux's newest-first declared filename list across filesystem discovery,
    already-loaded detection, and native loading.
  • Remove CUPTI's Windows wildcard exception; supported names are cataloged
    explicitly like other libraries.
  • Explicitly declare the unversioned Linux NVVM wheel filename required by
    CUDA 12.9 while retaining the exact-name policy.
  • Fix the existing cuFFT Mp SONAME ordering so ABI 12 is preferred over ABI
    11.

On Linux, this removes both the implicit unversioned and wildcard filesystem
fallbacks. Explicit directory layouts must now expose a descriptor-declared
filename. A physical patch-version filename without a declared alias is
intentionally not discovered.

The PR also adds the release notes and documentation-version entry for the
planned cuda-pathfinder 1.7.1 release.

Checklist

  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@rwgk rwgk added this to the cuda.pathfinder next milestone Aug 23, 2026
@rwgk rwgk added the cuda.pathfinder Everything related to the cuda.pathfinder module label Aug 23, 2026
@rwgk rwgk self-assigned this Aug 23, 2026
@copy-pr-bot

copy-pr-bot Bot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@rwgk

rwgk commented Aug 23, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test ab26c96

rwgk added 2 commits August 23, 2026 21:03
Restrict CUPTI filesystem discovery to descriptor-declared DLL names and
remove the now-unused fallback-glob metadata and search machinery. This keeps
filesystem discovery consistent with already-loaded detection and native
loading, avoiding undeclared wildcard matches.
Use one descriptor-defined newest-first candidate list for filesystem discovery, RTLD_NOLOAD checks, and native loading. Remove the generic unversioned and glob fallbacks so undeclared ABI names cannot be found on disk while remaining invisible to resident checks.

Correct the cufftMp catalog ordering so ABI 12 is preferred over ABI 11. Layouts must provide an exact declared SONAME alias; physical patch filenames without that alias are intentionally not discovered.
@rwgk
rwgk force-pushed the pathfinder_wildcard_cleanup branch from ab26c96 to f20ad66 Compare August 24, 2026 04:03
CUDA 12.9 NVVM wheels expose libnvvm.so without a libnvvm.so.4 alias. Declare that exact artifact name so strict descriptor-driven discovery supports the wheel without restoring an implicit fallback.
@rwgk

rwgk commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test 6eb600b

@github-actions

Copy link
Copy Markdown

@rwgk

rwgk commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test aae8753

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cuda.pathfinder Everything related to the cuda.pathfinder module

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant