Skip to content

Commit 6211c5a

Browse files
authored
pathfinder: support cusolverMp dynamic loading and header searching (#1845)
* add lib & header descriptors for cusolverMp * update find_nvidia_headers tester * update dependency group * sonames typo fix * ruff pre-commit hook * update path directories to favor cu13 assets * mark cusolverMp header unavailable on windows
1 parent 682182b commit 6211c5a

File tree

4 files changed

+19
-0
lines changed

4 files changed

+19
-0
lines changed

cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,13 @@ class DescriptorSpec:
308308
dependencies=("nvshmem_host",),
309309
requires_rtld_deepbind=True,
310310
),
311+
DescriptorSpec(
312+
name="cusolverMp",
313+
packaged_with="other",
314+
linux_sonames=("libcusolverMp.so.0",),
315+
site_packages_linux=("nvidia/cu13/lib", "nvidia/cu12/lib"),
316+
dependencies=("cublas", "cudart", "cusolver", "nccl"),
317+
),
311318
DescriptorSpec(
312319
name="mathdx",
313320
packaged_with="other",

cuda_pathfinder/cuda/pathfinder/_headers/header_descriptor_catalog.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,15 @@ class HeaderDescriptorSpec:
137137
# -----------------------------------------------------------------------
138138
# Third-party / separately packaged headers
139139
# -----------------------------------------------------------------------
140+
HeaderDescriptorSpec(
141+
name="cusolverMp",
142+
packaged_with="other",
143+
header_basename="cusolverMp.h",
144+
site_packages_dirs=("nvidia/cu13/include", "nvidia/cu12/include"),
145+
available_on_windows=False,
146+
conda_targets_layout=False,
147+
use_ctk_root_canary=False,
148+
),
140149
HeaderDescriptorSpec(
141150
name="cusparseLt",
142151
packaged_with="other",

cuda_pathfinder/pyproject.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ cu12 = [
2525
"nvidia-cublasmp-cu12; sys_platform != 'win32'",
2626
"nvidia-cudss-cu12",
2727
"nvidia-cufftmp-cu12; sys_platform != 'win32'",
28+
"nvidia-cusolvermp-cu12; sys_platform != 'win32'",
2829
"nvidia-cusparselt-cu12",
2930
"nvidia-libmathdx-cu12",
3031
"nvidia-nccl-cu12; sys_platform != 'win32'",
@@ -37,6 +38,7 @@ cu13 = [
3738
"nvidia-cublasmp-cu13; sys_platform != 'win32'",
3839
"nvidia-cudss-cu13",
3940
"nvidia-cufftmp-cu13; sys_platform != 'win32'",
41+
"nvidia-cusolvermp-cu13; sys_platform != 'win32'",
4042
"nvidia-cusparselt-cu13",
4143
"nvidia-libmathdx-cu13",
4244
"nvidia-nccl-cu13; sys_platform != 'win32'",

cuda_pathfinder/tests/test_find_nvidia_headers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
assert STRICTNESS in ("see_what_works", "all_must_work")
4141

4242
NON_CTK_IMPORTLIB_METADATA_DISTRIBUTIONS_NAMES = {
43+
"cusolverMp": r"^nvidia-cusolvermp-.*$",
4344
"cusparseLt": r"^nvidia-cusparselt-.*$",
4445
"cute": r"^nvidia-cutlass$",
4546
"cutensor": r"^cutensor-.*$",

0 commit comments

Comments
 (0)