Coverage for cuda / pathfinder / _dynamic_libs / descriptor_catalog.py: 100.00%

19 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-03-25 01:07 +0000

1# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 

2# SPDX-License-Identifier: Apache-2.0 

3 

4"""Canonical authored descriptor catalog for dynamic libraries.""" 

5 

6from __future__ import annotations 

7 

8from dataclasses import dataclass 

9from typing import Literal 

10 

11PackagedWith = Literal["ctk", "other", "driver"] 

12 

13 

14@dataclass(frozen=True, slots=True) 

15class DescriptorSpec: 

16 name: str 

17 packaged_with: PackagedWith 

18 linux_sonames: tuple[str, ...] = () 

19 windows_dlls: tuple[str, ...] = () 

20 site_packages_linux: tuple[str, ...] = () 

21 site_packages_windows: tuple[str, ...] = () 

22 dependencies: tuple[str, ...] = () 

23 anchor_rel_dirs_linux: tuple[str, ...] = ("lib64", "lib") 

24 anchor_rel_dirs_windows: tuple[str, ...] = ("bin/x64", "bin") 

25 ctk_root_canary_anchor_libnames: tuple[str, ...] = () 

26 requires_add_dll_directory: bool = False 

27 requires_rtld_deepbind: bool = False 

28 

29 

