NVIDIA / NVIDIA/cuda-python

[FEA]: Add SM arch detection to CUDA-Pathfinder for LLVM bitcode files

Open
#2,200 9 comments 0 reactions 1 assignee View on GitHub

@benhg is already working on this.

Since Jun 11, 2026.

cuda.pathfinder feature
Dominant language
Cython
Stars
3.4k
Forks
329
Avg merge
1d 23h
Merged PRs (30d)
116

Description

Is this a duplicate?
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.