nvmath-python 0.9.0__cp314-cp314-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 (309) 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 +383 -0
  7. nvmath/_utils.py +150 -0
  8. nvmath/bindings/__init__.py +51 -0
  9. nvmath/bindings/_internal/__init__.pxd +0 -0
  10. nvmath/bindings/_internal/__init__.py +0 -0
  11. nvmath/bindings/_internal/cublas.cp314-win_amd64.pyd +0 -0
  12. nvmath/bindings/_internal/cublas.pxd +530 -0
  13. nvmath/bindings/_internal/cublasLt.cp314-win_amd64.pyd +0 -0
  14. nvmath/bindings/_internal/cublasLt.pxd +59 -0
  15. nvmath/bindings/_internal/cublasMp.pxd +52 -0
  16. nvmath/bindings/_internal/cudss.cp314-win_amd64.pyd +0 -0
  17. nvmath/bindings/_internal/cudss.pxd +47 -0
  18. nvmath/bindings/_internal/cufft.cp314-win_amd64.pyd +0 -0
  19. nvmath/bindings/_internal/cufft.pxd +70 -0
  20. nvmath/bindings/_internal/cufftMp.pxd +77 -0
  21. nvmath/bindings/_internal/curand.cp314-win_amd64.pyd +0 -0
  22. nvmath/bindings/_internal/curand.pxd +42 -0
  23. nvmath/bindings/_internal/cusolver.cp314-win_amd64.pyd +0 -0
  24. nvmath/bindings/_internal/cusolver.pxd +15 -0
  25. nvmath/bindings/_internal/cusolverDn.cp314-win_amd64.pyd +0 -0
  26. nvmath/bindings/_internal/cusolverDn.pxd +406 -0
  27. nvmath/bindings/_internal/cusparse.cp314-win_amd64.pyd +0 -0
  28. nvmath/bindings/_internal/cusparse.pxd +277 -0
  29. nvmath/bindings/_internal/cusparseLt.cp314-win_amd64.pyd +0 -0
  30. nvmath/bindings/_internal/cusparseLt.pxd +48 -0
  31. nvmath/bindings/_internal/cutensor.cp314-win_amd64.pyd +0 -0
  32. nvmath/bindings/_internal/cutensor.pxd +58 -0
  33. nvmath/bindings/_internal/mathdx.cp314-win_amd64.pyd +0 -0
  34. nvmath/bindings/_internal/mathdx.pxd +116 -0
  35. nvmath/bindings/_internal/nvshmem.pxd +29 -0
  36. nvmath/bindings/_internal/utils.cp314-win_amd64.pyd +0 -0
  37. nvmath/bindings/_internal/utils.pxd +179 -0
  38. nvmath/bindings/_internal/utils.pyi +10 -0
  39. nvmath/bindings/cublas.cp314-win_amd64.pyd +0 -0
  40. nvmath/bindings/cublas.pxd +558 -0
  41. nvmath/bindings/cublas.pyi +746 -0
  42. nvmath/bindings/cublasLt.cp314-win_amd64.pyd +0 -0
  43. nvmath/bindings/cublasLt.pxd +109 -0
  44. nvmath/bindings/cublasLt.pyi +1337 -0
  45. nvmath/bindings/cublasMp.pxd +85 -0
  46. nvmath/bindings/cublasMp.pyi +219 -0
  47. nvmath/bindings/cudss.cp314-win_amd64.pyd +0 -0
  48. nvmath/bindings/cudss.pxd +86 -0
  49. nvmath/bindings/cudss.pyi +282 -0
  50. nvmath/bindings/cufft.cp314-win_amd64.pyd +0 -0
  51. nvmath/bindings/cufft.pxd +118 -0
  52. nvmath/bindings/cufft.pyi +241 -0
  53. nvmath/bindings/cufftMp.pxd +124 -0
  54. nvmath/bindings/cufftMp.pyi +260 -0
  55. nvmath/bindings/curand.cp314-win_amd64.pyd +0 -0
  56. nvmath/bindings/curand.pxd +71 -0
  57. nvmath/bindings/curand.pyi +159 -0
  58. nvmath/bindings/cusolver.cp314-win_amd64.pyd +0 -0
  59. nvmath/bindings/cusolver.pxd +62 -0
  60. nvmath/bindings/cusolver.pyi +242 -0
  61. nvmath/bindings/cusolverDn.cp314-win_amd64.pyd +0 -0
  62. nvmath/bindings/cusolverDn.pxd +430 -0
  63. nvmath/bindings/cusolverDn.pyi +416 -0
  64. nvmath/bindings/cusparse.cp314-win_amd64.pyd +0 -0
  65. nvmath/bindings/cusparse.pxd +338 -0
  66. nvmath/bindings/cusparse.pyi +659 -0
  67. nvmath/bindings/cusparseLt.cp314-win_amd64.pyd +0 -0
  68. nvmath/bindings/cusparseLt.pxd +99 -0
  69. nvmath/bindings/cusparseLt.pyi +198 -0
  70. nvmath/bindings/cutensor.cp314-win_amd64.pyd +0 -0
  71. nvmath/bindings/cutensor.pxd +98 -0
  72. nvmath/bindings/cutensor.pyi +294 -0
  73. nvmath/bindings/cycublas.cp314-win_amd64.pyd +0 -0
  74. nvmath/bindings/cycublas.pxd +684 -0
  75. nvmath/bindings/cycublasLt.cp314-win_amd64.pyd +0 -0
  76. nvmath/bindings/cycublasLt.pxd +1055 -0
  77. nvmath/bindings/cycublasMp.pxd +183 -0
  78. nvmath/bindings/cycudss.cp314-win_amd64.pyd +0 -0
  79. nvmath/bindings/cycudss.pxd +224 -0
  80. nvmath/bindings/cycufft.cp314-win_amd64.pyd +0 -0
  81. nvmath/bindings/cycufft.pxd +326 -0
  82. nvmath/bindings/cycufftMp.pxd +334 -0
  83. nvmath/bindings/cycurand.cp314-win_amd64.pyd +0 -0
  84. nvmath/bindings/cycurand.pxd +146 -0
  85. nvmath/bindings/cycusolver.cp314-win_amd64.pyd +0 -0
  86. nvmath/bindings/cycusolver.pxd +154 -0
  87. nvmath/bindings/cycusolverDn.cp314-win_amd64.pyd +0 -0
  88. nvmath/bindings/cycusolverDn.pxd +446 -0
  89. nvmath/bindings/cycusparse.cp314-win_amd64.pyd +0 -0
  90. nvmath/bindings/cycusparse.pxd +470 -0
  91. nvmath/bindings/cycusparseLt.cp314-win_amd64.pyd +0 -0
  92. nvmath/bindings/cycusparseLt.pxd +150 -0
  93. nvmath/bindings/cycutensor.cp314-win_amd64.pyd +0 -0
  94. nvmath/bindings/cycutensor.pxd +192 -0
  95. nvmath/bindings/cymathdx.cp314-win_amd64.pyd +0 -0
  96. nvmath/bindings/cymathdx.pxd +552 -0
  97. nvmath/bindings/cynvshmem.pxd +126 -0
  98. nvmath/bindings/mathdx.cp314-win_amd64.pyd +0 -0
  99. nvmath/bindings/mathdx.pxd +182 -0
  100. nvmath/bindings/mathdx.pyi +1244 -0
  101. nvmath/bindings/nvpl/__init__.pxd +0 -0
  102. nvmath/bindings/nvpl/__init__.py +13 -0
  103. nvmath/bindings/nvpl/_internal/__init__.pxd +0 -0
  104. nvmath/bindings/nvpl/_internal/__init__.py +0 -0
  105. nvmath/bindings/nvpl/_internal/blas.cp314-win_amd64.pyd +0 -0
  106. nvmath/bindings/nvpl/_internal/blas.pxd +125 -0
  107. nvmath/bindings/nvpl/_internal/fft.cp314-win_amd64.pyd +0 -0
  108. nvmath/bindings/nvpl/_internal/fft.pxd +36 -0
  109. nvmath/bindings/nvpl/blas.cp314-win_amd64.pyd +0 -0
  110. nvmath/bindings/nvpl/blas.pxd +85 -0
  111. nvmath/bindings/nvpl/blas.pyi +122 -0
  112. nvmath/bindings/nvpl/cyblas.cp314-win_amd64.pyd +0 -0
  113. nvmath/bindings/nvpl/cyblas.pxd +166 -0
  114. nvmath/bindings/nvpl/cyfft.cp314-win_amd64.pyd +0 -0
  115. nvmath/bindings/nvpl/cyfft.pxd +92 -0
  116. nvmath/bindings/nvpl/fft.cp314-win_amd64.pyd +0 -0
  117. nvmath/bindings/nvpl/fft.pxd +100 -0
  118. nvmath/bindings/nvpl/fft.pyi +100 -0
  119. nvmath/bindings/nvshmem.pxd +54 -0
  120. nvmath/bindings/nvshmem.pyi +179 -0
  121. nvmath/device/__init__.py +21 -0
  122. nvmath/device/_deprecated.py +33 -0
  123. nvmath/device/common.py +313 -0
  124. nvmath/device/common_backend.py +131 -0
  125. nvmath/device/common_cuda.py +201 -0
  126. nvmath/device/common_numba.py +310 -0
  127. nvmath/device/common_opaque_tensor.py +201 -0
  128. nvmath/device/cublasdx.py +1805 -0
  129. nvmath/device/cublasdx_backend.py +807 -0
  130. nvmath/device/cublasdx_numba.py +1612 -0
  131. nvmath/device/cufftdx.py +510 -0
  132. nvmath/device/cufftdx_backend.py +196 -0
  133. nvmath/device/cufftdx_numba.py +196 -0
  134. nvmath/device/curand_kernel.py +9147 -0
  135. nvmath/device/cusolverdx.py +2690 -0
  136. nvmath/device/cusolverdx_backend.py +440 -0
  137. nvmath/device/cusolverdx_numba.py +1624 -0
  138. nvmath/device/llvm_array.py +29 -0
  139. nvmath/device/random.py +445 -0
  140. nvmath/device/random_helpers.py +23 -0
  141. nvmath/device/random_states.py +187 -0
  142. nvmath/device/types.py +147 -0
  143. nvmath/device/vector_types_numba.py +203 -0
  144. nvmath/distributed/__init__.py +205 -0
  145. nvmath/distributed/_internal/__init__.py +0 -0
  146. nvmath/distributed/_internal/nvshmem.py +302 -0
  147. nvmath/distributed/_internal/tensor_ifc.py +67 -0
  148. nvmath/distributed/_internal/tensor_ifc_cupy.py +62 -0
  149. nvmath/distributed/_internal/tensor_ifc_host_device.py +165 -0
  150. nvmath/distributed/_internal/tensor_ifc_numpy.py +41 -0
  151. nvmath/distributed/_internal/tensor_ifc_torch.py +141 -0
  152. nvmath/distributed/_internal/tensor_wrapper.py +78 -0
  153. nvmath/distributed/_utils.py +167 -0
  154. nvmath/distributed/distribution.py +770 -0
  155. nvmath/distributed/fft/__init__.py +7 -0
  156. nvmath/distributed/fft/_configuration.py +79 -0
  157. nvmath/distributed/fft/fft.py +2801 -0
  158. nvmath/distributed/linalg/__init__.py +12 -0
  159. nvmath/distributed/linalg/_internal/__init__.py +3 -0
  160. nvmath/distributed/linalg/_internal/epilog_protocol.py +496 -0
  161. nvmath/distributed/linalg/_internal/matmul_desc_ifc.py +28 -0
  162. nvmath/distributed/linalg/advanced/__init__.py +8 -0
  163. nvmath/distributed/linalg/advanced/_configuration.py +166 -0
  164. nvmath/distributed/linalg/advanced/matmulmod.py +2908 -0
  165. nvmath/distributed/process_group.py +408 -0
  166. nvmath/distributed/reshape/__init__.py +6 -0
  167. nvmath/distributed/reshape/_configuration.py +39 -0
  168. nvmath/distributed/reshape/reshape.py +1256 -0
  169. nvmath/fft/__init__.py +7 -0
  170. nvmath/fft/_configuration.py +208 -0
  171. nvmath/fft/_exec_utils.py +109 -0
  172. nvmath/fft/_helpers.py +237 -0
  173. nvmath/fft/fft.py +2903 -0
  174. nvmath/internal/__init__.pxd +3 -0
  175. nvmath/internal/__init__.py +10 -0
  176. nvmath/internal/_bindings.cp314-win_amd64.pyd +0 -0
  177. nvmath/internal/_bindings.pxd +12 -0
  178. nvmath/internal/_device_utils.py +54 -0
  179. nvmath/internal/enum_utils.py +142 -0
  180. nvmath/internal/formatters.py +87 -0
  181. nvmath/internal/mem_limit.py +51 -0
  182. nvmath/internal/memory.cp314-win_amd64.pyd +0 -0
  183. nvmath/internal/memory.pxd +10 -0
  184. nvmath/internal/memory.pyi +46 -0
  185. nvmath/internal/ndbuffer/__init__.pxd +3 -0
  186. nvmath/internal/ndbuffer/__init__.py +7 -0
  187. nvmath/internal/ndbuffer/copy_kernel/args.h +34 -0
  188. nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/array_view.h +52 -0
  189. nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/elementwise.h +68 -0
  190. nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/grid_indexer.h +69 -0
  191. nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/transposed.h +240 -0
  192. nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/type_utils.h +39 -0
  193. nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/utils.h +132 -0
  194. nvmath/internal/ndbuffer/copy_kernel/copy_kernel_impl/vec.h +159 -0
  195. nvmath/internal/ndbuffer/copy_kernel/elementwise.h +53 -0
  196. nvmath/internal/ndbuffer/copy_kernel/transposed.h +58 -0
  197. nvmath/internal/ndbuffer/copy_kernel.cp314-win_amd64.pyd +0 -0
  198. nvmath/internal/ndbuffer/copy_kernel.pxd +9 -0
  199. nvmath/internal/ndbuffer/copy_kernel.pyi +9 -0
  200. nvmath/internal/ndbuffer/data_layout.cp314-win_amd64.pyd +0 -0
  201. nvmath/internal/ndbuffer/data_layout.pxd +72 -0
  202. nvmath/internal/ndbuffer/data_layout.pyi +23 -0
  203. nvmath/internal/ndbuffer/jit.cp314-win_amd64.pyd +0 -0
  204. nvmath/internal/ndbuffer/jit.pxd +7 -0
  205. nvmath/internal/ndbuffer/jit.pyi +6 -0
  206. nvmath/internal/ndbuffer/ndbuffer.cp314-win_amd64.pyd +0 -0
  207. nvmath/internal/ndbuffer/ndbuffer.pxd +36 -0
  208. nvmath/internal/ndbuffer/ndbuffer.pyi +41 -0
  209. nvmath/internal/ndbuffer/package_utils.cp314-win_amd64.pyd +0 -0
  210. nvmath/internal/ndbuffer/package_utils.pxd +11 -0
  211. nvmath/internal/ndbuffer/package_utils.pyi +12 -0
  212. nvmath/internal/package_ifc.py +147 -0
  213. nvmath/internal/package_ifc_cuda.py +49 -0
  214. nvmath/internal/package_ifc_cupy.py +49 -0
  215. nvmath/internal/package_ifc_torch.py +31 -0
  216. nvmath/internal/package_wrapper.py +14 -0
  217. nvmath/internal/tensor_ifc.py +194 -0
  218. nvmath/internal/tensor_ifc_cupy.py +241 -0
  219. nvmath/internal/tensor_ifc_ndbuffer.py +153 -0
  220. nvmath/internal/tensor_ifc_numpy.py +183 -0
  221. nvmath/internal/tensor_ifc_torch.py +176 -0
  222. nvmath/internal/tensor_wrapper.py +157 -0
  223. nvmath/internal/typemaps.py +162 -0
  224. nvmath/internal/utils.py +771 -0
  225. nvmath/linalg/__init__.py +46 -0
  226. nvmath/linalg/_internal/__init__.py +3 -0
  227. nvmath/linalg/_internal/algo_cap_ifc.py +82 -0
  228. nvmath/linalg/_internal/algo_config_ifc.py +43 -0
  229. nvmath/linalg/_internal/batch.py +217 -0
  230. nvmath/linalg/_internal/enum_to_tuples.py +64 -0
  231. nvmath/linalg/_internal/epilog_protocol.py +766 -0
  232. nvmath/linalg/_internal/layout.py +624 -0
  233. nvmath/linalg/_internal/matmul_desc_ifc.py +28 -0
  234. nvmath/linalg/_internal/matmul_pref_ifc.py +27 -0
  235. nvmath/linalg/_internal/matrix_layout_ifc.py +26 -0
  236. nvmath/linalg/_internal/typemaps.py +144 -0
  237. nvmath/linalg/_internal/utils.py +134 -0
  238. nvmath/linalg/advanced/__init__.py +8 -0
  239. nvmath/linalg/advanced/_algorithmmod.py +149 -0
  240. nvmath/linalg/advanced/_configuration.py +349 -0
  241. nvmath/linalg/advanced/helpers/__init__.py +5 -0
  242. nvmath/linalg/advanced/helpers/matmul.py +1348 -0
  243. nvmath/linalg/advanced/matmulmod.py +3937 -0
  244. nvmath/linalg/generic/__init__.py +43 -0
  245. nvmath/linalg/generic/_configuration/__init__.py +37 -0
  246. nvmath/linalg/generic/_configuration/layout.py +263 -0
  247. nvmath/linalg/generic/_configuration/match.py +609 -0
  248. nvmath/linalg/generic/_configuration/qualifiers.py +494 -0
  249. nvmath/linalg/generic/_configuration/wrap.py +217 -0
  250. nvmath/linalg/generic/_dtype.py +15 -0
  251. nvmath/linalg/generic/matmulmod.py +1060 -0
  252. nvmath/memory.py +282 -0
  253. nvmath/sparse/__init__.py +38 -0
  254. nvmath/sparse/_internal/__init__.py +21 -0
  255. nvmath/sparse/_internal/common_utils.py +144 -0
  256. nvmath/sparse/_internal/cudss_config_ifc.py +741 -0
  257. nvmath/sparse/_internal/cudss_data_ifc.py +399 -0
  258. nvmath/sparse/_internal/cudss_utils.py +445 -0
  259. nvmath/sparse/_internal/cusparse_utils.py +382 -0
  260. nvmath/sparse/_internal/sparse_bsc_ifc.py +300 -0
  261. nvmath/sparse/_internal/sparse_bsr_ifc.py +303 -0
  262. nvmath/sparse/_internal/sparse_coo_ifc.py +254 -0
  263. nvmath/sparse/_internal/sparse_csc_ifc.py +266 -0
  264. nvmath/sparse/_internal/sparse_csr_ifc.py +266 -0
  265. nvmath/sparse/_internal/sparse_dia_ifc.py +239 -0
  266. nvmath/sparse/_internal/sparse_format_helpers.py +601 -0
  267. nvmath/sparse/_internal/sparse_tensor_ifc.py +121 -0
  268. nvmath/sparse/_internal/sparse_ust_ifc.py +146 -0
  269. nvmath/sparse/_internal/utils.py +56 -0
  270. nvmath/sparse/advanced/__init__.py +7 -0
  271. nvmath/sparse/advanced/_configuration.py +230 -0
  272. nvmath/sparse/advanced/direct_solver.py +1884 -0
  273. nvmath/sparse/generic/__init__.py +7 -0
  274. nvmath/sparse/generic/_configuration.py +129 -0
  275. nvmath/sparse/generic/_helpers.py +137 -0
  276. nvmath/sparse/generic/_thunks.py +21 -0
  277. nvmath/sparse/generic/matmulmod.py +2426 -0
  278. nvmath/sparse/ust/__init__.py +7 -0
  279. nvmath/sparse/ust/_converters.py +378 -0
  280. nvmath/sparse/ust/_drawer.py +552 -0
  281. nvmath/sparse/ust/_emitter.py +553 -0
  282. nvmath/sparse/ust/_jit.py +212 -0
  283. nvmath/sparse/ust/_kernel.py +346 -0
  284. nvmath/sparse/ust/_semiring.py +71 -0
  285. nvmath/sparse/ust/_utils.py +102 -0
  286. nvmath/sparse/ust/interfaces/__init__.py +0 -0
  287. nvmath/sparse/ust/interfaces/torch_interface.py +476 -0
  288. nvmath/sparse/ust/semiring_ops.py +71 -0
  289. nvmath/sparse/ust/tensor.py +1027 -0
  290. nvmath/sparse/ust/tensor_drawer.py +552 -0
  291. nvmath/sparse/ust/tensor_emitter.py +558 -0
  292. nvmath/sparse/ust/tensor_format.py +935 -0
  293. nvmath/sparse/ust/tensor_jit.py +212 -0
  294. nvmath/sparse/ust/tensor_kernel.py +348 -0
  295. nvmath/sparse/ust/tensor_utils.py +380 -0
  296. nvmath/tensor/__init__.py +6 -0
  297. nvmath/tensor/_configuration.py +95 -0
  298. nvmath/tensor/_internal/__init__.py +3 -0
  299. nvmath/tensor/_internal/cutensor_config_ifc.py +247 -0
  300. nvmath/tensor/_internal/cutensor_utils.py +162 -0
  301. nvmath/tensor/_internal/data.py +43 -0
  302. nvmath/tensor/_internal/einsum_parser.py +444 -0
  303. nvmath/tensor/_internal/typemaps.py +96 -0
  304. nvmath/tensor/contract.py +1861 -0
  305. nvmath_python-0.9.0.dist-info/METADATA +127 -0
  306. nvmath_python-0.9.0.dist-info/RECORD +309 -0
  307. nvmath_python-0.9.0.dist-info/WHEEL +5 -0
  308. nvmath_python-0.9.0.dist-info/licenses/LICENSE +177 -0
  309. nvmath_python-0.9.0.dist-info/top_level.txt +2 -0
