Skip to content

Commit f3c96cd

Browse files
committed
refactor(pathfinder): rename descriptor strategy to packaged_with
Use a more descriptive field name for library classification so descriptor semantics are explicit in runtime and toolshed code paths. This aligns terminology with review feedback while preserving behavior and compatibility. Made-with: Cursor
1 parent 450d366 commit f3c96cd

File tree

9 files changed

+71
-67
lines changed

9 files changed

+71
-67
lines changed

cuda_pathfinder/cuda/pathfinder/_dynamic_libs/descriptor_catalog.py

Lines changed: 43 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@
88
from dataclasses import dataclass
99
from typing import Literal
1010

11-
Strategy = Literal["ctk", "other", "driver"]
11+
PackagedWith = Literal["ctk", "other", "driver"]
12+
# Backward-compatible alias for downstream imports.
13+
Strategy = PackagedWith
1214

1315

1416
@dataclass(frozen=True, slots=True)
1517
class DescriptorSpec:
1618
name: str
17-
strategy: Strategy
19+
packaged_with: PackagedWith
1820
linux_sonames: tuple[str, ...] = ()
1921
windows_dlls: tuple[str, ...] = ()
2022
site_packages_linux: tuple[str, ...] = ()
@@ -33,31 +35,31 @@ class DescriptorSpec:
3335
# -----------------------------------------------------------------------
3436
DescriptorSpec(
3537
name="cudart",
36-
strategy="ctk",
38+
packaged_with="ctk",
3739
linux_sonames=("libcudart.so.12", "libcudart.so.13"),
3840
windows_dlls=("cudart64_12.dll", "cudart64_13.dll"),
3941
site_packages_linux=("nvidia/cu13/lib", "nvidia/cuda_runtime/lib"),
4042
site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/cuda_runtime/bin"),
4143
),
4244
DescriptorSpec(
4345
name="nvfatbin",
44-
strategy="ctk",
46+
packaged_with="ctk",
4547
linux_sonames=("libnvfatbin.so.12", "libnvfatbin.so.13"),
4648
windows_dlls=("nvfatbin_120_0.dll", "nvfatbin_130_0.dll"),
4749
site_packages_linux=("nvidia/cu13/lib", "nvidia/nvfatbin/lib"),
4850
site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/nvfatbin/bin"),
4951
),
5052
DescriptorSpec(
5153
name="nvJitLink",
52-
strategy="ctk",
54+
packaged_with="ctk",
5355
linux_sonames=("libnvJitLink.so.12", "libnvJitLink.so.13"),
5456
windows_dlls=("nvJitLink_120_0.dll", "nvJitLink_130_0.dll"),
5557
site_packages_linux=("nvidia/cu13/lib", "nvidia/nvjitlink/lib"),
5658
site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/nvjitlink/bin"),
5759
),
5860
DescriptorSpec(
5961
name="nvrtc",
60-
strategy="ctk",
62+
packaged_with="ctk",
6163
linux_sonames=("libnvrtc.so.12", "libnvrtc.so.13"),
6264
windows_dlls=("nvrtc64_120_0.dll", "nvrtc64_130_0.dll"),
6365
site_packages_linux=("nvidia/cu13/lib", "nvidia/cuda_nvrtc/lib"),
@@ -66,7 +68,7 @@ class DescriptorSpec:
6668
),
6769
DescriptorSpec(
6870
name="nvvm",
69-
strategy="ctk",
71+
packaged_with="ctk",
7072
linux_sonames=("libnvvm.so.4",),
7173
windows_dlls=("nvvm64.dll", "nvvm64_40_0.dll", "nvvm70.dll"),
7274
site_packages_linux=("nvidia/cu13/lib", "nvidia/cuda_nvcc/nvvm/lib64"),
@@ -77,7 +79,7 @@ class DescriptorSpec:
7779
),
7880
DescriptorSpec(
7981
name="cublas",
80-
strategy="ctk",
82+
packaged_with="ctk",
8183
linux_sonames=("libcublas.so.12", "libcublas.so.13"),
8284
windows_dlls=("cublas64_12.dll", "cublas64_13.dll"),
8385
site_packages_linux=("nvidia/cu13/lib", "nvidia/cublas/lib"),
@@ -86,15 +88,15 @@ class DescriptorSpec:
8688
),
8789
DescriptorSpec(
8890
name="cublasLt",
89-
strategy="ctk",
91+
packaged_with="ctk",
9092
linux_sonames=("libcublasLt.so.12", "libcublasLt.so.13"),
9193
windows_dlls=("cublasLt64_12.dll", "cublasLt64_13.dll"),
9294
site_packages_linux=("nvidia/cu13/lib", "nvidia/cublas/lib"),
9395
site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/cublas/bin"),
9496
),
9597
DescriptorSpec(
9698
name="cufft",
97-
strategy="ctk",
99+
packaged_with="ctk",
98100
linux_sonames=("libcufft.so.11", "libcufft.so.12"),
99101
windows_dlls=("cufft64_11.dll", "cufft64_12.dll"),
100102
site_packages_linux=("nvidia/cu13/lib", "nvidia/cufft/lib"),
@@ -103,7 +105,7 @@ class DescriptorSpec:
103105
),
104106
DescriptorSpec(
105107
name="cufftw",
106-
strategy="ctk",
108+
packaged_with="ctk",
107109
linux_sonames=("libcufftw.so.11", "libcufftw.so.12"),
108110
windows_dlls=("cufftw64_11.dll", "cufftw64_12.dll"),
109111
site_packages_linux=("nvidia/cu13/lib", "nvidia/cufft/lib"),
@@ -112,15 +114,15 @@ class DescriptorSpec:
112114
),
113115
DescriptorSpec(
114116
name="curand",
115-
strategy="ctk",
117+
packaged_with="ctk",
116118
linux_sonames=("libcurand.so.10",),
117119
windows_dlls=("curand64_10.dll",),
118120
site_packages_linux=("nvidia/cu13/lib", "nvidia/curand/lib"),
119121
site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/curand/bin"),
120122
),
121123
DescriptorSpec(
122124
name="cusolver",
123-
strategy="ctk",
125+
packaged_with="ctk",
124126
linux_sonames=("libcusolver.so.11", "libcusolver.so.12"),
125127
windows_dlls=("cusolver64_11.dll", "cusolver64_12.dll"),
126128
site_packages_linux=("nvidia/cu13/lib", "nvidia/cusolver/lib"),
@@ -129,7 +131,7 @@ class DescriptorSpec:
129131
),
130132
DescriptorSpec(
131133
name="cusolverMg",
132-
strategy="ctk",
134+
packaged_with="ctk",
133135
linux_sonames=("libcusolverMg.so.11", "libcusolverMg.so.12"),
134136
windows_dlls=("cusolverMg64_11.dll", "cusolverMg64_12.dll"),
135137
site_packages_linux=("nvidia/cu13/lib", "nvidia/cusolver/lib"),
@@ -138,7 +140,7 @@ class DescriptorSpec:
138140
),
139141
DescriptorSpec(
140142
name="cusparse",
141-
strategy="ctk",
143+
packaged_with="ctk",
142144
linux_sonames=("libcusparse.so.12",),
143145
windows_dlls=("cusparse64_12.dll",),
144146
site_packages_linux=("nvidia/cu13/lib", "nvidia/cusparse/lib"),
@@ -147,15 +149,15 @@ class DescriptorSpec:
147149
),
148150
DescriptorSpec(
149151
name="nppc",
150-
strategy="ctk",
152+
packaged_with="ctk",
151153
linux_sonames=("libnppc.so.12", "libnppc.so.13"),
152154
windows_dlls=("nppc64_12.dll", "nppc64_13.dll"),
153155
site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"),
154156
site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"),
155157
),
156158
DescriptorSpec(
157159
name="nppial",
158-
strategy="ctk",
160+
packaged_with="ctk",
159161
linux_sonames=("libnppial.so.12", "libnppial.so.13"),
160162
windows_dlls=("nppial64_12.dll", "nppial64_13.dll"),
161163
site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"),
@@ -164,7 +166,7 @@ class DescriptorSpec:
164166
),
165167
DescriptorSpec(
166168
name="nppicc",
167-
strategy="ctk",
169+
packaged_with="ctk",
168170
linux_sonames=("libnppicc.so.12", "libnppicc.so.13"),
169171
windows_dlls=("nppicc64_12.dll", "nppicc64_13.dll"),
170172
site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"),
@@ -173,7 +175,7 @@ class DescriptorSpec:
173175
),
174176
DescriptorSpec(
175177
name="nppidei",
176-
strategy="ctk",
178+
packaged_with="ctk",
177179
linux_sonames=("libnppidei.so.12", "libnppidei.so.13"),
178180
windows_dlls=("nppidei64_12.dll", "nppidei64_13.dll"),
179181
site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"),
@@ -182,7 +184,7 @@ class DescriptorSpec:
182184
),
183185
DescriptorSpec(
184186
name="nppif",
185-
strategy="ctk",
187+
packaged_with="ctk",
186188
linux_sonames=("libnppif.so.12", "libnppif.so.13"),
187189
windows_dlls=("nppif64_12.dll", "nppif64_13.dll"),
188190
site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"),
@@ -191,7 +193,7 @@ class DescriptorSpec:
191193
),
192194
DescriptorSpec(
193195
name="nppig",
194-
strategy="ctk",
196+
packaged_with="ctk",
195197
linux_sonames=("libnppig.so.12", "libnppig.so.13"),
196198
windows_dlls=("nppig64_12.dll", "nppig64_13.dll"),
197199
site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"),
@@ -200,7 +202,7 @@ class DescriptorSpec:
200202
),
201203
DescriptorSpec(
202204
name="nppim",
203-
strategy="ctk",
205+
packaged_with="ctk",
204206
linux_sonames=("libnppim.so.12", "libnppim.so.13"),
205207
windows_dlls=("nppim64_12.dll", "nppim64_13.dll"),
206208
site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"),
@@ -209,7 +211,7 @@ class DescriptorSpec:
209211
),
210212
DescriptorSpec(
211213
name="nppist",
212-
strategy="ctk",
214+
packaged_with="ctk",
213215
linux_sonames=("libnppist.so.12", "libnppist.so.13"),
214216
windows_dlls=("nppist64_12.dll", "nppist64_13.dll"),
215217
site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"),
@@ -218,7 +220,7 @@ class DescriptorSpec:
218220
),
219221
DescriptorSpec(
220222
name="nppisu",
221-
strategy="ctk",
223+
packaged_with="ctk",
222224
linux_sonames=("libnppisu.so.12", "libnppisu.so.13"),
223225
windows_dlls=("nppisu64_12.dll", "nppisu64_13.dll"),
224226
site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"),
@@ -227,7 +229,7 @@ class DescriptorSpec:
227229
),
228230
DescriptorSpec(
229231
name="nppitc",
230-
strategy="ctk",
232+
packaged_with="ctk",
231233
linux_sonames=("libnppitc.so.12", "libnppitc.so.13"),
232234
windows_dlls=("nppitc64_12.dll", "nppitc64_13.dll"),
233235
site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"),
@@ -236,7 +238,7 @@ class DescriptorSpec:
236238
),
237239
DescriptorSpec(
238240
name="npps",
239-
strategy="ctk",
241+
packaged_with="ctk",
240242
linux_sonames=("libnpps.so.12", "libnpps.so.13"),
241243
windows_dlls=("npps64_12.dll", "npps64_13.dll"),
242244
site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"),
@@ -245,7 +247,7 @@ class DescriptorSpec:
245247
),
246248
DescriptorSpec(
247249
name="nvblas",
248-
strategy="ctk",
250+
packaged_with="ctk",
249251
linux_sonames=("libnvblas.so.12", "libnvblas.so.13"),
250252
windows_dlls=("nvblas64_12.dll", "nvblas64_13.dll"),
251253
site_packages_linux=("nvidia/cu13/lib", "nvidia/cublas/lib"),
@@ -254,15 +256,15 @@ class DescriptorSpec:
254256
),
255257
DescriptorSpec(
256258
name="nvjpeg",
257-
strategy="ctk",
259+
packaged_with="ctk",
258260
linux_sonames=("libnvjpeg.so.12", "libnvjpeg.so.13"),
259261
windows_dlls=("nvjpeg64_12.dll", "nvjpeg64_13.dll"),
260262
site_packages_linux=("nvidia/cu13/lib", "nvidia/nvjpeg/lib"),
261263
site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/nvjpeg/bin"),
262264
),
263265
DescriptorSpec(
264266
name="cufile",
265-
strategy="ctk",
267+
packaged_with="ctk",
266268
linux_sonames=("libcufile.so.0",),
267269
site_packages_linux=("nvidia/cu13/lib", "nvidia/cufile/lib"),
268270
),
@@ -271,22 +273,22 @@ class DescriptorSpec:
271273
# -----------------------------------------------------------------------
272274
DescriptorSpec(
273275
name="cublasmp",
274-
strategy="other",
276+
packaged_with="other",
275277
linux_sonames=("libcublasmp.so.0",),
276278
site_packages_linux=("nvidia/cublasmp/cu13/lib", "nvidia/cublasmp/cu12/lib"),
277279
dependencies=("cublas", "cublasLt", "nvshmem_host"),
278280
),
279281
DescriptorSpec(
280282
name="cufftMp",
281-
strategy="other",
283+
packaged_with="other",
282284
linux_sonames=("libcufftMp.so.12", "libcufftMp.so.11"),
283285
site_packages_linux=("nvidia/cufftmp/cu13/lib", "nvidia/cufftmp/cu12/lib"),
284286
dependencies=("nvshmem_host",),
285287
requires_rtld_deepbind=True,
286288
),
287289
DescriptorSpec(
288290
name="mathdx",
289-
strategy="other",
291+
packaged_with="other",
290292
linux_sonames=("libmathdx.so.0",),
291293
windows_dlls=("mathdx64_0.dll",),
292294
site_packages_linux=("nvidia/cu13/lib", "nvidia/cu12/lib"),
@@ -295,7 +297,7 @@ class DescriptorSpec:
295297
),
296298
DescriptorSpec(
297299
name="cudss",
298-
strategy="other",
300+
packaged_with="other",
299301
linux_sonames=("libcudss.so.0",),
300302
windows_dlls=("cudss64_0.dll",),
301303
site_packages_linux=("nvidia/cu13/lib", "nvidia/cu12/lib"),
@@ -304,15 +306,15 @@ class DescriptorSpec:
304306
),
305307
DescriptorSpec(
306308
name="cusparseLt",
307-
strategy="other",
309+
packaged_with="other",
308310
linux_sonames=("libcusparseLt.so.0",),
309311
windows_dlls=("cusparseLt.dll",),
310312
site_packages_linux=("nvidia/cusparselt/lib",),
311313
site_packages_windows=("nvidia/cusparselt/bin",),
312314
),
313315
DescriptorSpec(
314316
name="cutensor",
315-
strategy="other",
317+
packaged_with="other",
316318
linux_sonames=("libcutensor.so.2",),
317319
windows_dlls=("cutensor.dll",),
318320
site_packages_linux=("cutensor/lib",),
@@ -321,7 +323,7 @@ class DescriptorSpec:
321323
),
322324
DescriptorSpec(
323325
name="cutensorMg",
324-
strategy="other",
326+
packaged_with="other",
325327
linux_sonames=("libcutensorMg.so.2",),
326328
windows_dlls=("cutensorMg.dll",),
327329
site_packages_linux=("cutensor/lib",),
@@ -330,19 +332,19 @@ class DescriptorSpec:
330332
),
331333
DescriptorSpec(
332334
name="nccl",
333-
strategy="other",
335+
packaged_with="other",
334336
linux_sonames=("libnccl.so.2",),
335337
site_packages_linux=("nvidia/nccl/lib",),
336338
),
337339
DescriptorSpec(
338340
name="nvpl_fftw",
339-
strategy="other",
341+
packaged_with="other",
340342
linux_sonames=("libnvpl_fftw.so.0",),
341343
site_packages_linux=("nvpl/lib",),
342344
),
343345
DescriptorSpec(
344346
name="nvshmem_host",
345-
strategy="other",
347+
packaged_with="other",
346348
linux_sonames=("libnvshmem_host.so.3",),
347349
site_packages_linux=("nvidia/nvshmem/lib",),
348350
),
@@ -351,13 +353,13 @@ class DescriptorSpec:
351353
# -----------------------------------------------------------------------
352354
DescriptorSpec(
353355
name="cuda",
354-
strategy="driver",
356+
packaged_with="driver",
355357
linux_sonames=("libcuda.so.1",),
356358
windows_dlls=("nvcuda.dll",),
357359
),
358360
DescriptorSpec(
359361
name="nvml",
360-
strategy="driver",
362+
packaged_with="driver",
361363
linux_sonames=("libnvidia-ml.so.1",),
362364
windows_dlls=("nvml.dll",),
363365
),