30DESCRIPTOR_CATALOG: tuple[DescriptorSpec, ...] = ( 

31 # ----------------------------------------------------------------------- 

32 # CTK (CUDA Toolkit) libraries 

33 # ----------------------------------------------------------------------- 

34 DescriptorSpec( 

35 name="cudart", 

36 packaged_with="ctk", 

37 linux_sonames=("libcudart.so.12", "libcudart.so.13"), 

38 windows_dlls=("cudart64_12.dll", "cudart64_13.dll"), 

39 site_packages_linux=("nvidia/cu13/lib", "nvidia/cuda_runtime/lib"), 

40 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/cuda_runtime/bin"), 

41 ), 

42 DescriptorSpec( 

43 name="nvfatbin", 

44 packaged_with="ctk", 

45 linux_sonames=("libnvfatbin.so.12", "libnvfatbin.so.13"), 

46 windows_dlls=("nvfatbin_120_0.dll", "nvfatbin_130_0.dll"), 

47 site_packages_linux=("nvidia/cu13/lib", "nvidia/nvfatbin/lib"), 

48 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/nvfatbin/bin"), 

49 ), 

50 DescriptorSpec( 

51 name="nvJitLink", 

52 packaged_with="ctk", 

53 linux_sonames=("libnvJitLink.so.12", "libnvJitLink.so.13"), 

54 windows_dlls=("nvJitLink_120_0.dll", "nvJitLink_130_0.dll"), 

55 site_packages_linux=("nvidia/cu13/lib", "nvidia/nvjitlink/lib"), 

56 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/nvjitlink/bin"), 

57 ), 

58 DescriptorSpec( 

59 name="nvrtc", 

60 packaged_with="ctk", 

61 linux_sonames=("libnvrtc.so.12", "libnvrtc.so.13"), 

62 windows_dlls=("nvrtc64_120_0.dll", "nvrtc64_130_0.dll"), 

63 site_packages_linux=("nvidia/cu13/lib", "nvidia/cuda_nvrtc/lib"), 

64 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/cuda_nvrtc/bin"), 

65 requires_add_dll_directory=True, 

66 ), 

67 DescriptorSpec( 

68 name="nvvm", 

69 packaged_with="ctk", 

70 linux_sonames=("libnvvm.so.4",), 

71 windows_dlls=("nvvm64.dll", "nvvm64_40_0.dll", "nvvm70.dll"), 

72 site_packages_linux=("nvidia/cu13/lib", "nvidia/cuda_nvcc/nvvm/lib64"), 

73 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/cuda_nvcc/nvvm/bin"), 

74 anchor_rel_dirs_linux=("nvvm/lib64",), 

75 anchor_rel_dirs_windows=("nvvm/bin/*", "nvvm/bin"), 

76 ctk_root_canary_anchor_libnames=("cudart",), 

77 ), 

78 DescriptorSpec( 

79 name="cublas", 

80 packaged_with="ctk", 

81 linux_sonames=("libcublas.so.12", "libcublas.so.13"), 

82 windows_dlls=("cublas64_12.dll", "cublas64_13.dll"), 

83 site_packages_linux=("nvidia/cu13/lib", "nvidia/cublas/lib"), 

84 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/cublas/bin"), 

85 dependencies=("cublasLt",), 

86 ), 

87 DescriptorSpec( 

88 name="cublasLt", 

89 packaged_with="ctk", 

90 linux_sonames=("libcublasLt.so.12", "libcublasLt.so.13"), 

91 windows_dlls=("cublasLt64_12.dll", "cublasLt64_13.dll"), 

92 site_packages_linux=("nvidia/cu13/lib", "nvidia/cublas/lib"), 

93 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/cublas/bin"), 

94 ), 

95 DescriptorSpec( 

96 name="cufft", 

97 packaged_with="ctk", 

98 linux_sonames=("libcufft.so.11", "libcufft.so.12"), 

99 windows_dlls=("cufft64_11.dll", "cufft64_12.dll"), 

100 site_packages_linux=("nvidia/cu13/lib", "nvidia/cufft/lib"), 

101 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/cufft/bin"), 

102 requires_add_dll_directory=True, 

103 ), 

104 DescriptorSpec( 

105 name="cufftw", 

106 packaged_with="ctk", 

107 linux_sonames=("libcufftw.so.11", "libcufftw.so.12"), 

108 windows_dlls=("cufftw64_11.dll", "cufftw64_12.dll"), 

109 site_packages_linux=("nvidia/cu13/lib", "nvidia/cufft/lib"), 

110 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/cufft/bin"), 

111 dependencies=("cufft",), 

112 ), 

113 DescriptorSpec( 

114 name="curand", 

115 packaged_with="ctk", 

116 linux_sonames=("libcurand.so.10",), 

117 windows_dlls=("curand64_10.dll",), 

118 site_packages_linux=("nvidia/cu13/lib", "nvidia/curand/lib"), 

119 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/curand/bin"), 

120 ), 

121 DescriptorSpec( 

122 name="cusolver", 

123 packaged_with="ctk", 

124 linux_sonames=("libcusolver.so.11", "libcusolver.so.12"), 

125 windows_dlls=("cusolver64_11.dll", "cusolver64_12.dll"), 

126 site_packages_linux=("nvidia/cu13/lib", "nvidia/cusolver/lib"), 

127 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/cusolver/bin"), 

128 dependencies=("nvJitLink", "cusparse", "cublasLt", "cublas"), 

129 ), 

130 DescriptorSpec( 

131 name="cusolverMg", 

132 packaged_with="ctk", 

133 linux_sonames=("libcusolverMg.so.11", "libcusolverMg.so.12"), 

134 windows_dlls=("cusolverMg64_11.dll", "cusolverMg64_12.dll"), 

135 site_packages_linux=("nvidia/cu13/lib", "nvidia/cusolver/lib"), 

136 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/cusolver/bin"), 

137 dependencies=("nvJitLink", "cublasLt", "cublas"), 

138 ), 

139 DescriptorSpec( 

140 name="cusparse", 

141 packaged_with="ctk", 

142 linux_sonames=("libcusparse.so.12",), 

143 windows_dlls=("cusparse64_12.dll",), 

144 site_packages_linux=("nvidia/cu13/lib", "nvidia/cusparse/lib"), 

145 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/cusparse/bin"), 

146 dependencies=("nvJitLink",), 

147 ), 

148 DescriptorSpec( 

149 name="nppc", 

150 packaged_with="ctk", 

151 linux_sonames=("libnppc.so.12", "libnppc.so.13"), 

152 windows_dlls=("nppc64_12.dll", "nppc64_13.dll"), 

153 site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"), 

154 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), 

155 ), 

156 DescriptorSpec( 

157 name="nppial", 

158 packaged_with="ctk", 

159 linux_sonames=("libnppial.so.12", "libnppial.so.13"), 

160 windows_dlls=("nppial64_12.dll", "nppial64_13.dll"), 

161 site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"), 

162 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), 

163 dependencies=("nppc",), 

164 ), 

165 DescriptorSpec( 

166 name="nppicc", 

167 packaged_with="ctk", 

168 linux_sonames=("libnppicc.so.12", "libnppicc.so.13"), 

169 windows_dlls=("nppicc64_12.dll", "nppicc64_13.dll"), 

170 site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"), 

171 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), 

172 dependencies=("nppc",), 

173 ), 

174 DescriptorSpec( 

175 name="nppidei", 

176 packaged_with="ctk", 

177 linux_sonames=("libnppidei.so.12", "libnppidei.so.13"), 

178 windows_dlls=("nppidei64_12.dll", "nppidei64_13.dll"), 

179 site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"), 

180 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), 

181 dependencies=("nppc",), 

182 ), 

