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

19 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-04-29 01:27 +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.1.dll", 

275 "cupti64_2026.1.0.dll", 

276 "cupti64_2025.4.1.dll", 

277 "cupti64_2025.3.1.dll", 

278 "cupti64_2025.2.1.dll", 

279 "cupti64_2025.1.1.dll", 

280 "cupti64_2024.3.2.dll", 

281 "cupti64_2024.2.1.dll", 

282 "cupti64_2024.1.1.dll", 

283 "cupti64_2023.3.1.dll", 

284 "cupti64_2023.2.2.dll", 

285 "cupti64_2023.1.1.dll", 

286 "cupti64_2022.4.1.dll", 

287 ), 

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

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

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

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

292 ctk_root_canary_anchor_libnames=("cudart",), 

293 ), 

294 DescriptorSpec( 

295 name="cudla", 

296 packaged_with="ctk", 

297 linux_sonames=("libcudla.so.1",), 

298 site_packages_linux=("nvidia/cu13/lib",), 

299 ), 

300 # ----------------------------------------------------------------------- 

301 # Third-party / separately packaged libraries 

302 # ----------------------------------------------------------------------- 

303 DescriptorSpec( 

304 name="cublasmp", 

305 packaged_with="other", 

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

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

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

309 ), 

310 DescriptorSpec( 

311 name="cufftMp", 

312 packaged_with="other", 

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

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

315 dependencies=("nvshmem_host",), 

316 requires_rtld_deepbind=True, 

317 ), 

318 DescriptorSpec( 

319 name="cusolverMp", 

320 packaged_with="other", 

321 linux_sonames=("libcusolverMp.so.0",), 

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

323 dependencies=("cublas", "cudart", "cusolver", "nccl"), 

324 ), 

325 DescriptorSpec( 

326 name="mathdx", 

327 packaged_with="other", 

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

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

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

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

332 dependencies=("nvrtc",), 

333 ), 

334 DescriptorSpec( 

335 name="cudss", 

336 packaged_with="other", 

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

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

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

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

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

342 ), 

343 DescriptorSpec( 

344 name="cusparseLt", 

345 packaged_with="other", 

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

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

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

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

350 ), 

351 DescriptorSpec( 

352 name="cutensor", 

353 packaged_with="other", 

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

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

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

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

358 dependencies=("cublasLt",), 

359 ), 

360 DescriptorSpec( 

361 name="cutensorMg", 

362 packaged_with="other", 

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

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

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

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

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

368 ), 

369 DescriptorSpec( 

370 name="nccl", 

371 packaged_with="other", 

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

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

374 ), 

375 DescriptorSpec( 

376 name="nvpl_fftw", 

377 packaged_with="other", 

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

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

380 ), 

381 DescriptorSpec( 

382 name="nvshmem_host", 

383 packaged_with="other", 

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

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

386 ), 

387 # ----------------------------------------------------------------------- 

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

389 # ----------------------------------------------------------------------- 

390 DescriptorSpec( 

391 name="cuda", 

392 packaged_with="driver", 

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

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

395 ), 

396 DescriptorSpec( 

397 name="nvcudla", 

398 packaged_with="driver", 

399 linux_sonames=("libnvcudla.so",), 

400 ), 

401 DescriptorSpec( 

402 name="nvml", 

403 packaged_with="driver", 

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

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

406 ), 

407)