cuda_pathfinder/cuda/pathfinder/_dynamic_libs/load_nvidia_dynamic_lib.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
# Driver libraries: shipped with the NVIDIA display driver, always on the
4545
# system linker path. These skip all CTK search steps (site-packages,
4646
# conda, CUDA_HOME, canary) and go straight to system search.
47-
_DRIVER_ONLY_LIBNAMES = frozenset(name for name, desc in LIB_DESCRIPTORS.items() if desc.strategy == "driver")
47+
_DRIVER_ONLY_LIBNAMES = frozenset(name for name, desc in LIB_DESCRIPTORS.items() if desc.packaged_with == "driver")
4848

4949

5050
def _load_driver_lib_no_cache(desc: LibDescriptor) -> LoadedDL:

cuda_pathfinder/cuda/pathfinder/_dynamic_libs/supported_nvidia_libs.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
from cuda.pathfinder._dynamic_libs.descriptor_catalog import DESCRIPTOR_CATALOG
1414
from cuda.pathfinder._utils.platform_aware import IS_WINDOWS
1515

16-
_CTK_DESCRIPTORS = tuple(desc for desc in DESCRIPTOR_CATALOG if desc.strategy == "ctk")
17-
_OTHER_DESCRIPTORS = tuple(desc for desc in DESCRIPTOR_CATALOG if desc.strategy == "other")
18-
_DRIVER_DESCRIPTORS = tuple(desc for desc in DESCRIPTOR_CATALOG if desc.strategy == "driver")
16+
_CTK_DESCRIPTORS = tuple(desc for desc in DESCRIPTOR_CATALOG if desc.packaged_with == "ctk")
17+
_OTHER_DESCRIPTORS = tuple(desc for desc in DESCRIPTOR_CATALOG if desc.packaged_with == "other")
18+
_DRIVER_DESCRIPTORS = tuple(desc for desc in DESCRIPTOR_CATALOG if desc.packaged_with == "driver")
1919
_NON_CTK_DESCRIPTORS = _OTHER_DESCRIPTORS + _DRIVER_DESCRIPTORS
2020

2121
SUPPORTED_LIBNAMES_COMMON = tuple(desc.name for desc in _CTK_DESCRIPTORS if desc.linux_sonames and desc.windows_dlls)

0 commit comments

Comments
 (0)