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

19 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-03-08 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_2025.4.1.dll", 

275 "cupti64_2025.3.1.dll", 

276 "cupti64_2025.2.1.dll", 

277 "cupti64_2025.1.1.dll", 

278 "cupti64_2024.3.2.dll", 

279 "cupti64_2024.2.1.dll", 

280 "cupti64_2024.1.1.dll", 

281 "cupti64_2023.3.1.dll", 

282 "cupti64_2023.2.2.dll", 

283 "cupti64_2023.1.1.dll", 

284 "cupti64_2022.4.1.dll", 

285 ), 

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

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

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

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

290 ctk_root_canary_anchor_libnames=("cudart",), 

291 ), 

292 # ----------------------------------------------------------------------- 

293 # Third-party / separately packaged libraries 

294 # ----------------------------------------------------------------------- 

295 DescriptorSpec( 

296 name="cublasmp", 

297 packaged_with="other", 

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

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

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

301 ), 

302 DescriptorSpec( 

303 name="cufftMp", 

304 packaged_with="other", 

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

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

307 dependencies=("nvshmem_host",), 

308 requires_rtld_deepbind=True, 

309 ), 

310 DescriptorSpec( 

311 name="mathdx", 

312 packaged_with="other", 

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

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

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

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

317 dependencies=("nvrtc",), 

318 ), 

319 DescriptorSpec( 

320 name="cudss", 

321 packaged_with="other", 

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

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

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

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

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

327 ), 

328 DescriptorSpec( 

329 name="cusparseLt", 

330 packaged_with="other", 

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

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

333 site_packages_linux=("nvidia/cusparselt/lib",), 

334 site_packages_windows=("nvidia/cusparselt/bin",), 

335 ), 

336 DescriptorSpec( 

337 name="cutensor", 

338 packaged_with="other", 

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

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

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

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

343 dependencies=("cublasLt",), 

344 ), 

345 DescriptorSpec( 

346 name="cutensorMg", 

347 packaged_with="other", 

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

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

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

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

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

353 ), 

354 DescriptorSpec( 

355 name="nccl", 

356 packaged_with="other", 

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

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

359 ), 

360 DescriptorSpec( 

361 name="nvpl_fftw", 

362 packaged_with="other", 

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

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

365 ), 

366 DescriptorSpec( 

367 name="nvshmem_host", 

368 packaged_with="other", 

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

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

371 ), 

372 # ----------------------------------------------------------------------- 

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

374 # ----------------------------------------------------------------------- 

375 DescriptorSpec( 

376 name="cuda", 

377 packaged_with="driver", 

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

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

380 ), 

381 DescriptorSpec( 

382 name="nvml", 

383 packaged_with="driver", 

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

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

386 ), 

387)