From d471a77d9c473f2a790e0b9b349d6004a9fe47df Mon Sep 17 00:00:00 2001 From: yangg Date: Tue, 31 Mar 2026 17:21:20 -0700 Subject: [PATCH 1/7] add lib & header descriptors for cusolverMp --- .../cuda/pathfinder/_dynamic_libs/descriptor_catalog.py | 7 +++++++ .../cuda/pathfinder/_headers/header_descriptor_catalog.py | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py b/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py index e514b2e088..12f3380b15 100644 --- a/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py +++ b/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py @@ -308,6 +308,13 @@ class DescriptorSpec: dependencies=("nvshmem_host",), requires_rtld_deepbind=True, ), + DescriptorSpec( + name="cusolverMp", + packaged_with="other", + linux_sonames=("libcusolverMp.so.0"), + site_packages_linux=("nvidia/cu12/lib", "nvidia/cu13/lib"), + dependencies=("cublas", "cudart", "cusolver", "nccl"), + ), DescriptorSpec( name="mathdx", packaged_with="other", diff --git a/cuda_pathfinder/cuda/pathfinder/_headers/header_descriptor_catalog.py b/cuda_pathfinder/cuda/pathfinder/_headers/header_descriptor_catalog.py index df1e52eb0f..d2cf211efb 100644 --- a/cuda_pathfinder/cuda/pathfinder/_headers/header_descriptor_catalog.py +++ b/cuda_pathfinder/cuda/pathfinder/_headers/header_descriptor_catalog.py @@ -137,6 +137,14 @@ class HeaderDescriptorSpec: # ----------------------------------------------------------------------- # Third-party / separately packaged headers # ----------------------------------------------------------------------- + HeaderDescriptorSpec( + name="cusolverMp", + packaged_with="other", + header_basename="cusolverMp.h", + site_packages_dirs=("nvidia/cu12/include", "nvidia/cu13/include"), + conda_targets_layout=False, + use_ctk_root_canary=False, + ), HeaderDescriptorSpec( name="cusparseLt", packaged_with="other", From 25f54ae5d63d7d2f404e05efb3cf401209545854 Mon Sep 17 00:00:00 2001 From: yangg Date: Tue, 31 Mar 2026 17:35:43 -0700 Subject: [PATCH 2/7] update find_nvidia_headers tester --- cuda_pathfinder/tests/test_find_nvidia_headers.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cuda_pathfinder/tests/test_find_nvidia_headers.py b/cuda_pathfinder/tests/test_find_nvidia_headers.py index a7b95e167b..a4ca8df602 100644 --- a/cuda_pathfinder/tests/test_find_nvidia_headers.py +++ b/cuda_pathfinder/tests/test_find_nvidia_headers.py @@ -40,6 +40,7 @@ assert STRICTNESS in ("see_what_works", "all_must_work") NON_CTK_IMPORTLIB_METADATA_DISTRIBUTIONS_NAMES = { + "cusolverMp": r"^nvidia-cusolvermp-.*$", "cusparseLt": r"^nvidia-cusparselt-.*$", "cute": r"^nvidia-cutlass$", "cutensor": r"^cutensor-.*$", From 066ebc037aedf6fc14c8991b6e25685dc749cf4e Mon Sep 17 00:00:00 2001 From: yangg Date: Tue, 31 Mar 2026 17:41:01 -0700 Subject: [PATCH 3/7] update dependency group --- cuda_pathfinder/pyproject.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cuda_pathfinder/pyproject.toml b/cuda_pathfinder/pyproject.toml index 2ccc253ac8..2e08bdffae 100644 --- a/cuda_pathfinder/pyproject.toml +++ b/cuda_pathfinder/pyproject.toml @@ -25,6 +25,7 @@ cu12 = [ "nvidia-cublasmp-cu12; sys_platform != 'win32'", "nvidia-cudss-cu12", "nvidia-cufftmp-cu12; sys_platform != 'win32'", + "nvidia-cusolvermp-cu12; sys_platform != 'win32'", "nvidia-cusparselt-cu12", "nvidia-libmathdx-cu12", "nvidia-nccl-cu12; sys_platform != 'win32'", @@ -37,6 +38,7 @@ cu13 = [ "nvidia-cublasmp-cu13; sys_platform != 'win32'", "nvidia-cudss-cu13", "nvidia-cufftmp-cu13; sys_platform != 'win32'", + "nvidia-cusolvermp-cu13; sys_platform != 'win32'", "nvidia-cusparselt-cu13", "nvidia-libmathdx-cu13", "nvidia-nccl-cu13; sys_platform != 'win32'", From 58990143673484e08be1bf8485960dc9f11164b8 Mon Sep 17 00:00:00 2001 From: yangg Date: Tue, 31 Mar 2026 17:48:41 -0700 Subject: [PATCH 4/7] sonames typo fix --- .../cuda/pathfinder/_dynamic_libs/descriptor_catalog.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py b/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py index 12f3380b15..52ca06b0ad 100644 --- a/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py +++ b/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py @@ -311,7 +311,7 @@ class DescriptorSpec: DescriptorSpec( name="cusolverMp", packaged_with="other", - linux_sonames=("libcusolverMp.so.0"), + linux_sonames=("libcusolverMp.so.0", ), site_packages_linux=("nvidia/cu12/lib", "nvidia/cu13/lib"), dependencies=("cublas", "cudart", "cusolver", "nccl"), ), From 41e5cdabebc9ff7e424a435bb1a68591f52ac9c8 Mon Sep 17 00:00:00 2001 From: yangg Date: Tue, 31 Mar 2026 17:51:33 -0700 Subject: [PATCH 5/7] ruff pre-commit hook --- .../cuda/pathfinder/_dynamic_libs/descriptor_catalog.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py b/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py index 52ca06b0ad..d64515507b 100644 --- a/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py +++ b/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py @@ -311,7 +311,7 @@ class DescriptorSpec: DescriptorSpec( name="cusolverMp", packaged_with="other", - linux_sonames=("libcusolverMp.so.0", ), + linux_sonames=("libcusolverMp.so.0",), site_packages_linux=("nvidia/cu12/lib", "nvidia/cu13/lib"), dependencies=("cublas", "cudart", "cusolver", "nccl"), ), From 3e459605b1625f202085267171f0ac1ca2f81592 Mon Sep 17 00:00:00 2001 From: yangg Date: Wed, 1 Apr 2026 11:25:52 -0700 Subject: [PATCH 6/7] update path directories to favor cu13 assets --- .../cuda/pathfinder/_dynamic_libs/descriptor_catalog.py | 2 +- .../cuda/pathfinder/_headers/header_descriptor_catalog.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py b/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py index d64515507b..83f78ef881 100644 --- a/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py +++ b/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py @@ -312,7 +312,7 @@ class DescriptorSpec: name="cusolverMp", packaged_with="other", linux_sonames=("libcusolverMp.so.0",), - site_packages_linux=("nvidia/cu12/lib", "nvidia/cu13/lib"), + site_packages_linux=("nvidia/cu13/lib", "nvidia/cu12/lib"), dependencies=("cublas", "cudart", "cusolver", "nccl"), ), DescriptorSpec( diff --git a/cuda_pathfinder/cuda/pathfinder/_headers/header_descriptor_catalog.py b/cuda_pathfinder/cuda/pathfinder/_headers/header_descriptor_catalog.py index d2cf211efb..4de4abda5d 100644 --- a/cuda_pathfinder/cuda/pathfinder/_headers/header_descriptor_catalog.py +++ b/cuda_pathfinder/cuda/pathfinder/_headers/header_descriptor_catalog.py @@ -141,7 +141,7 @@ class HeaderDescriptorSpec: name="cusolverMp", packaged_with="other", header_basename="cusolverMp.h", - site_packages_dirs=("nvidia/cu12/include", "nvidia/cu13/include"), + site_packages_dirs=("nvidia/cu13/include", "nvidia/cu12/include"), conda_targets_layout=False, use_ctk_root_canary=False, ), From 4087a47d32ba0be9cb3a8b1ce8298ca10964276f Mon Sep 17 00:00:00 2001 From: yangg Date: Wed, 1 Apr 2026 13:52:38 -0700 Subject: [PATCH 7/7] mark cusolverMp header unavailable on windows --- .../cuda/pathfinder/_headers/header_descriptor_catalog.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cuda_pathfinder/cuda/pathfinder/_headers/header_descriptor_catalog.py b/cuda_pathfinder/cuda/pathfinder/_headers/header_descriptor_catalog.py index 4de4abda5d..81f93638c5 100644 --- a/cuda_pathfinder/cuda/pathfinder/_headers/header_descriptor_catalog.py +++ b/cuda_pathfinder/cuda/pathfinder/_headers/header_descriptor_catalog.py @@ -142,6 +142,7 @@ class HeaderDescriptorSpec: packaged_with="other", header_basename="cusolverMp.h", site_packages_dirs=("nvidia/cu13/include", "nvidia/cu12/include"), + available_on_windows=False, conda_targets_layout=False, use_ctk_root_canary=False, ),