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,99 @@
1
+ # Copyright (c) 2024-2026, NVIDIA CORPORATION & AFFILIATES. ALL RIGHTS RESERVED.
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+ #
5
+ # This code was automatically generated across versions from 0.7.1 to 0.8.1, generator version 0.3.1.dev1565+g7fa82f8eb. Do not modify it directly.
6
+
7
+ cimport cython
8
+
9
+ from libc.stdint cimport intptr_t, int64_t, uint8_t, uint32_t, int32_t
10
+
11
+ from .cycusparseLt cimport *
12
+ from .cycusparseLt cimport cusparseComputeType
13
+ from .cycusparse cimport cusparseStatus_t, cusparseOrder_t, cusparseOperation_t
14
+ from .cusparse cimport LibraryPropertyType
15
+
16
+
17
+ ###############################################################################
18
+ # Types
19
+ ###############################################################################
20
+
21
+ ctypedef cusparseLtHandle_t Handle
22
+ ctypedef cusparseLtMatDescriptor_t MatDescriptor
23
+ ctypedef cusparseLtMatmulDescriptor_t MatmulDescriptor
24
+ ctypedef cusparseLtMatmulAlgSelection_t MatmulAlgSelection
25
+ ctypedef cusparseLtMatmulPlan_t MatmulPlan
26
+
27
+ ctypedef cudaStream_t Stream
28
+ ctypedef cudaDataType DataType
29
+
30
+
31
+ ###############################################################################
32
+ # Enum
33
+ ###############################################################################
34
+
35
+ ctypedef cusparseLtSparsity_t _Sparsity
36
+ ctypedef cusparseLtMatDescAttribute_t _MatDescAttribute
37
+ ctypedef cusparseComputeType _ComputeType
38
+ ctypedef cusparseLtMatmulDescAttribute_t _MatmulDescAttribute
39
+ ctypedef cusparseLtMatmulMatrixScale_t _MatmulMatrixScale
40
+ ctypedef cusparseLtMatmulAlg_t _MatmulAlg
41
+ ctypedef cusparseLtMatmulAlgAttribute_t _MatmulAlgAttribute
42
+ ctypedef cusparseLtSplitKMode_t _SplitKMode
43
+ ctypedef cusparseLtPruneAlg_t _PruneAlg
44
+
45
+
46
+ ###############################################################################
47
+ # Functions
48
+ ###############################################################################
49
+
50
+ cpdef str get_error_name(cusparseStatus_t status)
51
+ cpdef str get_error_string(cusparseStatus_t status)
52
+ cpdef _init(intptr_t handle)
53
+ cpdef _destroy(intptr_t handle)
54
+ cpdef int get_version(intptr_t handle) except? -1
55
+ cpdef int get_property(int property_type) except? -1
56
+ cpdef _dense_descriptor_init(intptr_t handle, intptr_t mat_descr, int64_t rows, int64_t cols, int64_t ld, uint32_t alignment, int value_type, int order)
57
+ cpdef _structured_descriptor_init(intptr_t handle, intptr_t mat_descr, int64_t rows, int64_t cols, int64_t ld, uint32_t alignment, int value_type, int order, int sparsity)
58
+ cpdef _mat_descriptor_destroy(intptr_t mat_descr)
59
+ cpdef get_mat_desc_attribute_dtype(int attr)
60
+ cpdef mat_desc_set_attribute(intptr_t handle, intptr_t matmul_descr, int mat_attribute, intptr_t data, size_t data_size)
61
+ cpdef mat_desc_get_attribute(intptr_t handle, intptr_t matmul_descr, int mat_attribute, intptr_t data, size_t data_size)
62
+ cpdef _matmul_descriptor_init(intptr_t handle, intptr_t matmul_descr, int op_a, int op_b, intptr_t mat_a, intptr_t mat_b, intptr_t mat_c, intptr_t mat_d, int compute_type)
63
+ cpdef get_matmul_desc_attribute_dtype(int attr)
64
+ cpdef matmul_desc_set_attribute(intptr_t handle, intptr_t matmul_descr, int matmul_attribute, intptr_t data, size_t data_size)
65
+ cpdef matmul_desc_get_attribute(intptr_t handle, intptr_t matmul_descr, int matmul_attribute, intptr_t data, size_t data_size)
66
+ cpdef _matmul_alg_selection_init(intptr_t handle, intptr_t alg_selection, intptr_t matmul_descr, int alg)
67
+ cpdef get_matmul_alg_attribute_dtype(int attr)
68
+ cpdef matmul_alg_set_attribute(intptr_t handle, intptr_t alg_selection, int attribute, intptr_t data, size_t data_size)
69
+ cpdef matmul_alg_get_attribute(intptr_t handle, intptr_t alg_selection, int attribute, intptr_t data, size_t data_size)
70
+ cpdef size_t matmul_get_workspace(intptr_t handle, intptr_t plan) except? -1
71
+ cpdef _matmul_plan_init(intptr_t handle, intptr_t plan, intptr_t matmul_descr, intptr_t alg_selection)
72
+ cpdef _matmul_plan_destroy(intptr_t plan)
73
+ cpdef matmul(intptr_t handle, intptr_t plan, intptr_t alpha, intptr_t d_a, intptr_t d_b, intptr_t beta, intptr_t d_c, intptr_t d_d, intptr_t workspace, intptr_t streams, int32_t num_streams)
74
+ cpdef matmul_search(intptr_t handle, intptr_t plan, intptr_t alpha, intptr_t d_a, intptr_t d_b, intptr_t beta, intptr_t d_c, intptr_t d_d, intptr_t workspace, intptr_t streams, int32_t num_streams)
75
+ cpdef sp_mma_prune(intptr_t handle, intptr_t matmul_descr, intptr_t d_in, intptr_t d_out, int prune_alg, intptr_t stream)
76
+ cpdef sp_mma_prune_check(intptr_t handle, intptr_t matmul_descr, intptr_t d_in, intptr_t valid, intptr_t stream)
77
+ cpdef sp_mma_prune2(intptr_t handle, intptr_t sparse_mat_descr, int is_sparse_a, int op, intptr_t d_in, intptr_t d_out, int prune_alg, intptr_t stream)
78
+ cpdef sp_mma_prune_check2(intptr_t handle, intptr_t sparse_mat_descr, int is_sparse_a, int op, intptr_t d_in, intptr_t d_valid, intptr_t stream)
79
+ cpdef tuple sp_mma_compressed_size(intptr_t handle, intptr_t plan)
80
+ cpdef sp_mma_compress(intptr_t handle, intptr_t plan, intptr_t d_dense, intptr_t d_compressed, intptr_t d_compressed_buffer, intptr_t stream)
81
+ cpdef tuple sp_mma_compressed_size2(intptr_t handle, intptr_t sparse_mat_descr)
82
+ cpdef sp_mma_compress2(intptr_t handle, intptr_t sparse_mat_descr, int is_sparse_a, int op, intptr_t d_dense, intptr_t d_compressed, intptr_t d_compressed_buffer, intptr_t stream)
83
+ cpdef _matmul_alg_selection_destroy(intptr_t alg_selection)
84
+
85
+ cpdef intptr_t init() except *
86
+ cpdef void destroy(intptr_t handle) except *
87
+
88
+ cpdef intptr_t dense_descriptor_init(intptr_t handle, int64_t rows, int64_t cols, int64_t ld, uint32_t alignment, int value_type, int order) except *
89
+ cpdef intptr_t structured_descriptor_init(intptr_t handle, int64_t rows, int64_t cols, int64_t ld, uint32_t alignment, int value_type, int order, int sparsity) except *
90
+ cpdef void mat_descriptor_destroy(intptr_t mat_descr) except *
91
+
92
+ cpdef intptr_t matmul_descriptor_init(intptr_t handle, int op_a, int op_b, intptr_t mat_a, intptr_t mat_b, intptr_t mat_c, intptr_t mat_d, int compute_type) except *
93
+ cpdef void matmul_descriptor_destroy(intptr_t matmul_descr) except *
94
+
95
+ cpdef intptr_t matmul_alg_selection_init(intptr_t handle, intptr_t matmul_descr, int alg) except *
96
+ cpdef void matmul_alg_selection_destroy(intptr_t alg_selection) except *
97
+
98
+ cpdef intptr_t matmul_plan_init(intptr_t handle, intptr_t matmul_descr, intptr_t alg_selection) except *
99
+ cpdef void matmul_plan_destroy(intptr_t plan) except *
@@ -0,0 +1,252 @@
1
+ # Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. ALL RIGHTS RESERVED.
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ import _cython_3_2_5
6
+ import enum
7
+ from typing import Any, Callable, ClassVar
8
+
9
+ __pyx_capi__: dict
10
+ __test__: dict
11
+ check_status: _cython_3_2_5.cython_function_or_method
12
+ dense_descriptor_init: _cython_3_2_5.cython_function_or_method
13
+ destroy: _cython_3_2_5.cython_function_or_method
14
+ get_error_name: _cython_3_2_5.cython_function_or_method
15
+ get_error_string: _cython_3_2_5.cython_function_or_method
16
+ get_mat_desc_attribute_dtype: _cython_3_2_5.cython_function_or_method
17
+ get_matmul_alg_attribute_dtype: _cython_3_2_5.cython_function_or_method
18
+ get_matmul_desc_attribute_dtype: _cython_3_2_5.cython_function_or_method
19
+ get_property: _cython_3_2_5.cython_function_or_method
20
+ get_version: _cython_3_2_5.cython_function_or_method
21
+ init: _cython_3_2_5.cython_function_or_method
22
+ mat_desc_get_attribute: _cython_3_2_5.cython_function_or_method
23
+ mat_desc_set_attribute: _cython_3_2_5.cython_function_or_method
24
+ mat_descriptor_destroy: _cython_3_2_5.cython_function_or_method
25
+ matmul: _cython_3_2_5.cython_function_or_method
26
+ matmul_alg_get_attribute: _cython_3_2_5.cython_function_or_method
27
+ matmul_alg_selection_destroy: _cython_3_2_5.cython_function_or_method
28
+ matmul_alg_selection_init: _cython_3_2_5.cython_function_or_method
29
+ matmul_alg_set_attribute: _cython_3_2_5.cython_function_or_method
30
+ matmul_desc_get_attribute: _cython_3_2_5.cython_function_or_method
31
+ matmul_desc_set_attribute: _cython_3_2_5.cython_function_or_method
32
+ matmul_descriptor_destroy: _cython_3_2_5.cython_function_or_method
33
+ matmul_descriptor_init: _cython_3_2_5.cython_function_or_method
34
+ matmul_get_workspace: _cython_3_2_5.cython_function_or_method
35
+ matmul_plan_destroy: _cython_3_2_5.cython_function_or_method
36
+ matmul_plan_init: _cython_3_2_5.cython_function_or_method
37
+ matmul_search: _cython_3_2_5.cython_function_or_method
38
+ sp_mma_compress: _cython_3_2_5.cython_function_or_method
39
+ sp_mma_compress2: _cython_3_2_5.cython_function_or_method
40
+ sp_mma_compressed_size: _cython_3_2_5.cython_function_or_method
41
+ sp_mma_compressed_size2: _cython_3_2_5.cython_function_or_method
42
+ sp_mma_prune: _cython_3_2_5.cython_function_or_method
43
+ sp_mma_prune2: _cython_3_2_5.cython_function_or_method
44
+ sp_mma_prune_check: _cython_3_2_5.cython_function_or_method
45
+ sp_mma_prune_check2: _cython_3_2_5.cython_function_or_method
46
+ structured_descriptor_init: _cython_3_2_5.cython_function_or_method
47
+
48
+ class ComputeType(enum.IntEnum):
49
+ """
50
+ See `cusparseComputeType`.
51
+ """
52
+ __new__: ClassVar[Callable] = ...
53
+ COMPUTE_16F: ClassVar[ComputeType] = ...
54
+ COMPUTE_32F: ClassVar[ComputeType] = ...
55
+ COMPUTE_32I: ClassVar[ComputeType] = ...
56
+ _generate_next_value_: ClassVar[Callable] = ...
57
+ _hashable_values_: ClassVar[list] = ...
58
+ _member_map_: ClassVar[dict] = ...
59
+ _member_names_: ClassVar[list] = ...
60
+ _member_type_: ClassVar[type[int]] = ...
61
+ _unhashable_values_: ClassVar[list] = ...
62
+ _unhashable_values_map_: ClassVar[dict] = ...
63
+ _use_args_: ClassVar[bool] = ...
64
+ _value2member_map_: ClassVar[dict] = ...
65
+ def __format__(self, *args, **kwargs) -> str:
66
+ """Convert to a string according to format_spec."""
67
+
68
+ class MatDescAttribute(enum.IntEnum):
69
+ """
70
+ See `cusparseLtMatDescAttribute_t`.
71
+ """
72
+ __new__: ClassVar[Callable] = ...
73
+ BATCH_STRIDE: ClassVar[MatDescAttribute] = ...
74
+ NUM_BATCHES: ClassVar[MatDescAttribute] = ...
75
+ _generate_next_value_: ClassVar[Callable] = ...
76
+ _hashable_values_: ClassVar[list] = ...
77
+ _member_map_: ClassVar[dict] = ...
78
+ _member_names_: ClassVar[list] = ...
79
+ _member_type_: ClassVar[type[int]] = ...
80
+ _unhashable_values_: ClassVar[list] = ...
81
+ _unhashable_values_map_: ClassVar[dict] = ...
82
+ _use_args_: ClassVar[bool] = ...
83
+ _value2member_map_: ClassVar[dict] = ...
84
+ def __format__(self, *args, **kwargs) -> str:
85
+ """Convert to a string according to format_spec."""
86
+
87
+ class MatmulAlg(enum.IntEnum):
88
+ """
89
+ See `cusparseLtMatmulAlg_t`.
90
+ """
91
+ __new__: ClassVar[Callable] = ...
92
+ DEFAULT: ClassVar[MatmulAlg] = ...
93
+ _generate_next_value_: ClassVar[Callable] = ...
94
+ _hashable_values_: ClassVar[list] = ...
95
+ _member_map_: ClassVar[dict] = ...
96
+ _member_names_: ClassVar[list] = ...
97
+ _member_type_: ClassVar[type[int]] = ...
98
+ _unhashable_values_: ClassVar[list] = ...
99
+ _unhashable_values_map_: ClassVar[dict] = ...
100
+ _use_args_: ClassVar[bool] = ...
101
+ _value2member_map_: ClassVar[dict] = ...
102
+ def __format__(self, *args, **kwargs) -> str:
103
+ """Convert to a string according to format_spec."""
104
+
105
+ class MatmulAlgAttribute(enum.IntEnum):
106
+ """
107
+ See `cusparseLtMatmulAlgAttribute_t`.
108
+ """
109
+ __new__: ClassVar[Callable] = ...
110
+ CONFIG_ID: ClassVar[MatmulAlgAttribute] = ...
111
+ CONFIG_MAX_ID: ClassVar[MatmulAlgAttribute] = ...
112
+ SEARCH_ITERATIONS: ClassVar[MatmulAlgAttribute] = ...
113
+ SPLIT_K: ClassVar[MatmulAlgAttribute] = ...
114
+ SPLIT_K_BUFFERS: ClassVar[MatmulAlgAttribute] = ...
115
+ SPLIT_K_MODE: ClassVar[MatmulAlgAttribute] = ...
116
+ _generate_next_value_: ClassVar[Callable] = ...
117
+ _hashable_values_: ClassVar[list] = ...
118
+ _member_map_: ClassVar[dict] = ...
119
+ _member_names_: ClassVar[list] = ...
120
+ _member_type_: ClassVar[type[int]] = ...
121
+ _unhashable_values_: ClassVar[list] = ...
122
+ _unhashable_values_map_: ClassVar[dict] = ...
123
+ _use_args_: ClassVar[bool] = ...
124
+ _value2member_map_: ClassVar[dict] = ...
125
+ def __format__(self, *args, **kwargs) -> str:
126
+ """Convert to a string according to format_spec."""
127
+
128
+ class MatmulDescAttribute(enum.IntEnum):
129
+ """
130
+ See `cusparseLtMatmulDescAttribute_t`.
131
+ """
132
+ __new__: ClassVar[Callable] = ...
133
+ ACTIVATION_GELU: ClassVar[MatmulDescAttribute] = ...
134
+ ACTIVATION_GELU_SCALING: ClassVar[MatmulDescAttribute] = ...
135
+ ACTIVATION_RELU: ClassVar[MatmulDescAttribute] = ...
136
+ ACTIVATION_RELU_THRESHOLD: ClassVar[MatmulDescAttribute] = ...
137
+ ACTIVATION_RELU_UPPERBOUND: ClassVar[MatmulDescAttribute] = ...
138
+ ALPHA_VECTOR_SCALING: ClassVar[MatmulDescAttribute] = ...
139
+ A_SCALE_MODE: ClassVar[MatmulDescAttribute] = ...
140
+ A_SCALE_POINTER: ClassVar[MatmulDescAttribute] = ...
141
+ BETA_VECTOR_SCALING: ClassVar[MatmulDescAttribute] = ...
142
+ BIAS_POINTER: ClassVar[MatmulDescAttribute] = ...
143
+ BIAS_STRIDE: ClassVar[MatmulDescAttribute] = ...
144
+ B_SCALE_MODE: ClassVar[MatmulDescAttribute] = ...
145
+ B_SCALE_POINTER: ClassVar[MatmulDescAttribute] = ...
146
+ C_SCALE_MODE: ClassVar[MatmulDescAttribute] = ...
147
+ C_SCALE_POINTER: ClassVar[MatmulDescAttribute] = ...
148
+ D_OUT_SCALE_MODE: ClassVar[MatmulDescAttribute] = ...
149
+ D_OUT_SCALE_POINTER: ClassVar[MatmulDescAttribute] = ...
150
+ D_SCALE_MODE: ClassVar[MatmulDescAttribute] = ...
151
+ D_SCALE_POINTER: ClassVar[MatmulDescAttribute] = ...
152
+ SPARSE_MAT_POINTER: ClassVar[MatmulDescAttribute] = ...
153
+ _generate_next_value_: ClassVar[Callable] = ...
154
+ _hashable_values_: ClassVar[list] = ...
155
+ _member_map_: ClassVar[dict] = ...
156
+ _member_names_: ClassVar[list] = ...
157
+ _member_type_: ClassVar[type[int]] = ...
158
+ _unhashable_values_: ClassVar[list] = ...
159
+ _unhashable_values_map_: ClassVar[dict] = ...
160
+ _use_args_: ClassVar[bool] = ...
161
+ _value2member_map_: ClassVar[dict] = ...
162
+ def __format__(self, *args, **kwargs) -> str:
163
+ """Convert to a string according to format_spec."""
164
+
165
+ class MatmulMatrixScale(enum.IntEnum):
166
+ """
167
+ See `cusparseLtMatmulMatrixScale_t`.
168
+ """
169
+ __new__: ClassVar[Callable] = ...
170
+ NONE: ClassVar[MatmulMatrixScale] = ...
171
+ SCALAR_32F: ClassVar[MatmulMatrixScale] = ...
172
+ VEC32_UE4M3: ClassVar[MatmulMatrixScale] = ...
173
+ VEC64_UE8M0: ClassVar[MatmulMatrixScale] = ...
174
+ _generate_next_value_: ClassVar[Callable] = ...
175
+ _hashable_values_: ClassVar[list] = ...
176
+ _member_map_: ClassVar[dict] = ...
177
+ _member_names_: ClassVar[list] = ...
178
+ _member_type_: ClassVar[type[int]] = ...
179
+ _unhashable_values_: ClassVar[list] = ...
180
+ _unhashable_values_map_: ClassVar[dict] = ...
181
+ _use_args_: ClassVar[bool] = ...
182
+ _value2member_map_: ClassVar[dict] = ...
183
+ def __format__(self, *args, **kwargs) -> str:
184
+ """Convert to a string according to format_spec."""
185
+
186
+ class PruneAlg(enum.IntEnum):
187
+ """
188
+ See `cusparseLtPruneAlg_t`.
189
+ """
190
+ __new__: ClassVar[Callable] = ...
191
+ SPMMA_STRIP: ClassVar[PruneAlg] = ...
192
+ SPMMA_TILE: ClassVar[PruneAlg] = ...
193
+ _generate_next_value_: ClassVar[Callable] = ...
194
+ _hashable_values_: ClassVar[list] = ...
195
+ _member_map_: ClassVar[dict] = ...
196
+ _member_names_: ClassVar[list] = ...
197
+ _member_type_: ClassVar[type[int]] = ...
198
+ _unhashable_values_: ClassVar[list] = ...
199
+ _unhashable_values_map_: ClassVar[dict] = ...
200
+ _use_args_: ClassVar[bool] = ...
201
+ _value2member_map_: ClassVar[dict] = ...
202
+ def __format__(self, *args, **kwargs) -> str:
203
+ """Convert to a string according to format_spec."""
204
+
205
+ class Sparsity(enum.IntEnum):
206
+ """
207
+ See `cusparseLtSparsity_t`.
208
+ """
209
+ __new__: ClassVar[Callable] = ...
210
+ SPARSITY_50_PERCENT: ClassVar[Sparsity] = ...
211
+ _generate_next_value_: ClassVar[Callable] = ...
212
+ _hashable_values_: ClassVar[list] = ...
213
+ _member_map_: ClassVar[dict] = ...
214
+ _member_names_: ClassVar[list] = ...
215
+ _member_type_: ClassVar[type[int]] = ...
216
+ _unhashable_values_: ClassVar[list] = ...
217
+ _unhashable_values_map_: ClassVar[dict] = ...
218
+ _use_args_: ClassVar[bool] = ...
219
+ _value2member_map_: ClassVar[dict] = ...
220
+ def __format__(self, *args, **kwargs) -> str:
221
+ """Convert to a string according to format_spec."""
222
+
223
+ class SplitKMode(enum.IntEnum):
224
+ """
225
+ See `cusparseLtSplitKMode_t`.
226
+ """
227
+ __new__: ClassVar[Callable] = ...
228
+ DATAPARALLEL: ClassVar[SplitKMode] = ...
229
+ HEURISTIC: ClassVar[SplitKMode] = ...
230
+ INVALID_MODE: ClassVar[SplitKMode] = ...
231
+ ONE_KERNEL: ClassVar[SplitKMode] = ...
232
+ SPLITK: ClassVar[SplitKMode] = ...
233
+ STREAMK: ClassVar[SplitKMode] = ...
234
+ TWO_KERNELS: ClassVar[SplitKMode] = ...
235
+ _generate_next_value_: ClassVar[Callable] = ...
236
+ _hashable_values_: ClassVar[list] = ...
237
+ _member_map_: ClassVar[dict] = ...
238
+ _member_names_: ClassVar[list] = ...
239
+ _member_type_: ClassVar[type[int]] = ...
240
+ _unhashable_values_: ClassVar[list] = ...
241
+ _unhashable_values_map_: ClassVar[dict] = ...
242
+ _use_args_: ClassVar[bool] = ...
243
+ _value2member_map_: ClassVar[dict] = ...
244
+ def __format__(self, *args, **kwargs) -> str:
245
+ """Convert to a string according to format_spec."""
246
+
247
+ class cuSPARSELtError(Exception):
248
+ """cuSPARSELtError(status)"""
249
+ def __init__(self, status) -> Any:
250
+ """Initialize self. See help(type(self)) for accurate signature."""
251
+ def __reduce__(self) -> Any:
252
+ """cuSPARSELtError.__reduce__(self)"""
@@ -0,0 +1,98 @@
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 2.5.0, generator version 0.3.1.dev1393+g0a20dc9d7. Do not modify it directly.
6
+
7
+ cimport cython
8
+
9
+ from libc.stdint cimport intptr_t
10
+
11
+ from .cycutensor cimport *
12
+
13
+
14
+ ###############################################################################
15
+ # Types
16
+ ###############################################################################
17
+
18
+ ctypedef cutensorComputeDescriptor_t ComputeDescriptor
19
+ ctypedef cutensorOperationDescriptor_t OperationDescriptor
20
+ ctypedef cutensorPlan_t Plan
21
+ ctypedef cutensorPlanPreference_t PlanPreference
22
+ ctypedef cutensorHandle_t Handle
23
+ ctypedef cutensorTensorDescriptor_t TensorDescriptor
24
+ ctypedef cutensorBlockSparseTensorDescriptor_t BlockSparseTensorDescriptor
25
+ ctypedef cutensorLoggerCallback_t LoggerCallback
26
+
27
+ ctypedef cudaStream_t Stream
28
+ ctypedef cudaDataType DataType
29
+ ctypedef libraryPropertyType_t LibraryPropertyType
30
+
31
+
32
+ ###############################################################################
33
+ # Enum
34
+ ###############################################################################
35
+
36
+ ctypedef cutensorOperator_t _Operator
37
+ ctypedef cutensorStatus_t _Status
38
+ ctypedef cutensorAlgo_t _Algo
39
+ ctypedef cutensorWorksizePreference_t _WorksizePreference
40
+ ctypedef cutensorOperationDescriptorAttribute_t _OperationDescriptorAttribute
41
+ ctypedef cutensorPlanPreferenceAttribute_t _PlanPreferenceAttribute
42
+ ctypedef cutensorAutotuneMode_t _AutotuneMode
43
+ ctypedef cutensorJitMode_t _JitMode
44
+ ctypedef cutensorCacheMode_t _CacheMode
45
+ ctypedef cutensorPlanAttribute_t _PlanAttribute
46
+
47
+
48
+ ###############################################################################
49
+ # Functions
50
+ ###############################################################################
51
+
52
+ cpdef intptr_t create() except? 0
53
+ cpdef destroy(intptr_t handle)
54
+ cpdef handle_resize_plan_cache(intptr_t handle, uint32_t num_entries)
55
+ cpdef handle_write_plan_cache_to_file(intptr_t handle, filename)
56
+ cpdef uint32_t handle_read_plan_cache_from_file(intptr_t handle, filename) except? -1
57
+ cpdef write_kernel_cache_to_file(intptr_t handle, filename)
58
+ cpdef read_kernel_cache_from_file(intptr_t handle, filename)
59
+ cpdef intptr_t create_tensor_descriptor(intptr_t handle, uint32_t num_modes, extent, stride, int data_type, uint32_t alignment_requirement) except? 0
60
+ cpdef destroy_tensor_descriptor(intptr_t desc)
61
+ cpdef intptr_t create_elementwise_trinary(intptr_t handle, intptr_t desc_a, mode_a, int op_a, intptr_t desc_b, mode_b, int op_b, intptr_t desc_c, mode_c, int op_c, intptr_t desc_d, mode_d, int op_ab, int op_abc, intptr_t desc_compute) except? 0
62
+ cpdef elementwise_trinary_execute(intptr_t handle, intptr_t plan, intptr_t alpha, intptr_t a, intptr_t beta, intptr_t b, intptr_t gamma, intptr_t c, intptr_t d, intptr_t stream)
63
+ cpdef intptr_t create_elementwise_binary(intptr_t handle, intptr_t desc_a, mode_a, int op_a, intptr_t desc_c, mode_c, int op_c, intptr_t desc_d, mode_d, int op_ac, intptr_t desc_compute) except? 0
64
+ cpdef elementwise_binary_execute(intptr_t handle, intptr_t plan, intptr_t alpha, intptr_t a, intptr_t gamma, intptr_t c, intptr_t d, intptr_t stream)
65
+ cpdef intptr_t create_permutation(intptr_t handle, intptr_t desc_a, mode_a, int op_a, intptr_t desc_b, mode_b, intptr_t desc_compute) except? 0
66
+ cpdef permute(intptr_t handle, intptr_t plan, intptr_t alpha, intptr_t a, intptr_t b, intptr_t stream)
67
+ cpdef intptr_t create_contraction(intptr_t handle, intptr_t desc_a, mode_a, int op_a, intptr_t desc_b, mode_b, int op_b, intptr_t desc_c, mode_c, int op_c, intptr_t desc_d, mode_d, intptr_t desc_compute) except? 0
68
+ cpdef destroy_operation_descriptor(intptr_t desc)
69
+ cpdef get_operation_descriptor_attribute_dtype(int attr)
70
+ cpdef operation_descriptor_set_attribute(intptr_t handle, intptr_t desc, int attr, intptr_t buf, size_t size_in_bytes)
71
+ cpdef operation_descriptor_get_attribute(intptr_t handle, intptr_t desc, int attr, intptr_t buf, size_t size_in_bytes)
72
+ cpdef intptr_t create_plan_preference(intptr_t handle, int algo, int jit_mode) except? 0
73
+ cpdef destroy_plan_preference(intptr_t pref)
74
+ cpdef get_plan_preference_attribute_dtype(int attr)
75
+ cpdef plan_preference_get_attribute(intptr_t handle, intptr_t pref, int attr, intptr_t buf, size_t size_in_bytes)
76
+ cpdef plan_preference_set_attribute(intptr_t handle, intptr_t pref, int attr, intptr_t buf, size_t size_in_bytes)
77
+ cpdef get_plan_attribute_dtype(int attr)
78
+ cpdef plan_get_attribute(intptr_t handle, intptr_t plan, int attr, intptr_t buf, size_t size_in_bytes)
79
+ cpdef uint64_t estimate_workspace_size(intptr_t handle, intptr_t desc, intptr_t plan_pref, int workspace_pref) except? -1
80
+ cpdef intptr_t create_plan(intptr_t handle, intptr_t desc, intptr_t pref, uint64_t workspace_size_limit) except? 0
81
+ cpdef destroy_plan(intptr_t plan)
82
+ cpdef contract(intptr_t handle, intptr_t plan, intptr_t alpha, intptr_t a, intptr_t b, intptr_t beta, intptr_t c, intptr_t d, intptr_t workspace, uint64_t workspace_size, intptr_t stream)
83
+ cpdef intptr_t create_reduction(intptr_t handle, intptr_t desc_a, mode_a, int op_a, intptr_t desc_c, mode_c, int op_c, intptr_t desc_d, mode_d, int op_reduce, intptr_t desc_compute) except? 0
84
+ cpdef reduce(intptr_t handle, intptr_t plan, intptr_t alpha, intptr_t a, intptr_t beta, intptr_t c, intptr_t d, intptr_t workspace, uint64_t workspace_size, intptr_t stream)
85
+ cpdef intptr_t create_contraction_trinary(intptr_t handle, intptr_t desc_a, mode_a, int op_a, intptr_t desc_b, mode_b, int op_b, intptr_t desc_c, mode_c, int op_c, intptr_t desc_d, mode_d, int op_d, intptr_t desc_e, mode_e, intptr_t desc_compute) except? 0
86
+ cpdef contract_trinary(intptr_t handle, intptr_t plan, intptr_t alpha, intptr_t a, intptr_t b, intptr_t c, intptr_t beta, intptr_t d, intptr_t e, intptr_t workspace, uint64_t workspace_size, intptr_t stream)
87
+ cpdef intptr_t create_block_sparse_tensor_descriptor(intptr_t handle, uint32_t num_modes, uint64_t num_non_zero_blocks, num_sections_per_mode, extent, non_zero_coordinates, stride, int data_type) except? 0
88
+ cpdef destroy_block_sparse_tensor_descriptor(intptr_t desc)
89
+ cpdef intptr_t create_block_sparse_contraction(intptr_t handle, intptr_t desc_a, mode_a, int op_a, intptr_t desc_b, mode_b, int op_b, intptr_t desc_c, mode_c, int op_c, intptr_t desc_d, mode_d, intptr_t desc_compute) except? 0
90
+ cpdef block_sparse_contract(intptr_t handle, intptr_t plan, intptr_t alpha, a, b, intptr_t beta, c, d, intptr_t workspace, uint64_t workspace_size, intptr_t stream)
91
+ cpdef str get_error_string(int error)
92
+ cpdef size_t get_version() except? 0
93
+ cpdef size_t get_cudart_version() except? 0
94
+ cpdef logger_set_file(intptr_t file)
95
+ cpdef logger_open_file(log_file)
96
+ cpdef logger_set_level(int32_t level)
97
+ cpdef logger_set_mask(int32_t mask)
98
+ cpdef logger_force_disable()