@@ -0,0 +1,146 @@
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 12.0.1 to 13.2.0, generator version 0.3.1.dev1301+g7215ac36e. 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
+
12
+ ###############################################################################
13
+ # Types (structs, enums, ...)
14
+ ###############################################################################
15
+
16
+ # enums
17
+ ctypedef enum curandStatus "curandStatus":
18
+ CURAND_STATUS_SUCCESS "CURAND_STATUS_SUCCESS" = 0
19
+ CURAND_STATUS_VERSION_MISMATCH "CURAND_STATUS_VERSION_MISMATCH" = 100
20
+ CURAND_STATUS_NOT_INITIALIZED "CURAND_STATUS_NOT_INITIALIZED" = 101
21
+ CURAND_STATUS_ALLOCATION_FAILED "CURAND_STATUS_ALLOCATION_FAILED" = 102
22
+ CURAND_STATUS_TYPE_ERROR "CURAND_STATUS_TYPE_ERROR" = 103
23
+ CURAND_STATUS_OUT_OF_RANGE "CURAND_STATUS_OUT_OF_RANGE" = 104
24
+ CURAND_STATUS_LENGTH_NOT_MULTIPLE "CURAND_STATUS_LENGTH_NOT_MULTIPLE" = 105
25
+ CURAND_STATUS_DOUBLE_PRECISION_REQUIRED "CURAND_STATUS_DOUBLE_PRECISION_REQUIRED" = 106
26
+ CURAND_STATUS_LAUNCH_FAILURE "CURAND_STATUS_LAUNCH_FAILURE" = 201
27
+ CURAND_STATUS_PREEXISTING_FAILURE "CURAND_STATUS_PREEXISTING_FAILURE" = 202
28
+ CURAND_STATUS_INITIALIZATION_FAILED "CURAND_STATUS_INITIALIZATION_FAILED" = 203
29
+ CURAND_STATUS_ARCH_MISMATCH "CURAND_STATUS_ARCH_MISMATCH" = 204
30
+ CURAND_STATUS_INTERNAL_ERROR "CURAND_STATUS_INTERNAL_ERROR" = 999
31
+ _CURANDSTATUS_T_INTERNAL_LOADING_ERROR "_CURANDSTATUS_T_INTERNAL_LOADING_ERROR" = -42
32
+
33
+ ctypedef curandStatus curandStatus_t "curandStatus_t"
34
+
35
+ ctypedef enum curandRngType "curandRngType":
36
+ CURAND_RNG_TEST "CURAND_RNG_TEST" = 0
37
+ CURAND_RNG_PSEUDO_DEFAULT "CURAND_RNG_PSEUDO_DEFAULT" = 100
38
+ CURAND_RNG_PSEUDO_XORWOW "CURAND_RNG_PSEUDO_XORWOW" = 101
39
+ CURAND_RNG_PSEUDO_MRG32K3A "CURAND_RNG_PSEUDO_MRG32K3A" = 121
40
+ CURAND_RNG_PSEUDO_MTGP32 "CURAND_RNG_PSEUDO_MTGP32" = 141
41
+ CURAND_RNG_PSEUDO_MT19937 "CURAND_RNG_PSEUDO_MT19937" = 142
42
+ CURAND_RNG_PSEUDO_PHILOX4_32_10 "CURAND_RNG_PSEUDO_PHILOX4_32_10" = 161
43
+ CURAND_RNG_QUASI_DEFAULT "CURAND_RNG_QUASI_DEFAULT" = 200
44
+ CURAND_RNG_QUASI_SOBOL32 "CURAND_RNG_QUASI_SOBOL32" = 201
45
+ CURAND_RNG_QUASI_SCRAMBLED_SOBOL32 "CURAND_RNG_QUASI_SCRAMBLED_SOBOL32" = 202
46
+ CURAND_RNG_QUASI_SOBOL64 "CURAND_RNG_QUASI_SOBOL64" = 203
47
+ CURAND_RNG_QUASI_SCRAMBLED_SOBOL64 "CURAND_RNG_QUASI_SCRAMBLED_SOBOL64" = 204
48
+
49
+ ctypedef curandRngType curandRngType_t "curandRngType_t"
50
+
51
+ ctypedef enum curandOrdering "curandOrdering":
52
+ CURAND_ORDERING_PSEUDO_BEST "CURAND_ORDERING_PSEUDO_BEST" = 100
53
+ CURAND_ORDERING_PSEUDO_DEFAULT "CURAND_ORDERING_PSEUDO_DEFAULT" = 101
54
+ CURAND_ORDERING_PSEUDO_SEEDED "CURAND_ORDERING_PSEUDO_SEEDED" = 102
55
+ CURAND_ORDERING_PSEUDO_LEGACY "CURAND_ORDERING_PSEUDO_LEGACY" = 103
56
+ CURAND_ORDERING_PSEUDO_DYNAMIC "CURAND_ORDERING_PSEUDO_DYNAMIC" = 104
57
+ CURAND_ORDERING_QUASI_DEFAULT "CURAND_ORDERING_QUASI_DEFAULT" = 201
58
+
59
+ ctypedef curandOrdering curandOrdering_t "curandOrdering_t"
60
+
61
+ ctypedef enum curandDirectionVectorSet "curandDirectionVectorSet":
62
+ CURAND_DIRECTION_VECTORS_32_JOEKUO6 "CURAND_DIRECTION_VECTORS_32_JOEKUO6" = 101
63
+ CURAND_SCRAMBLED_DIRECTION_VECTORS_32_JOEKUO6 "CURAND_SCRAMBLED_DIRECTION_VECTORS_32_JOEKUO6" = 102
64
+ CURAND_DIRECTION_VECTORS_64_JOEKUO6 "CURAND_DIRECTION_VECTORS_64_JOEKUO6" = 103
65
+ CURAND_SCRAMBLED_DIRECTION_VECTORS_64_JOEKUO6 "CURAND_SCRAMBLED_DIRECTION_VECTORS_64_JOEKUO6" = 104
66
+
67
+ ctypedef curandDirectionVectorSet curandDirectionVectorSet_t "curandDirectionVectorSet_t"
68
+
69
+ ctypedef enum curandMethod "curandMethod":
70
+ CURAND_CHOOSE_BEST "CURAND_CHOOSE_BEST" = 0
71
+ CURAND_ITR "CURAND_ITR" = 1
72
+ CURAND_KNUTH "CURAND_KNUTH" = 2
73
+ CURAND_HITR "CURAND_HITR" = 3
74
+ CURAND_M1 "CURAND_M1" = 4
75
+ CURAND_M2 "CURAND_M2" = 5
76
+ CURAND_BINARY_SEARCH "CURAND_BINARY_SEARCH" = 6
77
+ CURAND_DISCRETE_GAUSS "CURAND_DISCRETE_GAUSS" = 7
78
+ CURAND_REJECTION "CURAND_REJECTION" = 8
79
+ CURAND_DEVICE_API "CURAND_DEVICE_API" = 9
80
+ CURAND_FAST_REJECTION "CURAND_FAST_REJECTION" = 10
81
+ CURAND_3RD "CURAND_3RD" = 11
82
+ CURAND_DEFINITION "CURAND_DEFINITION" = 12
83
+ CURAND_POISSON "CURAND_POISSON" = 13
84
+
85
+ ctypedef curandMethod curandMethod_t "curandMethod_t"
86
+
87
+
88
+ # types
89
+ cdef extern from *:
90
+ """
91
+ #include <driver_types.h>
92
+ #include <library_types.h>
93
+ #include <cuComplex.h>
94
+ """
95
+ ctypedef void* cudaStream_t 'cudaStream_t'
96
+ ctypedef int cudaDataType_t 'cudaDataType_t'
97
+ ctypedef int cudaDataType 'cudaDataType'
98
+ ctypedef int libraryPropertyType_t 'libraryPropertyType_t'
99
+ ctypedef int libraryPropertyType 'libraryPropertyType'
100
+
101
+
102
+ ctypedef void* curandGenerator_t 'curandGenerator_t'
103
+ ctypedef void* curandDistribution_t 'curandDistribution_t'
104
+ ctypedef void* curandDistributionShift_t 'curandDistributionShift_t'
105
+ ctypedef void* curandDistributionM2Shift_t 'curandDistributionM2Shift_t'
106
+ ctypedef void* curandHistogramM2_t 'curandHistogramM2_t'
107
+ ctypedef void* curandHistogramM2K_t 'curandHistogramM2K_t'
108
+ ctypedef void* curandHistogramM2V_t 'curandHistogramM2V_t'
109
+ ctypedef void* curandDiscreteDistribution_t 'curandDiscreteDistribution_t'
110
+ ctypedef unsigned int curandDirectionVectors32_t[32]
111
+ ctypedef unsigned long long curandDirectionVectors64_t[64]
112
+
113
+
114
+ ###############################################################################
115
+ # Functions
116
+ ###############################################################################
117
+
118
+ cdef curandStatus_t curandCreateGenerator(curandGenerator_t* generator, curandRngType_t rng_type) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
119
+ cdef curandStatus_t curandCreateGeneratorHost(curandGenerator_t* generator, curandRngType_t rng_type) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
120
+ cdef curandStatus_t curandDestroyGenerator(curandGenerator_t generator) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
121
+ cdef curandStatus_t curandGetVersion(int* version) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
122
+ cdef curandStatus_t curandGetProperty(libraryPropertyType type, int* value) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
123
+ cdef curandStatus_t curandSetStream(curandGenerator_t generator, cudaStream_t stream) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
124
+ cdef curandStatus_t curandSetPseudoRandomGeneratorSeed(curandGenerator_t generator, unsigned long long seed) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
125
+ cdef curandStatus_t curandSetGeneratorOffset(curandGenerator_t generator, unsigned long long offset) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
126
+ cdef curandStatus_t curandSetGeneratorOrdering(curandGenerator_t generator, curandOrdering_t order) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
127
+ cdef curandStatus_t curandSetQuasiRandomGeneratorDimensions(curandGenerator_t generator, unsigned int num_dimensions) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
128
+ cdef curandStatus_t curandGenerate(curandGenerator_t generator, unsigned int* outputPtr, size_t num) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
129
+ cdef curandStatus_t curandGenerateLongLong(curandGenerator_t generator, unsigned long long* outputPtr, size_t num) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
130
+ cdef curandStatus_t curandGenerateUniform(curandGenerator_t generator, float* outputPtr, size_t num) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
131
+ cdef curandStatus_t curandGenerateUniformDouble(curandGenerator_t generator, double* outputPtr, size_t num) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
132
+ cdef curandStatus_t curandGenerateNormal(curandGenerator_t generator, float* outputPtr, size_t n, float mean, float stddev) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
133
+ cdef curandStatus_t curandGenerateNormalDouble(curandGenerator_t generator, double* outputPtr, size_t n, double mean, double stddev) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
134
+ cdef curandStatus_t curandGenerateLogNormal(curandGenerator_t generator, float* outputPtr, size_t n, float mean, float stddev) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
135
+ cdef curandStatus_t curandGenerateLogNormalDouble(curandGenerator_t generator, double* outputPtr, size_t n, double mean, double stddev) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
136
+ cdef curandStatus_t curandCreatePoissonDistribution(double lambda_, curandDiscreteDistribution_t* discrete_distribution) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
137
+ cdef curandStatus_t curandDestroyDistribution(curandDiscreteDistribution_t discrete_distribution) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
138
+ cdef curandStatus_t curandGeneratePoisson(curandGenerator_t generator, unsigned int* outputPtr, size_t n, double lambda_) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
139
+ cdef curandStatus_t curandGeneratePoissonMethod(curandGenerator_t generator, unsigned int* outputPtr, size_t n, double lambda_, curandMethod_t method) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
140
+ cdef curandStatus_t curandGenerateBinomial(curandGenerator_t generator, unsigned int* outputPtr, size_t num, unsigned int n, double p) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
141
+ cdef curandStatus_t curandGenerateBinomialMethod(curandGenerator_t generator, unsigned int* outputPtr, size_t num, unsigned int n, double p, curandMethod_t method) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
142
+ cdef curandStatus_t curandGenerateSeeds(curandGenerator_t generator) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
143
+ cdef curandStatus_t curandGetDirectionVectors32(curandDirectionVectors32_t* vectors[], curandDirectionVectorSet_t set) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
144
+ cdef curandStatus_t curandGetScrambleConstants32(unsigned int** constants) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
145
+ cdef curandStatus_t curandGetDirectionVectors64(curandDirectionVectors64_t* vectors[], curandDirectionVectorSet_t set) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
146
+ cdef curandStatus_t curandGetScrambleConstants64(unsigned long long** constants) except?_CURANDSTATUS_T_INTERNAL_LOADING_ERROR nogil
@@ -0,0 +1,154 @@
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 12.0.1 to 13.2.1, generator version 0.3.1.dev1380+g2c74a7741. 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
+
10
+ from .cycublas cimport (cublasFillMode_t, cublasSideMode_t, cublasOperation_t,
11
+ cublasDiagType_t,)
12
+
13
+
14
+ ###############################################################################
15
+ # Types (structs, enums, ...)
16
+ ###############################################################################
17
+
18
+ # enums
19
+ ctypedef enum cusolverStatus_t "cusolverStatus_t":
20
+ CUSOLVER_STATUS_SUCCESS "CUSOLVER_STATUS_SUCCESS" = 0
21
+ CUSOLVER_STATUS_NOT_INITIALIZED "CUSOLVER_STATUS_NOT_INITIALIZED" = 1
22
+ CUSOLVER_STATUS_ALLOC_FAILED "CUSOLVER_STATUS_ALLOC_FAILED" = 2
23
+ CUSOLVER_STATUS_INVALID_VALUE "CUSOLVER_STATUS_INVALID_VALUE" = 3
24
+ CUSOLVER_STATUS_ARCH_MISMATCH "CUSOLVER_STATUS_ARCH_MISMATCH" = 4
25
+ CUSOLVER_STATUS_MAPPING_ERROR "CUSOLVER_STATUS_MAPPING_ERROR" = 5
26
+ CUSOLVER_STATUS_EXECUTION_FAILED "CUSOLVER_STATUS_EXECUTION_FAILED" = 6
27
+ CUSOLVER_STATUS_INTERNAL_ERROR "CUSOLVER_STATUS_INTERNAL_ERROR" = 7
28
+ CUSOLVER_STATUS_MATRIX_TYPE_NOT_SUPPORTED "CUSOLVER_STATUS_MATRIX_TYPE_NOT_SUPPORTED" = 8
29
+ CUSOLVER_STATUS_NOT_SUPPORTED "CUSOLVER_STATUS_NOT_SUPPORTED" = 9
30
+ CUSOLVER_STATUS_ZERO_PIVOT "CUSOLVER_STATUS_ZERO_PIVOT" = 10
31
+ CUSOLVER_STATUS_INVALID_LICENSE "CUSOLVER_STATUS_INVALID_LICENSE" = 11
32
+ CUSOLVER_STATUS_IRS_PARAMS_NOT_INITIALIZED "CUSOLVER_STATUS_IRS_PARAMS_NOT_INITIALIZED" = 12
33
+ CUSOLVER_STATUS_IRS_PARAMS_INVALID "CUSOLVER_STATUS_IRS_PARAMS_INVALID" = 13
34
+ CUSOLVER_STATUS_IRS_PARAMS_INVALID_PREC "CUSOLVER_STATUS_IRS_PARAMS_INVALID_PREC" = 14
35
+ CUSOLVER_STATUS_IRS_PARAMS_INVALID_REFINE "CUSOLVER_STATUS_IRS_PARAMS_INVALID_REFINE" = 15
36
+ CUSOLVER_STATUS_IRS_PARAMS_INVALID_MAXITER "CUSOLVER_STATUS_IRS_PARAMS_INVALID_MAXITER" = 16
37
+ CUSOLVER_STATUS_IRS_INTERNAL_ERROR "CUSOLVER_STATUS_IRS_INTERNAL_ERROR" = 20
38
+ CUSOLVER_STATUS_IRS_NOT_SUPPORTED "CUSOLVER_STATUS_IRS_NOT_SUPPORTED" = 21
39
+ CUSOLVER_STATUS_IRS_OUT_OF_RANGE "CUSOLVER_STATUS_IRS_OUT_OF_RANGE" = 22
40
+ CUSOLVER_STATUS_IRS_NRHS_NOT_SUPPORTED_FOR_REFINE_GMRES "CUSOLVER_STATUS_IRS_NRHS_NOT_SUPPORTED_FOR_REFINE_GMRES" = 23
41
+ CUSOLVER_STATUS_IRS_INFOS_NOT_INITIALIZED "CUSOLVER_STATUS_IRS_INFOS_NOT_INITIALIZED" = 25
42
+ CUSOLVER_STATUS_IRS_INFOS_NOT_DESTROYED "CUSOLVER_STATUS_IRS_INFOS_NOT_DESTROYED" = 26
43
+ CUSOLVER_STATUS_IRS_MATRIX_SINGULAR "CUSOLVER_STATUS_IRS_MATRIX_SINGULAR" = 30
44
+ CUSOLVER_STATUS_INVALID_WORKSPACE "CUSOLVER_STATUS_INVALID_WORKSPACE" = 31
45
+ _CUSOLVERSTATUS_T_INTERNAL_LOADING_ERROR "_CUSOLVERSTATUS_T_INTERNAL_LOADING_ERROR" = -42
46
+
47
+ ctypedef enum cusolverEigType_t "cusolverEigType_t":
48
+ CUSOLVER_EIG_TYPE_1 "CUSOLVER_EIG_TYPE_1" = 1
49
+ CUSOLVER_EIG_TYPE_2 "CUSOLVER_EIG_TYPE_2" = 2
50
+ CUSOLVER_EIG_TYPE_3 "CUSOLVER_EIG_TYPE_3" = 3
51
+
52
+ ctypedef enum cusolverEigMode_t "cusolverEigMode_t":
53
+ CUSOLVER_EIG_MODE_NOVECTOR "CUSOLVER_EIG_MODE_NOVECTOR" = 0
54
+ CUSOLVER_EIG_MODE_VECTOR "CUSOLVER_EIG_MODE_VECTOR" = 1
55
+
56
+ ctypedef enum cusolverEigRange_t "cusolverEigRange_t":
57
+ CUSOLVER_EIG_RANGE_ALL "CUSOLVER_EIG_RANGE_ALL" = 1001
58
+ CUSOLVER_EIG_RANGE_I "CUSOLVER_EIG_RANGE_I" = 1002
59
+ CUSOLVER_EIG_RANGE_V "CUSOLVER_EIG_RANGE_V" = 1003
60
+
61
+ ctypedef enum cusolverNorm_t "cusolverNorm_t":
62
+ CUSOLVER_INF_NORM "CUSOLVER_INF_NORM" = 104
63
+ CUSOLVER_MAX_NORM "CUSOLVER_MAX_NORM" = 105
64
+ CUSOLVER_ONE_NORM "CUSOLVER_ONE_NORM" = 106
65
+ CUSOLVER_FRO_NORM "CUSOLVER_FRO_NORM" = 107
66
+
67
+ ctypedef enum cusolverIRSRefinement_t "cusolverIRSRefinement_t":
68
+ CUSOLVER_IRS_REFINE_NOT_SET "CUSOLVER_IRS_REFINE_NOT_SET" = 1100
69
+ CUSOLVER_IRS_REFINE_NONE "CUSOLVER_IRS_REFINE_NONE" = 1101
70
+ CUSOLVER_IRS_REFINE_CLASSICAL "CUSOLVER_IRS_REFINE_CLASSICAL" = 1102
71
+ CUSOLVER_IRS_REFINE_CLASSICAL_GMRES "CUSOLVER_IRS_REFINE_CLASSICAL_GMRES" = 1103
72
+ CUSOLVER_IRS_REFINE_GMRES "CUSOLVER_IRS_REFINE_GMRES" = 1104
73
+ CUSOLVER_IRS_REFINE_GMRES_GMRES "CUSOLVER_IRS_REFINE_GMRES_GMRES" = 1105
74
+ CUSOLVER_IRS_REFINE_GMRES_NOPCOND "CUSOLVER_IRS_REFINE_GMRES_NOPCOND" = 1106
75
+ CUSOLVER_PREC_DD "CUSOLVER_PREC_DD" = 1150
76
+ CUSOLVER_PREC_SS "CUSOLVER_PREC_SS" = 1151
77
+ CUSOLVER_PREC_SHT "CUSOLVER_PREC_SHT" = 1152
78
+
79
+ ctypedef enum cusolverPrecType_t "cusolverPrecType_t":
80
+ CUSOLVER_R_8I "CUSOLVER_R_8I" = 1201
81
+ CUSOLVER_R_8U "CUSOLVER_R_8U" = 1202
82
+ CUSOLVER_R_64F "CUSOLVER_R_64F" = 1203
83
+ CUSOLVER_R_32F "CUSOLVER_R_32F" = 1204
84
+ CUSOLVER_R_16F "CUSOLVER_R_16F" = 1205
85
+ CUSOLVER_R_16BF "CUSOLVER_R_16BF" = 1206
86
+ CUSOLVER_R_TF32 "CUSOLVER_R_TF32" = 1207
87
+ CUSOLVER_R_AP "CUSOLVER_R_AP" = 1208
88
+ CUSOLVER_C_8I "CUSOLVER_C_8I" = 1211
89
+ CUSOLVER_C_8U "CUSOLVER_C_8U" = 1212
90
+ CUSOLVER_C_64F "CUSOLVER_C_64F" = 1213
91
+ CUSOLVER_C_32F "CUSOLVER_C_32F" = 1214
92
+ CUSOLVER_C_16F "CUSOLVER_C_16F" = 1215
93
+ CUSOLVER_C_16BF "CUSOLVER_C_16BF" = 1216
94
+ CUSOLVER_C_TF32 "CUSOLVER_C_TF32" = 1217
95
+ CUSOLVER_C_AP "CUSOLVER_C_AP" = 1218
96
+
97
+ ctypedef enum cusolverAlgMode_t "cusolverAlgMode_t":
98
+ CUSOLVER_ALG_0 "CUSOLVER_ALG_0" = 0
99
+ CUSOLVER_ALG_1 "CUSOLVER_ALG_1" = 1
100
+ CUSOLVER_ALG_2 "CUSOLVER_ALG_2" = 2
101
+
102
+ ctypedef enum cusolverStorevMode_t "cusolverStorevMode_t":
103
+ CUBLAS_STOREV_COLUMNWISE "CUBLAS_STOREV_COLUMNWISE" = 0
104
+ CUBLAS_STOREV_ROWWISE "CUBLAS_STOREV_ROWWISE" = 1
105
+
106
+ ctypedef enum cusolverDirectMode_t "cusolverDirectMode_t":
107
+ CUBLAS_DIRECT_FORWARD "CUBLAS_DIRECT_FORWARD" = 0
108
+ CUBLAS_DIRECT_BACKWARD "CUBLAS_DIRECT_BACKWARD" = 1
109
+
110
+ ctypedef enum cusolverDeterministicMode_t "cusolverDeterministicMode_t":
111
+ CUSOLVER_DETERMINISTIC_RESULTS "CUSOLVER_DETERMINISTIC_RESULTS" = 1
112
+ CUSOLVER_ALLOW_NON_DETERMINISTIC_RESULTS "CUSOLVER_ALLOW_NON_DETERMINISTIC_RESULTS" = 2
113
+
114
+ ctypedef enum cusolverMathMode_t "cusolverMathMode_t":
115
+ CUSOLVER_DEFAULT_MATH "CUSOLVER_DEFAULT_MATH" = 1
116
+ CUSOLVER_FP32_EMULATED_BF16X9_MATH "CUSOLVER_FP32_EMULATED_BF16X9_MATH" = 2
117
+ CUSOLVER_FP64_EMULATED_FIXEDPOINT_MATH "CUSOLVER_FP64_EMULATED_FIXEDPOINT_MATH" = 4
118
+ CUSOLVER_FP32_FP64_EMULATED_MATH "CUSOLVER_FP32_FP64_EMULATED_MATH" = 6
119
+
120
+ ctypedef enum cusolverEigComp_t "cusolverEigComp_t":
121
+ CUSOLVER_EIG_COMP_N "CUSOLVER_EIG_COMP_N" = 10
122
+ CUSOLVER_EIG_COMP_I "CUSOLVER_EIG_COMP_I" = 11
123
+ CUSOLVER_EIG_COMP_V "CUSOLVER_EIG_COMP_V" = 12
124
+
125
+
126
+ # types
127
+ cdef extern from *:
128
+ """
129
+ #include <driver_types.h>
130
+ #include <library_types.h>
131
+ #include <cuComplex.h>
132
+ """
133
+ ctypedef void* cudaStream_t 'cudaStream_t'
134
+ ctypedef int cudaDataType_t 'cudaDataType_t'
135
+ ctypedef int cudaDataType 'cudaDataType'
136
+ ctypedef int libraryPropertyType_t 'libraryPropertyType_t'
137
+ ctypedef int libraryPropertyType 'libraryPropertyType'
138
+
139
+ ctypedef struct cuComplex:
140
+ pass
141
+ ctypedef struct cuDoubleComplex:
142
+ pass
143
+
144
+
145
+
146
+ ctypedef int cusolver_int_t 'cusolver_int_t'
147
+
148
+
149
+ ###############################################################################
150
+ # Functions
151
+ ###############################################################################
152
+
153
+ cdef cusolverStatus_t cusolverGetProperty(libraryPropertyType type, int* value) except?_CUSOLVERSTATUS_T_INTERNAL_LOADING_ERROR nogil
154
+ cdef cusolverStatus_t cusolverGetVersion(int* version) except?_CUSOLVERSTATUS_T_INTERNAL_LOADING_ERROR nogil