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
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: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