183 DescriptorSpec( 

184 name="nppif", 

185 packaged_with="ctk", 

186 linux_sonames=("libnppif.so.12", "libnppif.so.13"), 

187 windows_dlls=("nppif64_12.dll", "nppif64_13.dll"), 

188 site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"), 

189 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), 

190 dependencies=("nppc",), 

191 ), 

192 DescriptorSpec( 

193 name="nppig", 

194 packaged_with="ctk", 

195 linux_sonames=("libnppig.so.12", "libnppig.so.13"), 

196 windows_dlls=("nppig64_12.dll", "nppig64_13.dll"), 

197 site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"), 

198 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), 

199 dependencies=("nppc",), 

200 ), 

201 DescriptorSpec( 

202 name="nppim", 

203 packaged_with="ctk", 

204 linux_sonames=("libnppim.so.12", "libnppim.so.13"), 

205 windows_dlls=("nppim64_12.dll", "nppim64_13.dll"), 

206 site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"), 

207 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), 

208 dependencies=("nppc",), 

209 ), 

210 DescriptorSpec( 

211 name="nppist", 

212 packaged_with="ctk", 

213 linux_sonames=("libnppist.so.12", "libnppist.so.13"), 

214 windows_dlls=("nppist64_12.dll", "nppist64_13.dll"), 

215 site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"), 

216 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), 

217 dependencies=("nppc",), 

218 ), 

219 DescriptorSpec( 

220 name="nppisu", 

221 packaged_with="ctk", 

222 linux_sonames=("libnppisu.so.12", "libnppisu.so.13"), 

223 windows_dlls=("nppisu64_12.dll", "nppisu64_13.dll"), 

224 site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"), 

225 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), 

226 dependencies=("nppc",), 

227 ), 

228 DescriptorSpec( 

229 name="nppitc", 

230 packaged_with="ctk", 

231 linux_sonames=("libnppitc.so.12", "libnppitc.so.13"), 

232 windows_dlls=("nppitc64_12.dll", "nppitc64_13.dll"), 

233 site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"), 

234 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), 

235 dependencies=("nppc",), 

236 ), 

237 DescriptorSpec( 

238 name="npps", 

239 packaged_with="ctk", 

240 linux_sonames=("libnpps.so.12", "libnpps.so.13"), 

241 windows_dlls=("npps64_12.dll", "npps64_13.dll"), 

242 site_packages_linux=("nvidia/cu13/lib", "nvidia/npp/lib"), 

243 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), 

244 dependencies=("nppc",), 

245 ), 

246 DescriptorSpec( 

247 name="nvblas", 

248 packaged_with="ctk", 

249 linux_sonames=("libnvblas.so.12", "libnvblas.so.13"), 

250 windows_dlls=("nvblas64_12.dll", "nvblas64_13.dll"), 

251 site_packages_linux=("nvidia/cu13/lib", "nvidia/cublas/lib"), 

252 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/cublas/bin"), 

253 dependencies=("cublas", "cublasLt"), 

254 ), 

255 DescriptorSpec( 

256 name="nvjpeg", 

257 packaged_with="ctk", 

258 linux_sonames=("libnvjpeg.so.12", "libnvjpeg.so.13"), 

259 windows_dlls=("nvjpeg64_12.dll", "nvjpeg64_13.dll"), 

260 site_packages_linux=("nvidia/cu13/lib", "nvidia/nvjpeg/lib"), 

261 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/nvjpeg/bin"), 

262 ), 

263 DescriptorSpec( 

264 name="cufile", 

265 packaged_with="ctk", 

266 linux_sonames=("libcufile.so.0",), 

267 site_packages_linux=("nvidia/cu13/lib", "nvidia/cufile/lib"), 

268 ), 

269 DescriptorSpec( 

270 name="cupti", 

271 packaged_with="ctk", 

272 linux_sonames=("libcupti.so.12", "libcupti.so.13"), 

273 windows_dlls=( 

274 "cupti64_2026.1.0.dll", 

275 "cupti64_2025.4.1.dll", 

276 "cupti64_2025.3.1.dll", 

277 "cupti64_2025.2.1.dll", 

278 "cupti64_2025.1.1.dll", 

279 "cupti64_2024.3.2.dll", 

280 "cupti64_2024.2.1.dll", 

281 "cupti64_2024.1.1.dll", 

282 "cupti64_2023.3.1.dll", 

283 "cupti64_2023.2.2.dll", 

284 "cupti64_2023.1.1.dll", 

285 "cupti64_2022.4.1.dll", 

286 ), 

287 site_packages_linux=("nvidia/cu13/lib", "nvidia/cuda_cupti/lib"), 

288 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/cuda_cupti/bin"), 

289 anchor_rel_dirs_linux=("extras/CUPTI/lib64", "lib"), 

290 anchor_rel_dirs_windows=("extras/CUPTI/lib64", "bin"), 

291 ctk_root_canary_anchor_libnames=("cudart",), 

292 ), 

