nvmath-python 1.0.0__cp314-cp314t-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. nvmath/__init__.pxd +0 -0
  2. nvmath/__init__.py +45 -0
  3. nvmath/_internal/__init__.py +0 -0
  4. nvmath/_internal/attribute_ifc_factory.py +330 -0
  5. nvmath/_internal/layout.py +70 -0
  6. nvmath/_internal/templates.py +130 -0
  7. nvmath/_internal/threadsafe.py +106 -0
  8. nvmath/_internal/utils.py +43 -0
  9. nvmath/_internal/workspace.py +490 -0
  10. nvmath/_utils.py +147 -0
  11. nvmath/bindings/__init__.py +60 -0
  12. nvmath/bindings/_internal/__init__.pxd +0 -0
  13. nvmath/bindings/_internal/__init__.py +0 -0
  14. nvmath/bindings/_internal/common_types.pxd +31 -0
  15. nvmath/bindings/_internal/cublas.cp314t-win_amd64.pyd +0 -0
  16. nvmath/bindings/_internal/cublas.pxd +530 -0
  17. nvmath/bindings/_internal/cublasLt.cp314t-win_amd64.pyd +0 -0
  18. nvmath/bindings/_internal/cublasLt.pxd +59 -0
  19. nvmath/bindings/_internal/cublasMp.pxd +52 -0
  20. nvmath/bindings/_internal/cudss.cp314t-win_amd64.pyd +0 -0
  21. nvmath/bindings/_internal/cudss.pxd +54 -0
  22. nvmath/bindings/_internal/cufft.cp314t-win_amd64.pyd +0 -0
  23. nvmath/bindings/_internal/cufft.pxd +70 -0
  24. nvmath/bindings/_internal/cufftMp.pxd +77 -0
  25. nvmath/bindings/_internal/curand.cp314t-win_amd64.pyd +0 -0
  26. nvmath/bindings/_internal/curand.pxd +42 -0
  27. nvmath/bindings/_internal/cusolver.cp314t-win_amd64.pyd +0 -0
  28. nvmath/bindings/_internal/cusolver.pxd +15 -0
  29. nvmath/bindings/_internal/cusolverDn.cp314t-win_amd64.pyd +0 -0
  30. nvmath/bindings/_internal/cusolverDn.pxd +406 -0
  31. nvmath/bindings/_internal/cusolverMp.pxd +71 -0
  32. nvmath/bindings/_internal/cusolverSp.cp314t-win_amd64.pyd +0 -0
  33. nvmath/bindings/_internal/cusolverSp.pxd +75 -0
  34. nvmath/bindings/_internal/cusparse.cp314t-win_amd64.pyd +0 -0
  35. nvmath/bindings/_internal/cusparse.pxd +471 -0
  36. nvmath/bindings/_internal/cusparseLt.cp314t-win_amd64.pyd +0 -0
  37. nvmath/bindings/_internal/cusparseLt.pxd +48 -0
  38. nvmath/bindings/_internal/cutensor.cp314t-win_amd64.pyd +0 -0
  39. nvmath/bindings/_internal/cutensor.pxd +58 -0
  40. nvmath/bindings/_internal/mathdx.cp314t-win_amd64.pyd +0 -0
  41. nvmath/bindings/_internal/mathdx.pxd +116 -0
  42. nvmath/bindings/_internal/nvshmem.pxd +29 -0
  43. nvmath/bindings/_internal/utils.cp314t-win_amd64.pyd +0 -0
  44. nvmath/bindings/_internal/utils.pxd +174 -0
  45. nvmath/bindings/_internal/utils.pyi +10 -0
  46. nvmath/bindings/cublas.cp314t-win_amd64.pyd +0 -0
  47. nvmath/bindings/cublas.pxd +558 -0
  48. nvmath/bindings/cublas.pyi +812 -0
  49. nvmath/bindings/cublasLt.cp314t-win_amd64.pyd +0 -0
  50. nvmath/bindings/cublasLt.pxd +109 -0
  51. nvmath/bindings/cublasLt.pyi +1461 -0
  52. nvmath/bindings/cublasMp.pxd +85 -0
  53. nvmath/bindings/cublasMp.pyi +267 -0
  54. nvmath/bindings/cudss.cp314t-win_amd64.pyd +0 -0
  55. nvmath/bindings/cudss.pxd +98 -0
  56. nvmath/bindings/cudss.pyi +443 -0
  57. nvmath/bindings/cufft.cp314t-win_amd64.pyd +0 -0
  58. nvmath/bindings/cufft.pxd +118 -0
  59. nvmath/bindings/cufft.pyi +301 -0
  60. nvmath/bindings/cufftMp.pxd +124 -0
  61. nvmath/bindings/cufftMp.pyi +326 -0
  62. nvmath/bindings/curand.cp314t-win_amd64.pyd +0 -0
  63. nvmath/bindings/curand.pxd +71 -0
  64. nvmath/bindings/curand.pyi +189 -0
  65. nvmath/bindings/cusolver.cp314t-win_amd64.pyd +0 -0
  66. nvmath/bindings/cusolver.pxd +62 -0
  67. nvmath/bindings/cusolver.pyi +320 -0
  68. nvmath/bindings/cusolverDn.cp314t-win_amd64.pyd +0 -0
  69. nvmath/bindings/cusolverDn.pxd +430 -0
  70. nvmath/bindings/cusolverDn.pyi +422 -0
  71. nvmath/bindings/cusolverMp.pxd +98 -0
  72. nvmath/bindings/cusolverMp.pyi +114 -0
  73. nvmath/bindings/cusolverSp.cp314t-win_amd64.pyd +0 -0
  74. nvmath/bindings/cusolverSp.pxd +95 -0
  75. nvmath/bindings/cusolverSp.pyi +70 -0
  76. nvmath/bindings/cusparse.cp314t-win_amd64.pyd +0 -0
  77. nvmath/bindings/cusparse.pxd +546 -0
  78. nvmath/bindings/cusparse.pyi +1017 -0
  79. nvmath/bindings/cusparseLt.cp314t-win_amd64.pyd +0 -0
  80. nvmath/bindings/cusparseLt.pxd +99 -0
  81. nvmath/bindings/cusparseLt.pyi +252 -0
  82. nvmath/bindings/cutensor.cp314t-win_amd64.pyd +0 -0
  83. nvmath/bindings/cutensor.pxd +98 -0
  84. nvmath/bindings/cutensor.pyi +324 -0
  85. nvmath/bindings/cycublas.cp314t-win_amd64.pyd +0 -0
  86. nvmath/bindings/cycublas.pxd +664 -0
  87. nvmath/bindings/cycublasLt.cp314t-win_amd64.pyd +0 -0
  88. nvmath/bindings/cycublasLt.pxd +1045 -0
  89. nvmath/bindings/cycublasMp.pxd +171 -0
  90. nvmath/bindings/cycudss.cp314t-win_amd64.pyd +0 -0
  91. nvmath/bindings/cycudss.pxd +277 -0
  92. nvmath/bindings/cycufft.cp314t-win_amd64.pyd +0 -0
  93. nvmath/bindings/cycufft.pxd +333 -0
  94. nvmath/bindings/cycufftMp.pxd +342 -0
  95. nvmath/bindings/cycurand.cp314t-win_amd64.pyd +0 -0
  96. nvmath/bindings/cycurand.pxd +141 -0
  97. nvmath/bindings/cycusolver.cp314t-win_amd64.pyd +0 -0
  98. nvmath/bindings/cycusolver.pxd +137 -0
  99. nvmath/bindings/cycusolverDn.cp314t-win_amd64.pyd +0 -0
  100. nvmath/bindings/cycusolverDn.pxd +443 -0
  101. nvmath/bindings/cycusolverMp.pxd +107 -0
  102. nvmath/bindings/cycusolverSp.cp314t-win_amd64.pyd +0 -0
  103. nvmath/bindings/cycusolverSp.pxd +93 -0
  104. nvmath/bindings/cycusparse.cp314t-win_amd64.pyd +0 -0
  105. nvmath/bindings/cycusparse.pxd +679 -0
  106. nvmath/bindings/cycusparseLt.cp314t-win_amd64.pyd +0 -0
  107. nvmath/bindings/cycusparseLt.pxd +135 -0
  108. nvmath/bindings/cycutensor.cp314t-win_amd64.pyd +0 -0
  109. nvmath/bindings/cycutensor.pxd +189 -0
  110. nvmath/bindings/cymathdx.cp314t-win_amd64.pyd +0 -0
  111. nvmath/bindings/cymathdx.pxd +552 -0
  112. nvmath/bindings/cynvshmem.pxd +118 -0
  113. nvmath/bindings/mathdx.cp314t-win_amd64.pyd +0 -0
  114. nvmath/bindings/mathdx.pxd +182 -0
  115. nvmath/bindings/mathdx.pyi +1562 -0
  116. nvmath/bindings/nvpl/__init__.pxd +0 -0
  117. nvmath/bindings/nvpl/__init__.py +13 -0
  118. nvmath/bindings/nvpl/_internal/__init__.pxd +0 -0
  119. nvmath/bindings/nvpl/_internal/__init__.py +0 -0
  120. nvmath/bindings/nvpl/_internal/blas.cp314t-win_amd64.pyd +0 -0
  121. nvmath/bindings/nvpl/_internal/blas.pxd +237 -0
  122. nvmath/bindings/nvpl/_internal/fft.cp314t-win_amd64.pyd +0 -0
  123. nvmath/bindings/nvpl/_internal/fft.pxd +36 -0
  124. nvmath/bindings/nvpl/blas.cp314t-win_amd64.pyd +0 -0
  125. nvmath/bindings/nvpl/blas.pxd +131 -0
  126. nvmath/bindings/nvpl/blas.pyi +168 -0
  127. nvmath/bindings/nvpl/cyblas.cp314t-win_amd64.pyd +0 -0
  128. nvmath/bindings/nvpl/cyblas.pxd +280 -0
  129. nvmath/bindings/nvpl/cyfft.cp314t-win_amd64.pyd +0 -0
  130. nvmath/bindings/nvpl/cyfft.pxd +93 -0
  131. nvmath/bindings/nvpl/fft.cp314t-win_amd64.pyd +0 -0
  132. nvmath/bindings/nvpl/fft.pxd +100 -0
  133. nvmath/bindings/nvpl/fft.pyi +168 -0
  134. nvmath/bindings/nvshmem.pxd +54 -0
  135. nvmath/bindings/nvshmem.pyi +191 -0
  136. nvmath/device/__init__.py +38 -0
  137. nvmath/device/_deprecated.py +33 -0
  138. nvmath/device/common.py +315 -0
  139. nvmath/device/common_backend.py +131 -0
  140. nvmath/device/common_cuda.py +201 -0
  141. nvmath/device/common_numba.py +300 -0
  142. nvmath/device/common_numba_cuda_mlir.py +202 -0
  143. nvmath/device/common_opaque_tensor.py +201 -0
  144. nvmath/device/cublasdx.py +1606 -0
  145. nvmath/device/cublasdx_backend.py +860 -0
  146. nvmath/device/cublasdx_numba.py +1534 -0
  147. nvmath/device/cublasdx_numba_cuda_mlir.py +208 -0
  148. nvmath/device/cufftdx.py +373 -0
  149. nvmath/device/cufftdx_backend.py +220 -0
  150. nvmath/device/cufftdx_numba.py +140 -0
  151. nvmath/device/cufftdx_numba_cuda_mlir.py +79 -0
  152. nvmath/device/curand_kernel.py +9147 -0
  153. nvmath/device/cusolverdx.py +2708 -0
  154. nvmath/device/cusolverdx_backend.py +440 -0
  155. nvmath/device/cusolverdx_numba.py +567 -0
  156. nvmath/device/cusolverdx_numba_cuda_mlir.py +604 -0
  157. nvmath/device/cusolverdx_overload_backend.py +1029 -0
  158. nvmath/device/llvm_array.py +29 -0
  159. nvmath/device/random.py +441 -0
  160. nvmath/device/random_helpers.py +23 -0
  161. nvmath/device/random_states.py +187 -0
  162. nvmath/device/types.py +138 -0
  163. nvmath/device/vector_types_numba.py +259 -0
  164. nvmath/distributed/__init__.py +200 -0
  165. nvmath/distributed/_internal/__init__.py +0 -0
  166. nvmath/distributed/_internal/nccl.py +86 -0
  167. nvmath/distributed/_internal/nvshmem.py +307 -0
  168. nvmath/distributed/_internal/symmetric_memory.py +35 -0
  169. nvmath/distributed/_internal/tensor_ifc.py +70 -0
  170. nvmath/distributed/_internal/tensor_ifc_cupy.py +68 -0
  171. nvmath/distributed/_internal/tensor_ifc_host_device.py +172 -0
  172. nvmath/distributed/_internal/tensor_ifc_numpy.py +46 -0
  173. nvmath/distributed/_internal/tensor_ifc_torch.py +162 -0
  174. nvmath/distributed/_internal/tensor_wrapper.py +81 -0
  175. nvmath/distributed/_utils.py +167 -0
  176. nvmath/distributed/distribution/__init__.py +30 -0
  177. nvmath/distributed/distribution/_configuration.py +39 -0
  178. nvmath/distributed/distribution/distributions.py +1024 -0
  179. nvmath/distributed/distribution/redistribute.py +1284 -0
  180. nvmath/distributed/fft/__init__.py +7 -0
  181. nvmath/distributed/fft/_configuration.py +82 -0
  182. nvmath/distributed/fft/fft.py +2742 -0
  183. nvmath/distributed/linalg/__init__.py +22 -0
  184. nvmath/distributed/linalg/_internal/__init__.py +3 -0
  185. nvmath/distributed/linalg/_internal/epilog_protocol.py +586 -0
  186. nvmath/distributed/linalg/_internal/matmul_desc_ifc.py +28 -0
  187. nvmath/distributed/linalg/advanced/__init__.py +8 -0
  188. nvmath/distributed/linalg/advanced/_configuration.py +171 -0
  189. nvmath/distributed/linalg/advanced/matmulmod.py +3573 -0
  190. nvmath/distributed/linalg/generic/__init__.py +8 -0
  191. nvmath/distributed/linalg/generic/_caching.py +66 -0
  192. nvmath/distributed/linalg/generic/_configuration.py +61 -0
  193. nvmath/distributed/linalg/generic/_factorization.py +172 -0
  194. nvmath/distributed/linalg/generic/_initialization.py +966 -0
  195. nvmath/distributed/linalg/generic/_problem_spec.py +511 -0
  196. nvmath/distributed/linalg/generic/solvermod.py +1368 -0
  197. nvmath/distributed/process_group.py +408 -0
  198. nvmath/fft/__init__.py +7 -0
  199. nvmath/fft/_configuration.py +189 -0
  200. nvmath/fft/_exec_utils.py +82 -0
  201. nvmath/fft/_helpers.py +237 -0
  202. nvmath/fft/fft.py +3122 -0
  203. nvmath/internal/__init__.pxd +3 -0
  204. nvmath/internal/__init__.py +10 -0
  205. nvmath/internal/_bindings.cp314t-win_amd64.pyd +0 -0
  206. nvmath/internal/_bindings.pxd +18 -0
  207. nvmath/internal/_device_utils.py +45 -0
  208. nvmath/internal/_layout/__init__.pxd +3 -0
  209. nvmath/internal/_layout/__init__.py +7 -0
  210. nvmath/internal/_layout/_layout.cp314t-win_amd64.pyd +0 -0
  211. nvmath/internal/_layout/_layout.pxd +1303 -0
  212. nvmath/internal/_layout/_layout.pyi +1145 -0
  213. nvmath/internal/enum_utils.py +142 -0
  214. nvmath/internal/formatters.py +87 -0
  215. nvmath/internal/mem_limit.py +51 -0
  216. nvmath/internal/memory.cp314t-win_amd64.pyd +0 -0
  217. nvmath/internal/memory.pxd +13 -0
  218. nvmath/internal/memory.pyi +50 -0
  219. nvmath/internal/ndbuffer/__init__.pxd +3 -0
  220. nvmath/internal/ndbuffer/__init__.py +9 -0
  221. nvmath/internal/ndbuffer/_copy_kernel.cp314t-win_amd64.pyd +0 -0
  222. nvmath/internal/ndbuffer/_copy_kernel.pxd +10 -0
  223. nvmath/internal/ndbuffer/_jit.cp314t-win_amd64.pyd +0 -0
  224. nvmath/internal/ndbuffer/_jit.pxd +7 -0
  225. nvmath/internal/ndbuffer/_ndbuffer.cp314t-win_amd64.pyd +0 -0
  226. nvmath/internal/ndbuffer/_ndbuffer.pxd +40 -0
  227. nvmath/internal/ndbuffer/_ndbuffer.pyi +463 -0
  228. nvmath/internal/ndbuffer/copy_kernel/args.h +34 -0
  229. nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/array_view.h +52 -0
  230. nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/elementwise.h +68 -0
  231. nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/grid_indexer.h +69 -0
  232. nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/transposed.h +242 -0
  233. nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/type_utils.h +39 -0
  234. nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/utils.h +132 -0
  235. nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/vec.h +159 -0
  236. nvmath/internal/ndbuffer/copy_kernel/elementwise.h +53 -0
  237. nvmath/internal/ndbuffer/copy_kernel/transposed.h +58 -0
  238. nvmath/internal/package_ifc.py +168 -0
  239. nvmath/internal/package_ifc_cuda.py +57 -0
  240. nvmath/internal/package_ifc_cupy.py +67 -0
  241. nvmath/internal/package_ifc_torch.py +69 -0
  242. nvmath/internal/package_wrapper.py +14 -0
  243. nvmath/internal/tensor_ifc.py +179 -0
  244. nvmath/internal/tensor_ifc_cupy.py +234 -0
  245. nvmath/internal/tensor_ifc_ndbuffer.py +147 -0
  246. nvmath/internal/tensor_ifc_numpy.py +184 -0
  247. nvmath/internal/tensor_ifc_torch.py +178 -0
  248. nvmath/internal/tensor_wrapper.py +160 -0
  249. nvmath/internal/typemaps.py +113 -0
  250. nvmath/internal/utils.py +805 -0
  251. nvmath/linalg/__init__.py +56 -0
  252. nvmath/linalg/_internal/__init__.py +3 -0
  253. nvmath/linalg/_internal/algo_cap_ifc.py +82 -0
  254. nvmath/linalg/_internal/algo_config_ifc.py +43 -0
  255. nvmath/linalg/_internal/batch.py +234 -0
  256. nvmath/linalg/_internal/enum_to_tuples.py +64 -0
  257. nvmath/linalg/_internal/epilog_protocol.py +766 -0
  258. nvmath/linalg/_internal/layout.py +624 -0
  259. nvmath/linalg/_internal/matmul_desc_ifc.py +28 -0
  260. nvmath/linalg/_internal/matmul_pref_ifc.py +27 -0
  261. nvmath/linalg/_internal/matrix_layout_ifc.py +26 -0
  262. nvmath/linalg/_internal/solver_utils.py +432 -0
  263. nvmath/linalg/_internal/typemaps.py +144 -0
  264. nvmath/linalg/_internal/utils.py +157 -0
  265. nvmath/linalg/advanced/__init__.py +8 -0
  266. nvmath/linalg/advanced/_algorithmmod.py +170 -0
  267. nvmath/linalg/advanced/_configuration.py +351 -0
  268. nvmath/linalg/advanced/helpers/__init__.py +5 -0
  269. nvmath/linalg/advanced/helpers/matmul.py +1316 -0
  270. nvmath/linalg/advanced/matmulmod.py +3734 -0
  271. nvmath/linalg/generic/__init__.py +53 -0
  272. nvmath/linalg/generic/_configuration/__init__.py +39 -0
  273. nvmath/linalg/generic/_configuration/layout.py +263 -0
  274. nvmath/linalg/generic/_configuration/match.py +734 -0
  275. nvmath/linalg/generic/_configuration/qualifiers.py +493 -0
  276. nvmath/linalg/generic/_configuration/solver_configuration.py +59 -0
  277. nvmath/linalg/generic/_configuration/wrap.py +217 -0
  278. nvmath/linalg/generic/_dtype.py +15 -0
  279. nvmath/linalg/generic/matmulmod.py +2094 -0
  280. nvmath/linalg/generic/solvermod.py +1301 -0
  281. nvmath/memory.py +279 -0
  282. nvmath/sparse/__init__.py +38 -0
  283. nvmath/sparse/_internal/__init__.py +21 -0
  284. nvmath/sparse/_internal/common_utils.py +147 -0
  285. nvmath/sparse/_internal/cudss_config_ifc.py +702 -0
  286. nvmath/sparse/_internal/cudss_data_ifc.py +399 -0
  287. nvmath/sparse/_internal/cudss_utils.py +506 -0
  288. nvmath/sparse/_internal/cusparse_utils.py +382 -0
  289. nvmath/sparse/_internal/sparse_bsc_ifc.py +303 -0
  290. nvmath/sparse/_internal/sparse_bsr_ifc.py +305 -0
  291. nvmath/sparse/_internal/sparse_coo_ifc.py +256 -0
  292. nvmath/sparse/_internal/sparse_csc_ifc.py +268 -0
  293. nvmath/sparse/_internal/sparse_csr_ifc.py +288 -0
  294. nvmath/sparse/_internal/sparse_dia_ifc.py +242 -0
  295. nvmath/sparse/_internal/sparse_format_helpers.py +601 -0
  296. nvmath/sparse/_internal/sparse_tensor_ifc.py +133 -0
  297. nvmath/sparse/_internal/sparse_ust_ifc.py +141 -0
  298. nvmath/sparse/_internal/utils.py +56 -0
  299. nvmath/sparse/advanced/__init__.py +7 -0
  300. nvmath/sparse/advanced/_configuration.py +227 -0
  301. nvmath/sparse/advanced/direct_solver.py +2069 -0
  302. nvmath/sparse/generic/__init__.py +7 -0
  303. nvmath/sparse/generic/_configuration.py +129 -0
  304. nvmath/sparse/generic/_helpers.py +137 -0
  305. nvmath/sparse/generic/_thunks.py +21 -0
  306. nvmath/sparse/generic/matmulmod.py +2353 -0
  307. nvmath/sparse/ust/__init__.py +7 -0
  308. nvmath/sparse/ust/_converters.py +422 -0
  309. nvmath/sparse/ust/_cpp.py +28 -0
  310. nvmath/sparse/ust/_drawer.py +565 -0
  311. nvmath/sparse/ust/_emitter.py +1033 -0
  312. nvmath/sparse/ust/_jit.py +188 -0
  313. nvmath/sparse/ust/_kernel.py +282 -0
  314. nvmath/sparse/ust/_utils.py +149 -0
  315. nvmath/sparse/ust/interfaces/__init__.py +0 -0
  316. nvmath/sparse/ust/interfaces/torch_interface.py +476 -0
  317. nvmath/sparse/ust/tensor.py +1016 -0
  318. nvmath/sparse/ust/tensor_format.py +957 -0
  319. nvmath/tensor/__init__.py +6 -0
  320. nvmath/tensor/_configuration.py +120 -0
  321. nvmath/tensor/_internal/__init__.py +3 -0
  322. nvmath/tensor/_internal/cutensor_config_ifc.py +279 -0
  323. nvmath/tensor/_internal/cutensor_utils.py +230 -0
  324. nvmath/tensor/_internal/data.py +43 -0
  325. nvmath/tensor/_internal/einsum_parser.py +444 -0
  326. nvmath/tensor/_internal/typemaps.py +96 -0
  327. nvmath/tensor/contract.py +1900 -0
  328. nvmath_python-1.0.0.dist-info/METADATA +134 -0
  329. nvmath_python-1.0.0.dist-info/RECORD +332 -0
  330. nvmath_python-1.0.0.dist-info/WHEEL +5 -0
  331. nvmath_python-1.0.0.dist-info/licenses/LICENSE +177 -0
  332. nvmath_python-1.0.0.dist-info/top_level.txt +2 -0
