[FEA]: Add SM arch detection to CUDA-Pathfinder for LLVM bitcode files
@benhg is already working on this.
Since Jun 11, 2026.
- Dominant language
- Cython
- Stars
- 3.4k
- Forks
- 329
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 116
Description
Is this a duplicate?
- I confirmed there appear to be no duplicate issues for this request and that I agree to the Code of Conduct
Area
cuda.pathfinder
Is your feature request related to a problem? Please describe.
Since 3.7.0, NVSHMEM must ship arch-specific bitcode files (libnvshmem_device_smXX.bc) instead of libnvshmem_device.bc. The reason for this is that libnvshmem_device.bc was silently an SM90-only file, and that's not really an acceptable solution.
We attempted to ship a libnvshmem_device.bc which is a symlink to SM90 file just for compatibility, but I was unaware that symlinks are not supported in wheels.
So this is really an NVSHMEM Bug, but I think longer-term, there is a valid use case for arch-specific bitcode files.
Note that this is not as much of an issue for LTOIR files as they can be built into Fatbins for many architectures.
Describe the solution you'd like
Add an optional "sm_arch" kwarg to find_bitcode_lib:
cuda.pathfinder.find_bitcode_lib(name: str, sm_arch: str="") → str
If sm_arch is not set, it will find the corresponding .bc file for the library only. If it is set, it will find {lib name}_{sm_arch}.bc
Describe alternatives you've considered
No response
Additional context
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.