293 # ----------------------------------------------------------------------- 

294 # Third-party / separately packaged libraries 

295 # ----------------------------------------------------------------------- 

296 DescriptorSpec( 

297 name="cublasmp", 

298 packaged_with="other", 

299 linux_sonames=("libcublasmp.so.0",), 

300 site_packages_linux=("nvidia/cublasmp/cu13/lib", "nvidia/cublasmp/cu12/lib"), 

301 dependencies=("cublas", "cublasLt", "nvshmem_host"), 

302 ), 

303 DescriptorSpec( 

304 name="cufftMp", 

305 packaged_with="other", 

306 linux_sonames=("libcufftMp.so.12", "libcufftMp.so.11"), 

307 site_packages_linux=("nvidia/cufftmp/cu13/lib", "nvidia/cufftmp/cu12/lib"), 

308 dependencies=("nvshmem_host",), 

309 requires_rtld_deepbind=True, 

310 ), 

311 DescriptorSpec( 

312 name="mathdx", 

313 packaged_with="other", 

314 linux_sonames=("libmathdx.so.0",), 

315 windows_dlls=("mathdx64_0.dll",), 

316 site_packages_linux=("nvidia/cu13/lib", "nvidia/cu12/lib"), 

317 site_packages_windows=("nvidia/cu13/bin/x86_64", "nvidia/cu12/bin"), 

318 dependencies=("nvrtc",), 

319 ), 

320 DescriptorSpec( 

321 name="cudss", 

322 packaged_with="other", 

323 linux_sonames=("libcudss.so.0",), 

324 windows_dlls=("cudss64_0.dll",), 

325 site_packages_linux=("nvidia/cu13/lib", "nvidia/cu12/lib"), 

326 site_packages_windows=("nvidia/cu13/bin", "nvidia/cu12/bin"), 

327 dependencies=("cublas", "cublasLt"), 

328 ), 

329 DescriptorSpec( 

330 name="cusparseLt", 

331 packaged_with="other", 

332 linux_sonames=("libcusparseLt.so.0",), 

333 windows_dlls=("cusparseLt.dll",), 

334 site_packages_linux=("nvidia/cu13/lib", "nvidia/cusparselt/lib"), 

335 site_packages_windows=("nvidia/cu13/bin/x64", "nvidia/cusparselt/bin"), 

336 ), 

337 DescriptorSpec( 

338 name="cutensor", 

339 packaged_with="other", 

340 linux_sonames=("libcutensor.so.2",), 

341 windows_dlls=("cutensor.dll",), 

342 site_packages_linux=("cutensor/lib",), 

343 site_packages_windows=("cutensor/bin",), 

344 dependencies=("cublasLt",), 

345 ), 

346 DescriptorSpec( 

347 name="cutensorMg", 

348 packaged_with="other", 

349 linux_sonames=("libcutensorMg.so.2",), 

350 windows_dlls=("cutensorMg.dll",), 

351 site_packages_linux=("cutensor/lib",), 

352 site_packages_windows=("cutensor/bin",), 

353 dependencies=("cutensor", "cublasLt"), 

354 ), 

355 DescriptorSpec( 

356 name="nccl", 

357 packaged_with="other", 

358 linux_sonames=("libnccl.so.2",), 

359 site_packages_linux=("nvidia/nccl/lib",), 

360 ), 

361 DescriptorSpec( 

362 name="nvpl_fftw", 

363 packaged_with="other", 

364 linux_sonames=("libnvpl_fftw.so.0",), 

365 site_packages_linux=("nvpl/lib",), 

366 ), 

367 DescriptorSpec( 

368 name="nvshmem_host", 

369 packaged_with="other", 

370 linux_sonames=("libnvshmem_host.so.3",), 

371 site_packages_linux=("nvidia/nvshmem/lib",), 

372 ), 

373 # ----------------------------------------------------------------------- 

374 # Driver libraries (system-search only, no CTK cascade) 

375 # ----------------------------------------------------------------------- 

376 DescriptorSpec( 

377 name="cuda", 

378 packaged_with="driver", 

379 linux_sonames=("libcuda.so.1",), 

380 windows_dlls=("nvcuda.dll",), 

381 ), 

382 DescriptorSpec( 

383 name="nvml", 

384 packaged_with="driver", 

385 linux_sonames=("libnvidia-ml.so.1",), 

386 windows_dlls=("nvml.dll",), 

387 ), 

388)