Skip to content

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

@benhg

Description

@benhg

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

Metadata

Metadata

Assignees

Labels

cuda.pathfinderEverything related to the cuda.pathfinder modulefeatureNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions