From 4140f76759f3eb03886626ecbfa4f9ea6198fe81 Mon Sep 17 00:00:00 2001 From: Jason Pascucci Date: Thu, 22 Oct 2026 08:38:28 -0700 Subject: [PATCH 1/2] pathfinder: support cuDSS 1.0 library names closes #3180 cuDSS 1.0 changed the Linux SONAME from libcudss.so.0 to libcudss.so.1 and the Windows DLL name from cudss64_0.dll to cudss64_1.dll. This caused exact-name discovery to report the newly released library as missing in nightly CI. Prefer the 1.x names while retaining the 0.x names as compatibility fallbacks. Also preload NVRTC when available because cuDSS 1.0 requires it at load time. Add regression coverage for the supported names and update the 1.8.4 release notes. Tests: pixi run test (1616 passed, 5 skipped) --- .../pathfinder/_dynamic_libs/descriptor_catalog.py | 5 +++-- cuda_pathfinder/docs/source/release/1.8.4-notes.rst | 4 ++++ cuda_pathfinder/tests/test_descriptor_catalog.py | 10 ++++++++++ 3 files changed, 17 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 9e6f6673466..35a779d0e4d 100644 --- a/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py +++ b/cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py @@ -467,8 +467,8 @@ class DescriptorSpec: DescriptorSpec( name="cudss", packaged_with="other", - linux_sonames=("libcudss.so.0",), - windows_dlls=("cudss64_0.dll",), + linux_sonames=("libcudss.so.1", "libcudss.so.0"), + windows_dlls=("cudss64_1.dll", "cudss64_0.dll"), supported_windows_arch=("x64", "arm64"), site_packages_linux=("nvidia/cu13/lib", "nvidia/cu12/lib"), site_packages_windows=WindowsSearchDirs( @@ -476,6 +476,7 @@ class DescriptorSpec: arm64=("nvidia/cu13/bin", "nvidia/cu12/bin"), ), dependencies=("cublas", "cublasLt"), + optional_dependencies=("nvrtc",), ), DescriptorSpec( name="cusparseLt", diff --git a/cuda_pathfinder/docs/source/release/1.8.4-notes.rst b/cuda_pathfinder/docs/source/release/1.8.4-notes.rst index 4eed0988581..1f8ea063e83 100644 --- a/cuda_pathfinder/docs/source/release/1.8.4-notes.rst +++ b/cuda_pathfinder/docs/source/release/1.8.4-notes.rst @@ -10,3 +10,7 @@ Highlights ---------- * Python 3.10 support was dropped (end of life). + +* Recognize the cuDSS 1.0 dynamic-library names ``libcudss.so.1`` and + ``cudss64_1.dll`` while retaining the cuDSS 0.x names. Loading cuDSS also + preloads NVRTC when available, as required by cuDSS 1.0. diff --git a/cuda_pathfinder/tests/test_descriptor_catalog.py b/cuda_pathfinder/tests/test_descriptor_catalog.py index 835e7572ef0..683f5267bbe 100644 --- a/cuda_pathfinder/tests/test_descriptor_catalog.py +++ b/cuda_pathfinder/tests/test_descriptor_catalog.py @@ -179,6 +179,16 @@ def test_cudnn_metadata_matches_supported_layouts(): assert spec.requires_add_dll_directory +@pytest.mark.agent_authored(model="gpt-5") +def test_cudss_metadata_matches_supported_library_names(): + spec = _CATALOG_BY_NAME["cudss"] + + assert spec.linux_sonames == ("libcudss.so.1", "libcudss.so.0") + assert spec.windows_dlls == ("cudss64_1.dll", "cudss64_0.dll") + assert spec.dependencies == ("cublas", "cublasLt") + assert spec.optional_dependencies == ("nvrtc",) + + @pytest.mark.agent_authored(model="gpt-5.6-sol") def test_nccl_metadata_matches_supported_linux_install_layouts(): spec = _CATALOG_BY_NAME["nccl"] From 1b6b18dd819fc811c231f78ddd7e7fd6eecd797a Mon Sep 17 00:00:00 2001 From: Jason Pascucci Date: Thu, 22 Oct 2026 08:51:46 -0700 Subject: [PATCH 2/2] Remove excessive test. --- cuda_pathfinder/tests/test_descriptor_catalog.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/cuda_pathfinder/tests/test_descriptor_catalog.py b/cuda_pathfinder/tests/test_descriptor_catalog.py index 683f5267bbe..835e7572ef0 100644 --- a/cuda_pathfinder/tests/test_descriptor_catalog.py +++ b/cuda_pathfinder/tests/test_descriptor_catalog.py @@ -179,16 +179,6 @@ def test_cudnn_metadata_matches_supported_layouts(): assert spec.requires_add_dll_directory -@pytest.mark.agent_authored(model="gpt-5") -def test_cudss_metadata_matches_supported_library_names(): - spec = _CATALOG_BY_NAME["cudss"] - - assert spec.linux_sonames == ("libcudss.so.1", "libcudss.so.0") - assert spec.windows_dlls == ("cudss64_1.dll", "cudss64_0.dll") - assert spec.dependencies == ("cublas", "cublasLt") - assert spec.optional_dependencies == ("nvrtc",) - - @pytest.mark.agent_authored(model="gpt-5.6-sol") def test_nccl_metadata_matches_supported_linux_install_layouts(): spec = _CATALOG_BY_NAME["nccl"]