@@ -0,0 +1,171 @@
1
+ # Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. ALL RIGHTS RESERVED.
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+ #
5
+ # This code was automatically generated with version 0.8.0, generator version 0.3.1.dev1471+g7122059e9. Do not modify it directly.
6
+ # This layer exposes the C header to Cython as-is.
7
+
8
+ from libc.stdint cimport int64_t, uint32_t, uint64_t, intptr_t
9
+
10
+ from ._internal.common_types cimport cudaDataType, cudaDataType_t, cudaStream_t, libraryPropertyType, libraryPropertyType_t, cuComplex, cuDoubleComplex
11
+ from .cycublas cimport (cublasComputeType_t, cublasOperation_t, cublasFillMode_t, cublasSideMode_t,
12
+ cublasDiagType_t,)
13
+
14
+ ###############################################################################
15
+ # Types (structs, enums, ...)
16
+ ###############################################################################
17
+
18
+ # enums
19
+ ctypedef enum cublasMpStatus_t "cublasMpStatus_t":
20
+ CUBLASMP_STATUS_SUCCESS "CUBLASMP_STATUS_SUCCESS" = 0
21
+ CUBLASMP_STATUS_NOT_INITIALIZED "CUBLASMP_STATUS_NOT_INITIALIZED" = 1
22
+ CUBLASMP_STATUS_ALLOCATION_FAILED "CUBLASMP_STATUS_ALLOCATION_FAILED" = 2
23
+ CUBLASMP_STATUS_INVALID_VALUE "CUBLASMP_STATUS_INVALID_VALUE" = 3
24
+ CUBLASMP_STATUS_ARCHITECTURE_MISMATCH "CUBLASMP_STATUS_ARCHITECTURE_MISMATCH" = 4
25
+ CUBLASMP_STATUS_EXECUTION_FAILED "CUBLASMP_STATUS_EXECUTION_FAILED" = 5
26
+ CUBLASMP_STATUS_INTERNAL_ERROR "CUBLASMP_STATUS_INTERNAL_ERROR" = 6
27
+ CUBLASMP_STATUS_NOT_SUPPORTED "CUBLASMP_STATUS_NOT_SUPPORTED" = 7
28
+ _CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR "_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR" = -42
29
+
30
+ ctypedef enum cublasMpGridLayout_t "cublasMpGridLayout_t":
31
+ CUBLASMP_GRID_LAYOUT_COL_MAJOR "CUBLASMP_GRID_LAYOUT_COL_MAJOR" = 0
32
+ CUBLASMP_GRID_LAYOUT_ROW_MAJOR "CUBLASMP_GRID_LAYOUT_ROW_MAJOR" = 1
33
+
34
+ ctypedef enum cublasMpMatmulDescriptorAttribute_t "cublasMpMatmulDescriptorAttribute_t":
35
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_TRANSA "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_TRANSA" = 0
36
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_TRANSB "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_TRANSB" = 1
37
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_COMPUTE_TYPE "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_COMPUTE_TYPE" = 2
38
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_ALGO_TYPE "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_ALGO_TYPE" = 3
39
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_COMMUNICATION_SM_COUNT "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_COMMUNICATION_SM_COUNT" = 4
40
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_EPILOGUE "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_EPILOGUE" = 5
41
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_BIAS_POINTER "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_BIAS_POINTER" = 6
42
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_BIAS_BATCH_STRIDE "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_BIAS_BATCH_STRIDE" = 7
43
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_BIAS_DATA_TYPE "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_BIAS_DATA_TYPE" = 8
44
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_EPILOGUE_AUX_POINTER "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_EPILOGUE_AUX_POINTER" = 9
45
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_EPILOGUE_AUX_LD "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_EPILOGUE_AUX_LD" = 10
46
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_EPILOGUE_AUX_BATCH_STRIDE "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_EPILOGUE_AUX_BATCH_STRIDE" = 11
47
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_EPILOGUE_AUX_DATA_TYPE "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_EPILOGUE_AUX_DATA_TYPE" = 12
48
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_EPILOGUE_AUX_SCALE_POINTER "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_EPILOGUE_AUX_SCALE_POINTER" = 13
49
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_EPILOGUE_AUX_AMAX_POINTER "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_EPILOGUE_AUX_AMAX_POINTER" = 14
50
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_EPILOGUE_AUX_SCALE_MODE "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_EPILOGUE_AUX_SCALE_MODE" = 15
51
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_A_SCALE_POINTER "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_A_SCALE_POINTER" = 16
52
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_A_SCALE_MODE "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_A_SCALE_MODE" = 17
53
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_B_SCALE_POINTER "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_B_SCALE_POINTER" = 18
54
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_B_SCALE_MODE "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_B_SCALE_MODE" = 19
55
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_C_SCALE_POINTER "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_C_SCALE_POINTER" = 20
56
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_C_SCALE_MODE "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_C_SCALE_MODE" = 21
57
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_D_SCALE_POINTER "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_D_SCALE_POINTER" = 22
58
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_D_SCALE_MODE "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_D_SCALE_MODE" = 23
59
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_AMAX_D_POINTER "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_AMAX_D_POINTER" = 24
60
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_D_OUT_SCALE_POINTER "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_D_OUT_SCALE_POINTER" = 25
61
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_D_OUT_SCALE_MODE "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_D_OUT_SCALE_MODE" = 26
62
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_COMMUNICATION_TYPE "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_COMMUNICATION_TYPE" = 27
63
+ CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_BIAS_RESULT_SCHEME "CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_BIAS_RESULT_SCHEME" = 28
64
+
65
+ ctypedef enum cublasMpMatmulAlgoType_t "cublasMpMatmulAlgoType_t":
66
+ CUBLASMP_MATMUL_ALGO_TYPE_DEFAULT "CUBLASMP_MATMUL_ALGO_TYPE_DEFAULT" = 0
67
+ CUBLASMP_MATMUL_ALGO_TYPE_SPLIT_P2P "CUBLASMP_MATMUL_ALGO_TYPE_SPLIT_P2P" = 1
68
+ CUBLASMP_MATMUL_ALGO_TYPE_SPLIT_MULTICAST "CUBLASMP_MATMUL_ALGO_TYPE_SPLIT_MULTICAST" = 2
69
+ CUBLASMP_MATMUL_ALGO_TYPE_ATOMIC_P2P "CUBLASMP_MATMUL_ALGO_TYPE_ATOMIC_P2P" = 3
70
+ CUBLASMP_MATMUL_ALGO_TYPE_ATOMIC_MULTICAST "CUBLASMP_MATMUL_ALGO_TYPE_ATOMIC_MULTICAST" = 4
71
+ CUBLASMP_MATMUL_ALGO_TYPE_NO_OVERLAP "CUBLASMP_MATMUL_ALGO_TYPE_NO_OVERLAP" = 5
72
+
73
+ ctypedef enum cublasMpMatmulEpilogue_t "cublasMpMatmulEpilogue_t":
74
+ CUBLASMP_MATMUL_EPILOGUE_DEFAULT "CUBLASMP_MATMUL_EPILOGUE_DEFAULT" = 0
75
+ CUBLASMP_MATMUL_EPILOGUE_ALLREDUCE "CUBLASMP_MATMUL_EPILOGUE_ALLREDUCE" = 1
76
+ CUBLASMP_MATMUL_EPILOGUE_RELU "CUBLASMP_MATMUL_EPILOGUE_RELU" = 2
77
+ CUBLASMP_MATMUL_EPILOGUE_RELU_AUX "CUBLASMP_MATMUL_EPILOGUE_RELU_AUX" = (CUBLASMP_MATMUL_EPILOGUE_RELU | 128)
78
+ CUBLASMP_MATMUL_EPILOGUE_BIAS "CUBLASMP_MATMUL_EPILOGUE_BIAS" = 4
79
+ CUBLASMP_MATMUL_EPILOGUE_RELU_BIAS "CUBLASMP_MATMUL_EPILOGUE_RELU_BIAS" = (CUBLASMP_MATMUL_EPILOGUE_RELU | CUBLASMP_MATMUL_EPILOGUE_BIAS)
80
+ CUBLASMP_MATMUL_EPILOGUE_RELU_AUX_BIAS "CUBLASMP_MATMUL_EPILOGUE_RELU_AUX_BIAS" = (CUBLASMP_MATMUL_EPILOGUE_RELU_AUX | CUBLASMP_MATMUL_EPILOGUE_BIAS)
81
+ CUBLASMP_MATMUL_EPILOGUE_DRELU "CUBLASMP_MATMUL_EPILOGUE_DRELU" = (8 | 128)
82
+ CUBLASMP_MATMUL_EPILOGUE_DRELU_BGRAD "CUBLASMP_MATMUL_EPILOGUE_DRELU_BGRAD" = (CUBLASMP_MATMUL_EPILOGUE_DRELU | 16)
83
+ CUBLASMP_MATMUL_EPILOGUE_GELU "CUBLASMP_MATMUL_EPILOGUE_GELU" = 32
84
+ CUBLASMP_MATMUL_EPILOGUE_GELU_AUX "CUBLASMP_MATMUL_EPILOGUE_GELU_AUX" = (CUBLASMP_MATMUL_EPILOGUE_GELU | 128)
85
+ CUBLASMP_MATMUL_EPILOGUE_GELU_BIAS "CUBLASMP_MATMUL_EPILOGUE_GELU_BIAS" = (CUBLASMP_MATMUL_EPILOGUE_GELU | CUBLASMP_MATMUL_EPILOGUE_BIAS)
86
+ CUBLASMP_MATMUL_EPILOGUE_GELU_AUX_BIAS "CUBLASMP_MATMUL_EPILOGUE_GELU_AUX_BIAS" = (CUBLASMP_MATMUL_EPILOGUE_GELU_AUX | CUBLASMP_MATMUL_EPILOGUE_BIAS)
87
+ CUBLASMP_MATMUL_EPILOGUE_DGELU "CUBLASMP_MATMUL_EPILOGUE_DGELU" = (64 | 128)
88
+ CUBLASMP_MATMUL_EPILOGUE_DGELU_BGRAD "CUBLASMP_MATMUL_EPILOGUE_DGELU_BGRAD" = (CUBLASMP_MATMUL_EPILOGUE_DGELU | 16)
89
+ CUBLASMP_MATMUL_EPILOGUE_BGRADA "CUBLASMP_MATMUL_EPILOGUE_BGRADA" = 256
90
+ CUBLASMP_MATMUL_EPILOGUE_BGRADB "CUBLASMP_MATMUL_EPILOGUE_BGRADB" = 512
91
+
92
+ ctypedef enum cublasMpMatmulMatrixScale_t "cublasMpMatmulMatrixScale_t":
93
+ CUBLASMP_MATMUL_MATRIX_SCALE_SCALAR_FP32 "CUBLASMP_MATMUL_MATRIX_SCALE_SCALAR_FP32" = 0
94
+ CUBLASMP_MATMUL_MATRIX_SCALE_VEC16_UE4M3 "CUBLASMP_MATMUL_MATRIX_SCALE_VEC16_UE4M3" = 1
95
+ CUBLASMP_MATMUL_MATRIX_SCALE_VEC32_UE8M0 "CUBLASMP_MATMUL_MATRIX_SCALE_VEC32_UE8M0" = 2
96
+ CUBLASMP_MATMUL_MATRIX_SCALE_OUTER_VEC_FP32 "CUBLASMP_MATMUL_MATRIX_SCALE_OUTER_VEC_FP32" = 3
97
+ CUBLASMP_MATMUL_MATRIX_SCALE_VEC128_FP32 "CUBLASMP_MATMUL_MATRIX_SCALE_VEC128_FP32" = 4
98
+ CUBLASMP_MATMUL_MATRIX_SCALE_BLK128x128_FP32 "CUBLASMP_MATMUL_MATRIX_SCALE_BLK128x128_FP32" = 5
99
+
100
+ ctypedef enum cublasMpEmulationStrategy_t "cublasMpEmulationStrategy_t":
101
+ CUBLASMP_EMULATION_STRATEGY_DEFAULT "CUBLASMP_EMULATION_STRATEGY_DEFAULT" = 0
102
+ CUBLASMP_EMULATION_STRATEGY_PERFORMANT "CUBLASMP_EMULATION_STRATEGY_PERFORMANT" = 1
103
+ CUBLASMP_EMULATION_STRATEGY_EAGER "CUBLASMP_EMULATION_STRATEGY_EAGER" = 2
104
+
105
+ ctypedef enum cublasMpResultScheme_t "cublasMpResultScheme_t":
106
+ CUBLASMP_RESULT_SCHEME_DEFAULT "CUBLASMP_RESULT_SCHEME_DEFAULT" = 0
107
+ CUBLASMP_RESULT_SCHEME_PARTIAL "CUBLASMP_RESULT_SCHEME_PARTIAL" = 1
108
+ CUBLASMP_RESULT_SCHEME_FULL "CUBLASMP_RESULT_SCHEME_FULL" = 2
109
+
110
+
111
+ # types
112
+ ctypedef void* ncclComm_t 'ncclComm_t'
113
+
114
+ ctypedef void* cublasMpHandle_t 'cublasMpHandle_t'
115
+
116
+ ctypedef void* cublasMpGrid_t 'cublasMpGrid_t'
117
+
118
+ ctypedef void* cublasMpMatrixDescriptor_t 'cublasMpMatrixDescriptor_t'
119
+
120
+ ctypedef void* cublasMpMatmulDescriptor_t 'cublasMpMatmulDescriptor_t'
121
+
122
+ ctypedef void (*cublasMpLoggerCallback_t 'cublasMpLoggerCallback_t')(
123
+ int logLevel,
124
+ const char* functionName,
125
+ const char* message
126
+ )
127
+
128
+
129
+ ###############################################################################
130
+ # Functions
131
+ ###############################################################################
132
+
133
+ cdef cublasMpStatus_t cublasMpCreate(cublasMpHandle_t* handle, cudaStream_t stream) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
134
+ cdef cublasMpStatus_t cublasMpDestroy(cublasMpHandle_t handle) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
135
+ cdef cublasMpStatus_t cublasMpSetStream(cublasMpHandle_t handle, cudaStream_t stream) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
136
+ cdef cublasMpStatus_t cublasMpGetStream(cublasMpHandle_t handle, cudaStream_t* stream) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
137
+ cdef cublasMpStatus_t cublasMpSetEmulationStrategy(cublasMpHandle_t handle, cublasMpEmulationStrategy_t emulationStrategy) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
138
+ cdef cublasMpStatus_t cublasMpGetEmulationStrategy(cublasMpHandle_t handle, cublasMpEmulationStrategy_t* emulationStrategy) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
139
+ cdef cublasMpStatus_t cublasMpGetVersion(int* version) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
140
+ cdef cublasMpStatus_t cublasMpGridCreate(int64_t nprow, int64_t npcol, cublasMpGridLayout_t layout, ncclComm_t comm, cublasMpGrid_t* grid) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
141
+ cdef cublasMpStatus_t cublasMpGridDestroy(cublasMpGrid_t grid) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
142
+ cdef cublasMpStatus_t cublasMpBufferRegister(cublasMpGrid_t grid, void* ptr, size_t size) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
143
+ cdef cublasMpStatus_t cublasMpBufferDeregister(cublasMpGrid_t grid, void* ptr) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
144
+ cdef cublasMpStatus_t cublasMpMatrixDescriptorCreate(int64_t m, int64_t n, int64_t mb, int64_t nb, int64_t rsrc, int64_t csrc, int64_t lld, cudaDataType_t type, cublasMpGrid_t grid, cublasMpMatrixDescriptor_t* desc) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
145
+ cdef cublasMpStatus_t cublasMpMatrixDescriptorDestroy(cublasMpMatrixDescriptor_t desc) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
146
+ cdef cublasMpStatus_t cublasMpMatrixDescriptorInit(int64_t m, int64_t n, int64_t mb, int64_t nb, int64_t rsrc, int64_t csrc, int64_t lld, cudaDataType_t type, cublasMpGrid_t grid, cublasMpMatrixDescriptor_t desc) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
147
+ cdef cublasMpStatus_t cublasMpMatmulDescriptorCreate(cublasMpMatmulDescriptor_t* matmulDesc, cublasComputeType_t computeType) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
148
+ cdef cublasMpStatus_t cublasMpMatmulDescriptorDestroy(cublasMpMatmulDescriptor_t matmulDesc) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
149
+ cdef cublasMpStatus_t cublasMpMatmulDescriptorInit(cublasMpMatmulDescriptor_t matmulDesc, cublasComputeType_t computeType) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
150
+ cdef cublasMpStatus_t cublasMpMatmulDescriptorSetAttribute(cublasMpMatmulDescriptor_t matmulDesc, cublasMpMatmulDescriptorAttribute_t attr, const void* buf, size_t sizeInBytes) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
151
+ cdef cublasMpStatus_t cublasMpMatmulDescriptorGetAttribute(cublasMpMatmulDescriptor_t matmulDesc, cublasMpMatmulDescriptorAttribute_t attr, void* buf, size_t sizeInBytes, size_t* sizeWritten) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
152
+ cdef cublasMpStatus_t cublasMpTrsm_bufferSize(cublasMpHandle_t handle, cublasSideMode_t side, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int64_t m, int64_t n, const void* alpha, const void* a, int64_t ia, int64_t ja, cublasMpMatrixDescriptor_t descA, void* b, int64_t ib, int64_t jb, cublasMpMatrixDescriptor_t descB, cublasComputeType_t computeType, size_t* workspaceSizeInBytesOnDevice, size_t* workspaceSizeInBytesOnHost) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
153
+ cdef cublasMpStatus_t cublasMpTrsm(cublasMpHandle_t handle, cublasSideMode_t side, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int64_t m, int64_t n, const void* alpha, const void* a, int64_t ia, int64_t ja, cublasMpMatrixDescriptor_t descA, void* b, int64_t ib, int64_t jb, cublasMpMatrixDescriptor_t descB, cublasComputeType_t computeType, void* d_work, size_t workspaceSizeInBytesOnDevice, void* h_work, size_t workspaceSizeInBytesOnHost) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
154
+ cdef cublasMpStatus_t cublasMpGemm_bufferSize(cublasMpHandle_t handle, cublasOperation_t transA, cublasOperation_t transB, int64_t m, int64_t n, int64_t k, const void* alpha, const void* a, int64_t ia, int64_t ja, cublasMpMatrixDescriptor_t descA, const void* b, int64_t ib, int64_t jb, cublasMpMatrixDescriptor_t descB, const void* beta, void* c, int64_t ic, int64_t jc, cublasMpMatrixDescriptor_t descC, cublasComputeType_t computeType, size_t* workspaceSizeInBytesOnDevice, size_t* workspaceSizeInBytesOnHost) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
155
+ cdef cublasMpStatus_t cublasMpGemm(cublasMpHandle_t handle, cublasOperation_t transA, cublasOperation_t transB, int64_t m, int64_t n, int64_t k, const void* alpha, const void* a, int64_t ia, int64_t ja, cublasMpMatrixDescriptor_t descA, const void* b, int64_t ib, int64_t jb, cublasMpMatrixDescriptor_t descB, const void* beta, void* c, int64_t ic, int64_t jc, cublasMpMatrixDescriptor_t descC, cublasComputeType_t computeType, void* d_work, size_t workspaceSizeInBytesOnDevice, void* h_work, size_t workspaceSizeInBytesOnHost) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
156
+ cdef cublasMpStatus_t cublasMpMatmul_bufferSize(cublasMpHandle_t handle, cublasMpMatmulDescriptor_t matmulDesc, int64_t m, int64_t n, int64_t k, const void* alpha, const void* a, int64_t ia, int64_t ja, cublasMpMatrixDescriptor_t descA, const void* b, int64_t ib, int64_t jb, cublasMpMatrixDescriptor_t descB, const void* beta, const void* c, int64_t ic, int64_t jc, cublasMpMatrixDescriptor_t descC, void* d, int64_t id, int64_t jd, cublasMpMatrixDescriptor_t descD, size_t* workspaceSizeInBytesOnDevice, size_t* workspaceSizeInBytesOnHost) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
157
+ cdef cublasMpStatus_t cublasMpMatmul(cublasMpHandle_t handle, cublasMpMatmulDescriptor_t matmulDesc, int64_t m, int64_t n, int64_t k, const void* alpha, const void* a, int64_t ia, int64_t ja, cublasMpMatrixDescriptor_t descA, const void* b, int64_t ib, int64_t jb, cublasMpMatrixDescriptor_t descB, const void* beta, const void* c, int64_t ic, int64_t jc, cublasMpMatrixDescriptor_t descC, void* d, int64_t id, int64_t jd, cublasMpMatrixDescriptor_t descD, void* d_work, size_t workspaceSizeInBytesOnDevice, void* h_work, size_t workspaceSizeInBytesOnHost) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
158
+ cdef cublasMpStatus_t cublasMpSyrk_bufferSize(cublasMpHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, int64_t n, int64_t k, const void* alpha, const void* a, int64_t ia, int64_t ja, cublasMpMatrixDescriptor_t descA, const void* beta, void* c, int64_t ic, int64_t jc, cublasMpMatrixDescriptor_t descC, cublasComputeType_t computeType, size_t* workspaceSizeInBytesOnDevice, size_t* workspaceSizeInBytesOnHost) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
159
+ cdef cublasMpStatus_t cublasMpSyrk(cublasMpHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, int64_t n, int64_t k, const void* alpha, const void* a, int64_t ia, int64_t ja, cublasMpMatrixDescriptor_t descA, const void* beta, void* c, int64_t ic, int64_t jc, cublasMpMatrixDescriptor_t descC, cublasComputeType_t computeType, void* d_work, size_t workspaceSizeInBytesOnDevice, void* h_work, size_t workspaceSizeInBytesOnHost) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
160
+ cdef int64_t cublasMpNumroc(int64_t n, int64_t nb, uint32_t iproc, uint32_t isrcproc, uint32_t nprocs) except?-42 nogil
161
+ cdef const char* cublasMpGetStatusString(cublasMpStatus_t status) except?NULL nogil
162
+ cdef cublasMpStatus_t cublasMpGemr2D_bufferSize(cublasMpHandle_t handle, int64_t m, int64_t n, const void* a, int64_t ia, int64_t ja, cublasMpMatrixDescriptor_t descA, void* b, int64_t ib, int64_t jb, cublasMpMatrixDescriptor_t descB, size_t* workspaceSizeInBytesOnDevice, size_t* workspaceSizeInBytesOnHost, ncclComm_t global_comm) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
163
+ cdef cublasMpStatus_t cublasMpGemr2D(cublasMpHandle_t handle, int64_t m, int64_t n, const void* a, int64_t ia, int64_t ja, cublasMpMatrixDescriptor_t descA, void* b, int64_t ib, int64_t jb, cublasMpMatrixDescriptor_t descB, void* d_work, size_t workspaceSizeInBytesOnDevice, void* h_work, size_t workspaceSizeInBytesOnHost, ncclComm_t global_comm) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
164
+ cdef cublasMpStatus_t cublasMpTrmr2D_bufferSize(cublasMpHandle_t handle, cublasFillMode_t uplo, cublasDiagType_t diag, int64_t m, int64_t n, const void* a, int64_t ia, int64_t ja, cublasMpMatrixDescriptor_t descA, void* b, int64_t ib, int64_t jb, cublasMpMatrixDescriptor_t descB, size_t* workspaceSizeInBytesOnDevice, size_t* workspaceSizeInBytesOnHost, ncclComm_t global_comm) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
165
+ cdef cublasMpStatus_t cublasMpTrmr2D(cublasMpHandle_t handle, cublasFillMode_t uplo, cublasDiagType_t diag, int64_t m, int64_t n, const void* a, int64_t ia, int64_t ja, cublasMpMatrixDescriptor_t descA, void* b, int64_t ib, int64_t jb, cublasMpMatrixDescriptor_t descB, void* d_work, size_t workspaceSizeInBytesOnDevice, void* h_work, size_t workspaceSizeInBytesOnHost, ncclComm_t global_comm) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
166
+ cdef cublasMpStatus_t cublasMpGeadd_bufferSize(cublasMpHandle_t handle, cublasOperation_t trans, int64_t m, int64_t n, const void* alpha, const void* a, int64_t ia, int64_t ja, cublasMpMatrixDescriptor_t descA, const void* beta, void* c, int64_t ic, int64_t jc, cublasMpMatrixDescriptor_t descC, size_t* workspaceSizeInBytesOnDevice, size_t* workspaceSizeInBytesOnHost) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
167
+ cdef cublasMpStatus_t cublasMpGeadd(cublasMpHandle_t handle, cublasOperation_t trans, int64_t m, int64_t n, const void* alpha, const void* a, int64_t ia, int64_t ja, cublasMpMatrixDescriptor_t descA, const void* beta, void* c, int64_t ic, int64_t jc, cublasMpMatrixDescriptor_t descC, void* d_work, size_t workspaceSizeInBytesOnDevice, void* h_work, size_t workspaceSizeInBytesOnHost) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
168
+ cdef cublasMpStatus_t cublasMpTradd_bufferSize(cublasMpHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, int64_t m, int64_t n, const void* alpha, const void* a, int64_t ia, int64_t ja, cublasMpMatrixDescriptor_t descA, const void* beta, void* c, int64_t ic, int64_t jc, cublasMpMatrixDescriptor_t descC, size_t* workspaceSizeInBytesOnDevice, size_t* workspaceSizeInBytesOnHost) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
169
+ cdef cublasMpStatus_t cublasMpTradd(cublasMpHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, int64_t m, int64_t n, const void* alpha, const void* a, int64_t ia, int64_t ja, cublasMpMatrixDescriptor_t descA, const void* beta, void* c, int64_t ic, int64_t jc, cublasMpMatrixDescriptor_t descC, void* d_work, size_t workspaceSizeInBytesOnDevice, void* h_work, size_t workspaceSizeInBytesOnHost) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
170
+ cdef cublasMpStatus_t cublasMpMalloc(cublasMpGrid_t grid, void** ptr, size_t size) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
171
+ cdef cublasMpStatus_t cublasMpFree(cublasMpGrid_t grid, void* ptr) except?_CUBLASMPSTATUS_T_INTERNAL_LOADING_ERROR nogil
@@ -0,0 +1,277 @@
1
+ # Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. ALL RIGHTS RESERVED.
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+ #
5
+ # This code was automatically generated with version 0.8.0, generator version 0.3.1.dev1725+g07a86fe3d.d20260603. Do not modify it directly.
6
+ # This layer exposes the C header to Cython as-is.
7
+
8
+ from libc.stdint cimport int64_t
9
+ from libc.stdio cimport FILE
10
+
11
+ from ._internal.common_types cimport cudaDataType, cudaDataType_t, cudaStream_t, libraryPropertyType, libraryPropertyType_t, cuComplex, cuDoubleComplex
12
+
13
+
14
+ ###############################################################################
15
+ # Types (structs, enums, ...)
16
+ ###############################################################################
17
+
18
+ # enums
19
+ ctypedef enum cudssDataType_t "cudssDataType_t":
20
+ CUDSS_DATA_TYPE_UNSET "CUDSS_DATA_TYPE_UNSET" = 1024
21
+ CUDSS_R_32F "CUDSS_R_32F" = 0
22
+ CUDSS_R_64F "CUDSS_R_64F" = 1
23
+ CUDSS_C_32F "CUDSS_C_32F" = 4
24
+ CUDSS_C_64F "CUDSS_C_64F" = 5
25
+ CUDSS_R_64F_64F "CUDSS_R_64F_64F" = (1025 + CUDSS_R_64F)
26
+ CUDSS_R_32I "CUDSS_R_32I" = 10
27
+ CUDSS_R_64I "CUDSS_R_64I" = 24
28
+
29
+ ctypedef enum cudssConfigParam_t "cudssConfigParam_t":
30
+ CUDSS_CONFIG_REORDERING_ALG "CUDSS_CONFIG_REORDERING_ALG"
31
+ CUDSS_CONFIG_FACTORIZATION_ALG "CUDSS_CONFIG_FACTORIZATION_ALG"
32
+ CUDSS_CONFIG_SOLVE_ALG "CUDSS_CONFIG_SOLVE_ALG"
33
+ CUDSS_CONFIG_MATCHING_ALG "CUDSS_CONFIG_MATCHING_ALG"
34
+ CUDSS_CONFIG_SOLVE_MODE "CUDSS_CONFIG_SOLVE_MODE"
35
+ CUDSS_CONFIG_IR_N_STEPS "CUDSS_CONFIG_IR_N_STEPS"
36
+ CUDSS_CONFIG_IR_TOL "CUDSS_CONFIG_IR_TOL"
37
+ CUDSS_CONFIG_PIVOT_TYPE "CUDSS_CONFIG_PIVOT_TYPE"
38
+ CUDSS_CONFIG_PIVOT_THRESHOLD "CUDSS_CONFIG_PIVOT_THRESHOLD"
39
+ CUDSS_CONFIG_PIVOT_EPSILON "CUDSS_CONFIG_PIVOT_EPSILON"
40
+ CUDSS_CONFIG_MAX_LU_NNZ "CUDSS_CONFIG_MAX_LU_NNZ"
41
+ CUDSS_CONFIG_HYBRID_MEMORY_MODE "CUDSS_CONFIG_HYBRID_MEMORY_MODE"
42
+ CUDSS_CONFIG_HYBRID_DEVICE_MEMORY_LIMIT "CUDSS_CONFIG_HYBRID_DEVICE_MEMORY_LIMIT"
43
+ CUDSS_CONFIG_USE_CUDA_REGISTER_MEMORY "CUDSS_CONFIG_USE_CUDA_REGISTER_MEMORY"
44
+ CUDSS_CONFIG_HOST_NTHREADS "CUDSS_CONFIG_HOST_NTHREADS"
45
+ CUDSS_CONFIG_HYBRID_EXECUTE_MODE "CUDSS_CONFIG_HYBRID_EXECUTE_MODE"
46
+ CUDSS_CONFIG_PIVOT_EPSILON_ALG "CUDSS_CONFIG_PIVOT_EPSILON_ALG"
47
+ CUDSS_CONFIG_ND_NLEVELS "CUDSS_CONFIG_ND_NLEVELS"
48
+ CUDSS_CONFIG_UBATCH_SIZE "CUDSS_CONFIG_UBATCH_SIZE"
49
+ CUDSS_CONFIG_UBATCH_INDEX "CUDSS_CONFIG_UBATCH_INDEX"
50
+ CUDSS_CONFIG_USE_SUPERPANELS "CUDSS_CONFIG_USE_SUPERPANELS"
51
+ CUDSS_CONFIG_DEVICE_COUNT "CUDSS_CONFIG_DEVICE_COUNT"
52
+ CUDSS_CONFIG_DEVICE_INDICES "CUDSS_CONFIG_DEVICE_INDICES"
53
+ CUDSS_CONFIG_SCHUR_MODE "CUDSS_CONFIG_SCHUR_MODE"
54
+ CUDSS_CONFIG_DETERMINISTIC_MODE "CUDSS_CONFIG_DETERMINISTIC_MODE"
55
+ CUDSS_CONFIG_ND_UBFACTOR "CUDSS_CONFIG_ND_UBFACTOR"
56
+
57
+ ctypedef enum cudssDataParam_t "cudssDataParam_t":
58
+ CUDSS_DATA_INFO "CUDSS_DATA_INFO"
59
+ CUDSS_DATA_LU_NNZ "CUDSS_DATA_LU_NNZ"
60
+ CUDSS_DATA_NPIVOTS "CUDSS_DATA_NPIVOTS"
61
+ CUDSS_DATA_INERTIA "CUDSS_DATA_INERTIA"
62
+ CUDSS_DATA_PERM_REORDER_ROW "CUDSS_DATA_PERM_REORDER_ROW"
63
+ CUDSS_DATA_PERM_REORDER_COL "CUDSS_DATA_PERM_REORDER_COL"
64
+ CUDSS_DATA_PERM_ROW "CUDSS_DATA_PERM_ROW"
65
+ CUDSS_DATA_PERM_COL "CUDSS_DATA_PERM_COL"
66
+ CUDSS_DATA_DIAG "CUDSS_DATA_DIAG"
67
+ CUDSS_DATA_USER_PERM "CUDSS_DATA_USER_PERM"
68
+ CUDSS_DATA_HYBRID_DEVICE_MEMORY_MIN "CUDSS_DATA_HYBRID_DEVICE_MEMORY_MIN"
69
+ CUDSS_DATA_COMM_DEVICE "CUDSS_DATA_COMM_DEVICE"
70
+ CUDSS_DATA_COMM_HOST "CUDSS_DATA_COMM_HOST"
71
+ CUDSS_DATA_MEMORY_ESTIMATES "CUDSS_DATA_MEMORY_ESTIMATES"
72
+ CUDSS_DATA_PERM_MATCHING "CUDSS_DATA_PERM_MATCHING"
73
+ CUDSS_DATA_SCALE_ROW "CUDSS_DATA_SCALE_ROW"
74
+ CUDSS_DATA_SCALE_COL "CUDSS_DATA_SCALE_COL"
75
+ CUDSS_DATA_NSUPERPANELS "CUDSS_DATA_NSUPERPANELS"
76
+ CUDSS_DATA_USER_SCHUR_INDICES "CUDSS_DATA_USER_SCHUR_INDICES"
77
+ CUDSS_DATA_SCHUR_SHAPE "CUDSS_DATA_SCHUR_SHAPE"
78
+ CUDSS_DATA_SCHUR_MATRIX "CUDSS_DATA_SCHUR_MATRIX"
79
+ CUDSS_DATA_USER_ND_PARTITION_TREE "CUDSS_DATA_USER_ND_PARTITION_TREE"
80
+ CUDSS_DATA_ND_PARTITION_TREE "CUDSS_DATA_ND_PARTITION_TREE"
81
+ CUDSS_DATA_USER_HOST_INTERRUPT "CUDSS_DATA_USER_HOST_INTERRUPT"
82
+ CUDSS_DATA_IR_N_STEPS "CUDSS_DATA_IR_N_STEPS"
83
+ CUDSS_DATA_UBATCH_MASK "CUDSS_DATA_UBATCH_MASK"
84
+ CUDSS_DATA_FLOPS "CUDSS_DATA_FLOPS"
85
+
86
+ ctypedef enum cudssPhase_t "cudssPhase_t":
87
+ CUDSS_PHASE_REORDERING "CUDSS_PHASE_REORDERING" = (1 << 0)
88
+ CUDSS_PHASE_SYMBOLIC_FACTORIZATION "CUDSS_PHASE_SYMBOLIC_FACTORIZATION" = (1 << 1)
89
+ CUDSS_PHASE_ANALYSIS "CUDSS_PHASE_ANALYSIS" = (CUDSS_PHASE_REORDERING | CUDSS_PHASE_SYMBOLIC_FACTORIZATION)
90
+ CUDSS_PHASE_FACTORIZATION "CUDSS_PHASE_FACTORIZATION" = (1 << 2)
91
+ CUDSS_PHASE_REFACTORIZATION "CUDSS_PHASE_REFACTORIZATION" = (1 << 3)
92
+ CUDSS_PHASE_SOLVE_FWD_PERM "CUDSS_PHASE_SOLVE_FWD_PERM" = (1 << 4)
93
+ CUDSS_PHASE_SOLVE_FWD "CUDSS_PHASE_SOLVE_FWD" = (1 << 5)
94
+ CUDSS_PHASE_SOLVE_DIAG "CUDSS_PHASE_SOLVE_DIAG" = (1 << 6)
95
+ CUDSS_PHASE_SOLVE_BWD "CUDSS_PHASE_SOLVE_BWD" = (1 << 7)
96
+ CUDSS_PHASE_SOLVE_BWD_PERM "CUDSS_PHASE_SOLVE_BWD_PERM" = (1 << 8)
97
+ CUDSS_PHASE_SOLVE_REFINEMENT "CUDSS_PHASE_SOLVE_REFINEMENT" = (1 << 9)
98
+ CUDSS_PHASE_SOLVE "CUDSS_PHASE_SOLVE" = (((((CUDSS_PHASE_SOLVE_FWD_PERM | CUDSS_PHASE_SOLVE_FWD) | CUDSS_PHASE_SOLVE_DIAG) | CUDSS_PHASE_SOLVE_BWD) | CUDSS_PHASE_SOLVE_BWD_PERM) | CUDSS_PHASE_SOLVE_REFINEMENT)
99
+
100
+ ctypedef enum cudssStatus_t "cudssStatus_t":
101
+ CUDSS_STATUS_SUCCESS "CUDSS_STATUS_SUCCESS" = 0
102
+ CUDSS_STATUS_NOT_INITIALIZED "CUDSS_STATUS_NOT_INITIALIZED" = 1
103
+ CUDSS_STATUS_ALLOC_FAILED "CUDSS_STATUS_ALLOC_FAILED" = 2
104
+ CUDSS_STATUS_INVALID_VALUE "CUDSS_STATUS_INVALID_VALUE" = 3
105
+ CUDSS_STATUS_NOT_SUPPORTED "CUDSS_STATUS_NOT_SUPPORTED" = 4
106
+ CUDSS_STATUS_EXECUTION_FAILED "CUDSS_STATUS_EXECUTION_FAILED" = 5
107
+ CUDSS_STATUS_INTERNAL_ERROR "CUDSS_STATUS_INTERNAL_ERROR" = 6
108
+ CUDSS_STATUS_IR_FAILED "CUDSS_STATUS_IR_FAILED" = 7
109
+ _CUDSSSTATUS_T_INTERNAL_LOADING_ERROR "_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR" = -42
110
+
111
+ ctypedef enum cudssMatrixType_t "cudssMatrixType_t":
112
+ CUDSS_MTYPE_GENERAL "CUDSS_MTYPE_GENERAL"
113
+ CUDSS_MTYPE_SYMMETRIC "CUDSS_MTYPE_SYMMETRIC"
114
+ CUDSS_MTYPE_HERMITIAN "CUDSS_MTYPE_HERMITIAN"
115
+ CUDSS_MTYPE_SPD "CUDSS_MTYPE_SPD"
116
+ CUDSS_MTYPE_HPD "CUDSS_MTYPE_HPD"
117
+
118
+ ctypedef enum cudssMatrixViewType_t "cudssMatrixViewType_t":
119
+ CUDSS_MVIEW_FULL "CUDSS_MVIEW_FULL"
120
+ CUDSS_MVIEW_LOWER "CUDSS_MVIEW_LOWER"
121
+ CUDSS_MVIEW_UPPER "CUDSS_MVIEW_UPPER"
122
+
123
+ ctypedef enum cudssIndexBase_t "cudssIndexBase_t":
124
+ CUDSS_BASE_ZERO "CUDSS_BASE_ZERO"
125
+ CUDSS_BASE_ONE "CUDSS_BASE_ONE"
126
+
127
+ ctypedef enum cudssLayout_t "cudssLayout_t":
128
+ CUDSS_LAYOUT_COL_MAJOR "CUDSS_LAYOUT_COL_MAJOR"
129
+ CUDSS_LAYOUT_ROW_MAJOR "CUDSS_LAYOUT_ROW_MAJOR"
130
+
131
+ ctypedef enum cudssReorderingAlg_t "cudssReorderingAlg_t":
132
+ CUDSS_REORDERING_ALG_DEFAULT "CUDSS_REORDERING_ALG_DEFAULT"
133
+ CUDSS_REORDERING_ALG_BTF_COLAMD "CUDSS_REORDERING_ALG_BTF_COLAMD"
134
+ CUDSS_REORDERING_ALG_COLAMD "CUDSS_REORDERING_ALG_COLAMD"
135
+ CUDSS_REORDERING_ALG_AMD "CUDSS_REORDERING_ALG_AMD"
136
+ CUDSS_REORDERING_ALG_NESTED_DISSECTION "CUDSS_REORDERING_ALG_NESTED_DISSECTION"
137
+ CUDSS_REORDERING_ALG_NONE "CUDSS_REORDERING_ALG_NONE"
138
+
139
+ ctypedef enum cudssFactorizationAlg_t "cudssFactorizationAlg_t":
140
+ CUDSS_FACTORIZATION_ALG_DEFAULT "CUDSS_FACTORIZATION_ALG_DEFAULT"
141
+ CUDSS_FACTORIZATION_ALG_MULTIBLOCK "CUDSS_FACTORIZATION_ALG_MULTIBLOCK"
142
+ CUDSS_FACTORIZATION_ALG_GENERAL "CUDSS_FACTORIZATION_ALG_GENERAL"
143
+
144
+ ctypedef enum cudssPivotEpsilonAlg_t "cudssPivotEpsilonAlg_t":
145
+ CUDSS_PIVOT_EPSILON_ALG_DEFAULT "CUDSS_PIVOT_EPSILON_ALG_DEFAULT"
146
+ CUDSS_PIVOT_EPSILON_ALG_SCALED "CUDSS_PIVOT_EPSILON_ALG_SCALED"
147
+ CUDSS_PIVOT_EPSILON_ALG_STATIC "CUDSS_PIVOT_EPSILON_ALG_STATIC"
148
+
149
+ ctypedef enum cudssSolveAlg_t "cudssSolveAlg_t":
150
+ CUDSS_SOLVE_ALG_DEFAULT "CUDSS_SOLVE_ALG_DEFAULT"
151
+ CUDSS_SOLVE_ALG_GENERAL "CUDSS_SOLVE_ALG_GENERAL"
152
+
153
+ ctypedef enum cudssMatchingAlg_t "cudssMatchingAlg_t":
154
+ CUDSS_MATCHING_ALG_NONE "CUDSS_MATCHING_ALG_NONE" = 0
155
+ CUDSS_MATCHING_ALG_MAX_DIAG_COUNT "CUDSS_MATCHING_ALG_MAX_DIAG_COUNT" = 1
156
+ CUDSS_MATCHING_ALG_MAX_MIN_DIAG "CUDSS_MATCHING_ALG_MAX_MIN_DIAG" = 2
157
+ CUDSS_MATCHING_ALG_MAX_MIN_DIAG_ALT "CUDSS_MATCHING_ALG_MAX_MIN_DIAG_ALT" = 3
158
+ CUDSS_MATCHING_ALG_MAX_DIAG_SUM "CUDSS_MATCHING_ALG_MAX_DIAG_SUM" = 4
159
+ CUDSS_MATCHING_ALG_MAX_DIAG_PRODUCT "CUDSS_MATCHING_ALG_MAX_DIAG_PRODUCT" = 5
160
+ CUDSS_MATCHING_ALG_AUTO "CUDSS_MATCHING_ALG_AUTO" = 6
161
+
162
+ ctypedef enum cudssPivotType_t "cudssPivotType_t":
163
+ CUDSS_PIVOT_AUTO "CUDSS_PIVOT_AUTO"
164
+ CUDSS_PIVOT_NONE "CUDSS_PIVOT_NONE"
165
+ CUDSS_PIVOT_GLOBAL_COL "CUDSS_PIVOT_GLOBAL_COL"
166
+ CUDSS_PIVOT_GLOBAL_ROW "CUDSS_PIVOT_GLOBAL_ROW"
167
+ CUDSS_PIVOT_DIAGONAL "CUDSS_PIVOT_DIAGONAL"
168
+ CUDSS_PIVOT_LOCAL_BLOCK "CUDSS_PIVOT_LOCAL_BLOCK"
169
+ CUDSS_PIVOT_BUNCH_KAUFMAN "CUDSS_PIVOT_BUNCH_KAUFMAN"
170
+
171
+ ctypedef enum cudssMatrixFormat_t "cudssMatrixFormat_t":
172
+ CUDSS_MFORMAT_DENSE "CUDSS_MFORMAT_DENSE" = 1
173
+ CUDSS_MFORMAT_CSR "CUDSS_MFORMAT_CSR" = 2
174
+ CUDSS_MFORMAT_BATCH "CUDSS_MFORMAT_BATCH" = 4
175
+ CUDSS_MFORMAT_DISTRIBUTED "CUDSS_MFORMAT_DISTRIBUTED" = 8
176
+
177
+ ctypedef enum cudssOpType_t "cudssOpType_t":
178
+ CUDSS_SUM "CUDSS_SUM"
179
+ CUDSS_MAX "CUDSS_MAX"
180
+ CUDSS_MIN "CUDSS_MIN"
181
+
182
+
183
+ # types
184
+ ctypedef void* cudssHandle_t 'cudssHandle_t'
185
+
186
+ ctypedef void* cudssMatrix_t 'cudssMatrix_t'
187
+
188
+ ctypedef void* cudssData_t 'cudssData_t'
189
+
190
+ ctypedef void* cudssConfig_t 'cudssConfig_t'
191
+
192
+ ctypedef struct cudssDeviceMemHandler_t 'cudssDeviceMemHandler_t':
193
+ void* ctx
194
+ int (*device_alloc)(void*, void**, size_t, cudaStream_t)
195
+ int (*device_free)(void*, void*, size_t, cudaStream_t)
196
+ char name[64]
197
+
198
+ ctypedef struct cudssDistributedInterface_t 'cudssDistributedInterface_t':
199
+ int (*cudssCommRankDevice)(void*, int*)
200
+ int (*cudssCommSizeDevice)(void*, int*)
201
+ int (*cudssSendDevice)(const void*, int, cudssDataType_t, int, int, void*, cudaStream_t)
202
+ int (*cudssRecvDevice)(void*, int, cudssDataType_t, int, int, void*, cudaStream_t)
203
+ int (*cudssBcastDevice)(void*, int, cudssDataType_t, int, void*, cudaStream_t)
204
+ int (*cudssReduceDevice)(const void*, void*, int, cudssDataType_t, cudssOpType_t, int, void*, cudaStream_t)
205
+ int (*cudssAllreduceDevice)(const void*, void*, int, cudssDataType_t, cudssOpType_t, void*, cudaStream_t)
206
+ int (*cudssScattervDevice)(const void*, const int*, const int*, cudssDataType_t, void*, int, cudssDataType_t, int, void*, cudaStream_t)
207
+ int (*cudssCommSplitDevice)(const void*, int, int, void*)
208
+ int (*cudssCommFreeDevice)(void*)
209
+ int (*cudssCommRankHost)(void*, int*)
210
+ int (*cudssCommSizeHost)(void*, int*)
211
+ int (*cudssSendHost)(const void*, int, cudssDataType_t, int, int, void*, cudaStream_t)
212
+ int (*cudssRecvHost)(void*, int, cudssDataType_t, int, int, void*, cudaStream_t)
213
+ int (*cudssBcastHost)(void*, int, cudssDataType_t, int, void*, cudaStream_t)
214
+ int (*cudssReduceHost)(const void*, void*, int, cudssDataType_t, cudssOpType_t, int, void*, cudaStream_t)
215
+ int (*cudssAllreduceHost)(const void*, void*, int, cudssDataType_t, cudssOpType_t, void*, cudaStream_t)
216
+ int (*cudssScattervHost)(const void*, const int*, const int*, cudssDataType_t, void*, int, cudssDataType_t, int, void*, cudaStream_t)
217
+ int (*cudssCommSplitHost)(const void*, int, int, void*)
218
+ int (*cudssCommFreeHost)(void*)
219
+ int (*cudssDistributedGetProperty)(libraryPropertyType, int*)
220
+
221
+ ctypedef struct cudssThreadingInterface_t 'cudssThreadingInterface_t':
222
+ int (*cudssGetMaxThreads)()
223
+ void (*cudssParallelFor)(int, int, void*, cudss_thr_func_t)
224
+ int (*cudssThreadingGetProperty)(libraryPropertyType, int*)
225
+
226
+ ctypedef void (*cudssLoggerCallback_t 'cudssLoggerCallback_t')(
227
+ int logLevel,
228
+ const char* functionName,
229
+ const char* message
230
+ )
231
+
232
+
233
+ ###############################################################################
234
+ # Functions
235
+ ###############################################################################
236
+
237
+ cdef cudssStatus_t cudssConfigSet(cudssConfig_t config, cudssConfigParam_t param, const void* value, size_t sizeInBytes) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
238
+ cdef cudssStatus_t cudssConfigGet(const cudssConfig_t config, cudssConfigParam_t param, void* value, size_t sizeInBytes, size_t* sizeWritten) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
239
+ cdef cudssStatus_t cudssDataSet(const cudssHandle_t handle, cudssData_t data, cudssDataParam_t param, const void* value, size_t sizeInBytes) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
240
+ cdef cudssStatus_t cudssDataGet(const cudssHandle_t handle, const cudssData_t data, cudssDataParam_t param, void* value, size_t sizeInBytes, size_t* sizeWritten) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
241
+ cdef cudssStatus_t cudssExecute(cudssHandle_t handle, int phase, const cudssConfig_t solverConfig, cudssData_t solverData, const cudssMatrix_t inputMatrix, cudssMatrix_t solution, const cudssMatrix_t rhs) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
242
+ cdef cudssStatus_t cudssSetStream(cudssHandle_t handle, cudaStream_t stream) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
243
+ cdef cudssStatus_t cudssSetMgStreams(cudssHandle_t handle, const cudaStream_t* streams, int stream_count) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
244
+ cdef cudssStatus_t cudssSetCommLayer(cudssHandle_t handle, const char* commLibFileName) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
245
+ cdef cudssStatus_t cudssSetThreadingLayer(cudssHandle_t handle, const char* thrLibFileName) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
246
+ cdef cudssStatus_t cudssConfigCreate(cudssConfig_t* solverConfig) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
247
+ cdef cudssStatus_t cudssConfigDestroy(cudssConfig_t solverConfig) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
248
+ cdef cudssStatus_t cudssDataCreate(const cudssHandle_t handle, cudssData_t* solverData) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
249
+ cdef cudssStatus_t cudssDataDestroy(cudssHandle_t handle, cudssData_t solverData) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
250
+ cdef cudssStatus_t cudssCreate(cudssHandle_t* handle) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
251
+ cdef cudssStatus_t cudssCreateMg(cudssHandle_t* handle_pt, int device_count, const int* device_indices) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
252
+ cdef cudssStatus_t cudssDestroy(cudssHandle_t handle) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
253
+ cdef cudssStatus_t cudssGetProperty(libraryPropertyType propertyType, int* value) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
254
+ cdef cudssStatus_t cudssMatrixCreateDn(cudssMatrix_t* matrix, int64_t nrows, int64_t ncols, int64_t ld, const void* values, cudssDataType_t valueType, cudssLayout_t layout) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
255
+ cdef cudssStatus_t cudssMatrixCreateCsr(cudssMatrix_t* matrix, int64_t nrows, int64_t ncols, int64_t nnz, const void* rowStart, const void* rowEnd, const void* colIndices, const void* values, cudssDataType_t offsetType, cudssDataType_t indexType, cudssDataType_t valueType, cudssMatrixType_t mtype, cudssMatrixViewType_t mview, cudssIndexBase_t indexBase) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
256
+ cdef cudssStatus_t cudssMatrixCreateBatchDn(cudssMatrix_t* matrix, int64_t batchCount, const void* nrows, const void* ncols, const void* ld, const void* const* values, cudssDataType_t integerType, cudssDataType_t valueType, cudssLayout_t layout) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
257
+ cdef cudssStatus_t cudssMatrixCreateBatchCsr(cudssMatrix_t* matrix, int64_t batchCount, const void* nrows, const void* ncols, const void* nnz, const void* const* rowStart, const void* const* rowEnd, const void* const* colIndices, const void* const* values, cudssDataType_t offsetType, cudssDataType_t indexType, cudssDataType_t valueType, cudssMatrixType_t mtype, cudssMatrixViewType_t mview, cudssIndexBase_t indexBase) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
258
+ cdef cudssStatus_t cudssMatrixDestroy(cudssMatrix_t matrix) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
259
+ cdef cudssStatus_t cudssMatrixGetDn(const cudssMatrix_t matrix, int64_t* nrows, int64_t* ncols, int64_t* ld, void** values, cudssDataType_t* type, cudssLayout_t* layout) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
260
+ cdef cudssStatus_t cudssMatrixGetCsr(const cudssMatrix_t matrix, int64_t* nrows, int64_t* ncols, int64_t* nnz, void** rowStart, void** rowEnd, void** colIndices, void** values, cudssDataType_t* offsetType, cudssDataType_t* indexType, cudssDataType_t* valueType, cudssMatrixType_t* mtype, cudssMatrixViewType_t* mview, cudssIndexBase_t* indexBase) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
261
+ cdef cudssStatus_t cudssMatrixSetValues(cudssMatrix_t matrix, const void* values) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
262
+ cdef cudssStatus_t cudssMatrixSetCsrPointers(cudssMatrix_t matrix, const void* rowOffsets, const void* rowEnd, const void* colIndices, const void* values) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
263
+ cdef cudssStatus_t cudssMatrixGetBatchDn(const cudssMatrix_t matrix, int64_t* batchCount, void** nrows, void** ncols, void** ld, void*** values, cudssDataType_t* indexType, cudssDataType_t* valueType, cudssLayout_t* layout) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
264
+ cdef cudssStatus_t cudssMatrixGetBatchCsr(const cudssMatrix_t matrix, int64_t* batchCount, void** nrows, void** ncols, void** nnz, void*** rowStart, void*** rowEnd, void*** colIndices, void*** values, cudssDataType_t* offsetType, cudssDataType_t* indexType, cudssDataType_t* valueType, cudssMatrixType_t* mtype, cudssMatrixViewType_t* mview, cudssIndexBase_t* indexBase) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
265
+ cdef cudssStatus_t cudssMatrixSetBatchValues(cudssMatrix_t matrix, const void* const* values) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
266
+ cdef cudssStatus_t cudssMatrixSetBatchCsrPointers(cudssMatrix_t matrix, const void* const* rowOffsets, const void* const* rowEnd, const void* const* colIndices, const void* const* values) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
267
+ cdef cudssStatus_t cudssMatrixGetFormat(const cudssMatrix_t matrix, int* format) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
268
+ cdef cudssStatus_t cudssMatrixSetDistributionRow1d(cudssMatrix_t matrix, int64_t first_row, int64_t last_row) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
269
+ cdef cudssStatus_t cudssMatrixGetDistributionRow1d(const cudssMatrix_t matrix, int64_t* first_row, int64_t* last_row) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
270
+ cdef cudssStatus_t cudssGetDeviceMemHandler(const cudssHandle_t handle, cudssDeviceMemHandler_t* handler) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
271
+ cdef cudssStatus_t cudssSetDeviceMemHandler(cudssHandle_t handle, const cudssDeviceMemHandler_t* handler) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
272
+ cdef cudssStatus_t cudssLoggerSetCallback(cudssLoggerCallback_t callback) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
273
+ cdef cudssStatus_t cudssLoggerSetFile(FILE* file) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
274
+ cdef cudssStatus_t cudssLoggerOpenFile(const char* logFile) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
275
+ cdef cudssStatus_t cudssLoggerSetLevel(int level) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
276
+ cdef cudssStatus_t cudssLoggerSetMask(int mask) except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil
277
+ cdef cudssStatus_t cudssLoggerForceDisable() except?_CUDSSSTATUS_T_INTERNAL_LOADING_ERROR nogil