From a6f24d71df32abcab5cb87b7f6d3191b58e377eb Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Sun, 29 Mar 2026 16:20:41 -0700 Subject: [PATCH 1/2] Add support for find_bitcode_lib("nvshmem_device") (site-packages, Conda) x (cu12, cu13) --- .../cuda/pathfinder/_static_libs/find_bitcode_lib.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cuda_pathfinder/cuda/pathfinder/_static_libs/find_bitcode_lib.py b/cuda_pathfinder/cuda/pathfinder/_static_libs/find_bitcode_lib.py index ea04bbda6f..36be4101fd 100644 --- a/cuda_pathfinder/cuda/pathfinder/_static_libs/find_bitcode_lib.py +++ b/cuda_pathfinder/cuda/pathfinder/_static_libs/find_bitcode_lib.py @@ -40,6 +40,11 @@ class _BitcodeLibInfo(TypedDict): "nvidia/cuda_nvcc/nvvm/libdevice", ), }, + "nvshmem_device": { + "filename": "libnvshmem_device.bc", + "rel_path": "lib", + "site_packages_dirs": ("nvidia/nvshmem/lib",), + }, } # Public API: just the supported library names From 509c8dc253cc95d32498d8dcc492e6a06a655c1b Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Sun, 29 Mar 2026 20:45:48 -0700 Subject: [PATCH 2/2] Exclude Windows-unavailable bitcode libs from SUPPORTED_BITCODE_LIBS nvshmem wheels are not published for Windows, so the nvshmem_device entry must be filtered out on that platform. This adds an `available_on_windows` key to _BitcodeLibInfo and uses it to build SUPPORTED_BITCODE_LIBS, which controls test parametrization. Made-with: Cursor --- .../cuda/pathfinder/_static_libs/find_bitcode_lib.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cuda_pathfinder/cuda/pathfinder/_static_libs/find_bitcode_lib.py b/cuda_pathfinder/cuda/pathfinder/_static_libs/find_bitcode_lib.py index 36be4101fd..46926ad48f 100644 --- a/cuda_pathfinder/cuda/pathfinder/_static_libs/find_bitcode_lib.py +++ b/cuda_pathfinder/cuda/pathfinder/_static_libs/find_bitcode_lib.py @@ -29,6 +29,7 @@ class _BitcodeLibInfo(TypedDict): filename: str rel_path: str site_packages_dirs: tuple[str, ...] + available_on_windows: bool _SUPPORTED_BITCODE_LIBS_INFO: dict[str, _BitcodeLibInfo] = { @@ -39,16 +40,22 @@ class _BitcodeLibInfo(TypedDict): "nvidia/cu13/nvvm/libdevice", "nvidia/cuda_nvcc/nvvm/libdevice", ), + "available_on_windows": True, }, "nvshmem_device": { "filename": "libnvshmem_device.bc", "rel_path": "lib", "site_packages_dirs": ("nvidia/nvshmem/lib",), + "available_on_windows": False, }, } # Public API: just the supported library names -SUPPORTED_BITCODE_LIBS: tuple[str, ...] = tuple(sorted(_SUPPORTED_BITCODE_LIBS_INFO.keys())) +SUPPORTED_BITCODE_LIBS: tuple[str, ...] = tuple( + sorted( + name for name, info in _SUPPORTED_BITCODE_LIBS_INFO.items() if not IS_WINDOWS or info["available_on_windows"] + ) +) def _no_such_file_in_dir(dir_path: str, filename: str, error_messages: list[str], attachments: list[str]) -> None: