nvmath-python 0.5.0__cp313-cp313-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 (174) hide show
  1. nvmath/__init__.pxd +0 -0
  2. nvmath/__init__.py +37 -0
  3. nvmath/_internal/__init__.py +0 -0
  4. nvmath/_internal/layout.py +58 -0
  5. nvmath/_utils.py +363 -0
  6. nvmath/bindings/__init__.pxd +0 -0
  7. nvmath/bindings/__init__.py +44 -0
  8. nvmath/bindings/_internal/__init__.pxd +0 -0
  9. nvmath/bindings/_internal/__init__.py +0 -0
  10. nvmath/bindings/_internal/cublas.cp313-win_amd64.pyd +0 -0
  11. nvmath/bindings/_internal/cublas.pxd +518 -0
  12. nvmath/bindings/_internal/cublasLt.cp313-win_amd64.pyd +0 -0
  13. nvmath/bindings/_internal/cublasLt.pxd +54 -0
  14. nvmath/bindings/_internal/cudss.cp313-win_amd64.pyd +0 -0
  15. nvmath/bindings/_internal/cudss.pxd +44 -0
  16. nvmath/bindings/_internal/cufft.cp313-win_amd64.pyd +0 -0
  17. nvmath/bindings/_internal/cufft.pxd +69 -0
  18. nvmath/bindings/_internal/cufftMp.pxd +77 -0
  19. nvmath/bindings/_internal/curand.cp313-win_amd64.pyd +0 -0
  20. nvmath/bindings/_internal/curand.pxd +42 -0
  21. nvmath/bindings/_internal/cusolver.cp313-win_amd64.pyd +0 -0
  22. nvmath/bindings/_internal/cusolver.pxd +15 -0
  23. nvmath/bindings/_internal/cusolverDn.cp313-win_amd64.pyd +0 -0
  24. nvmath/bindings/_internal/cusolverDn.pxd +386 -0
  25. nvmath/bindings/_internal/cusparse.cp313-win_amd64.pyd +0 -0
  26. nvmath/bindings/_internal/cusparse.pxd +270 -0
  27. nvmath/bindings/_internal/mathdx.cp313-win_amd64.pyd +0 -0
  28. nvmath/bindings/_internal/mathdx.pxd +79 -0
  29. nvmath/bindings/_internal/nvshmem.pxd +29 -0
  30. nvmath/bindings/_internal/utils.cp313-win_amd64.pyd +0 -0
  31. nvmath/bindings/_internal/utils.pxd +186 -0
  32. nvmath/bindings/cublas.cp313-win_amd64.pyd +0 -0
  33. nvmath/bindings/cublas.pxd +545 -0
  34. nvmath/bindings/cublas.pyi +18 -0
  35. nvmath/bindings/cublasLt.cp313-win_amd64.pyd +0 -0
  36. nvmath/bindings/cublasLt.pxd +99 -0
  37. nvmath/bindings/cudss.cp313-win_amd64.pyd +0 -0
  38. nvmath/bindings/cudss.pxd +83 -0
  39. nvmath/bindings/cudss.pyi +249 -0
  40. nvmath/bindings/cufft.cp313-win_amd64.pyd +0 -0
  41. nvmath/bindings/cufft.pxd +114 -0
  42. nvmath/bindings/cufftMp.pxd +124 -0
  43. nvmath/bindings/curand.cp313-win_amd64.pyd +0 -0
  44. nvmath/bindings/curand.pxd +71 -0
  45. nvmath/bindings/cusolver.cp313-win_amd64.pyd +0 -0
  46. nvmath/bindings/cusolver.pxd +60 -0
  47. nvmath/bindings/cusolverDn.cp313-win_amd64.pyd +0 -0
  48. nvmath/bindings/cusolverDn.pxd +410 -0
  49. nvmath/bindings/cusparse.cp313-win_amd64.pyd +0 -0
  50. nvmath/bindings/cusparse.pxd +329 -0
  51. nvmath/bindings/cycublas.cp313-win_amd64.pyd +0 -0
  52. nvmath/bindings/cycublas.pxd +657 -0
  53. nvmath/bindings/cycublasLt.cp313-win_amd64.pyd +0 -0
  54. nvmath/bindings/cycublasLt.pxd +1010 -0
  55. nvmath/bindings/cycudss.cp313-win_amd64.pyd +0 -0
  56. nvmath/bindings/cycudss.pxd +191 -0
  57. nvmath/bindings/cycufft.cp313-win_amd64.pyd +0 -0
  58. nvmath/bindings/cycufft.pxd +320 -0
  59. nvmath/bindings/cycufftMp.pxd +333 -0
  60. nvmath/bindings/cycurand.cp313-win_amd64.pyd +0 -0
  61. nvmath/bindings/cycurand.pxd +146 -0
  62. nvmath/bindings/cycusolver.cp313-win_amd64.pyd +0 -0
  63. nvmath/bindings/cycusolver.pxd +143 -0
  64. nvmath/bindings/cycusolverDn.cp313-win_amd64.pyd +0 -0
  65. nvmath/bindings/cycusolverDn.pxd +414 -0
  66. nvmath/bindings/cycusparse.cp313-win_amd64.pyd +0 -0
  67. nvmath/bindings/cycusparse.pxd +476 -0
  68. nvmath/bindings/cymathdx.cp313-win_amd64.pyd +0 -0
  69. nvmath/bindings/cymathdx.pxd +363 -0
  70. nvmath/bindings/cynvshmem.pxd +126 -0
  71. nvmath/bindings/mathdx.cp313-win_amd64.pyd +0 -0
  72. nvmath/bindings/mathdx.pxd +131 -0
  73. nvmath/bindings/mathdx.pyi +686 -0
  74. nvmath/bindings/nvpl/__init__.pxd +0 -0
  75. nvmath/bindings/nvpl/__init__.py +11 -0
  76. nvmath/bindings/nvpl/_internal/__init__.pxd +0 -0
  77. nvmath/bindings/nvpl/_internal/__init__.py +0 -0
  78. nvmath/bindings/nvpl/_internal/fft.pxd +36 -0
  79. nvmath/bindings/nvpl/cyfft.pxd +87 -0
  80. nvmath/bindings/nvpl/fft.pxd +100 -0
  81. nvmath/bindings/nvshmem.pxd +54 -0
  82. nvmath/device/__init__.py +23 -0
  83. nvmath/device/_deprecated.py +33 -0
  84. nvmath/device/caching.py +51 -0
  85. nvmath/device/common.py +131 -0
  86. nvmath/device/common_backend.py +125 -0
  87. nvmath/device/common_cuda.py +156 -0
  88. nvmath/device/common_mathdx.py +97 -0
  89. nvmath/device/common_numba.py +159 -0
  90. nvmath/device/common_opaque_tensor.py +128 -0
  91. nvmath/device/cublasdx.py +1085 -0
  92. nvmath/device/cublasdx_backend.py +552 -0
  93. nvmath/device/cublasdx_numba.py +528 -0
  94. nvmath/device/cufftdx.py +551 -0
  95. nvmath/device/cufftdx_backend.py +194 -0
  96. nvmath/device/cufftdx_numba.py +123 -0
  97. nvmath/device/curand_kernel.py +9147 -0
  98. nvmath/device/nvrtc.py +95 -0
  99. nvmath/device/patch.py +35 -0
  100. nvmath/device/random.py +417 -0
  101. nvmath/device/random_helpers.py +23 -0
  102. nvmath/device/random_states.py +189 -0
  103. nvmath/device/types.py +11 -0
  104. nvmath/device/vector_types_numba.py +203 -0
  105. nvmath/distributed/__init__.py +117 -0
  106. nvmath/distributed/_internal/__init__.py +0 -0
  107. nvmath/distributed/_internal/nvshmem.py +243 -0
  108. nvmath/distributed/_internal/tensor_ifc_cupy.py +111 -0
  109. nvmath/distributed/_internal/tensor_ifc_numpy.py +53 -0
  110. nvmath/distributed/_internal/tensor_ifc_torch.py +108 -0
  111. nvmath/distributed/_internal/tensor_wrapper.py +59 -0
  112. nvmath/distributed/_utils.py +152 -0
  113. nvmath/distributed/fft/__init__.py +6 -0
  114. nvmath/distributed/fft/_configuration.py +86 -0
  115. nvmath/distributed/fft/fft.py +1737 -0
  116. nvmath/distributed/reshape/__init__.py +6 -0
  117. nvmath/distributed/reshape/_configuration.py +39 -0
  118. nvmath/distributed/reshape/reshape.py +1249 -0
  119. nvmath/fft/__init__.py +7 -0
  120. nvmath/fft/_configuration.py +208 -0
  121. nvmath/fft/_exec_utils.py +116 -0
  122. nvmath/fft/_helpers.py +260 -0
  123. nvmath/fft/fft.py +2346 -0
  124. nvmath/internal/__init__.py +5 -0
  125. nvmath/internal/enum_utils.py +142 -0
  126. nvmath/internal/formatters.py +87 -0
  127. nvmath/internal/mem_limit.py +51 -0
  128. nvmath/internal/package_ifc.py +119 -0
  129. nvmath/internal/package_ifc_cuda.py +43 -0
  130. nvmath/internal/package_ifc_cupy.py +49 -0
  131. nvmath/internal/package_ifc_torch.py +31 -0
  132. nvmath/internal/package_wrapper.py +14 -0
  133. nvmath/internal/tensor_ifc.py +143 -0
  134. nvmath/internal/tensor_ifc_cupy.py +185 -0
  135. nvmath/internal/tensor_ifc_numpy.py +157 -0
  136. nvmath/internal/tensor_ifc_torch.py +115 -0
  137. nvmath/internal/tensor_wrapper.py +160 -0
  138. nvmath/internal/typemaps.py +154 -0
  139. nvmath/internal/utils.py +634 -0
  140. nvmath/linalg/__init__.py +11 -0
  141. nvmath/linalg/_internal/__init__.py +3 -0
  142. nvmath/linalg/_internal/algo_cap_ifc.py +86 -0
  143. nvmath/linalg/_internal/algo_config_ifc.py +87 -0
  144. nvmath/linalg/_internal/enum_to_tuples.py +64 -0
  145. nvmath/linalg/_internal/epilog_protocol.py +738 -0
  146. nvmath/linalg/_internal/matmul_desc_ifc.py +72 -0
  147. nvmath/linalg/_internal/matmul_pref_ifc.py +65 -0
  148. nvmath/linalg/_internal/matrix_layout_ifc.py +59 -0
  149. nvmath/linalg/_internal/typemaps.py +135 -0
  150. nvmath/linalg/_internal/utils.py +96 -0
  151. nvmath/linalg/advanced/__init__.py +8 -0
  152. nvmath/linalg/advanced/_algorithmmod.py +142 -0
  153. nvmath/linalg/advanced/_configuration.py +320 -0
  154. nvmath/linalg/advanced/helpers/__init__.py +5 -0
  155. nvmath/linalg/advanced/helpers/matmul.py +173 -0
  156. nvmath/linalg/advanced/matmulmod.py +2855 -0
  157. nvmath/memory.py +266 -0
  158. nvmath/sparse/__init__.py +18 -0
  159. nvmath/sparse/_internal/__init__.py +21 -0
  160. nvmath/sparse/_internal/common_utils.py +81 -0
  161. nvmath/sparse/_internal/cudss_config_ifc.py +584 -0
  162. nvmath/sparse/_internal/cudss_data_ifc.py +291 -0
  163. nvmath/sparse/_internal/cudss_utils.py +398 -0
  164. nvmath/sparse/_internal/sparse_csr_ifc.py +154 -0
  165. nvmath/sparse/_internal/sparse_format_helpers.py +88 -0
  166. nvmath/sparse/_internal/sparse_tensor_ifc.py +80 -0
  167. nvmath/sparse/advanced/__init__.py +7 -0
  168. nvmath/sparse/advanced/_configuration.py +150 -0
  169. nvmath/sparse/advanced/direct_solver.py +1705 -0
  170. nvmath_python-0.5.0.dist-info/METADATA +122 -0
  171. nvmath_python-0.5.0.dist-info/RECORD +174 -0
  172. nvmath_python-0.5.0.dist-info/WHEEL +5 -0
  173. nvmath_python-0.5.0.dist-info/licenses/LICENSE +177 -0
  174. nvmath_python-0.5.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,333 @@
1
+ # Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES. ALL RIGHTS RESERVED.
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+ #
5
+ # This code was automatically generated across versions from 11.2.6 to 11.4.0. Do not modify it directly.
6
+ # This layer exposes the C header to Cython as-is.
7
+
8
+ ###############################################################################
9
+ # Types (structs, enums, ...)
10
+ ###############################################################################
11
+
12
+ # enums
13
+ ctypedef enum libFormat_t "libFormat_t":
14
+ LIB_FORMAT_CUFFT "LIB_FORMAT_CUFFT" = 0x0
15
+ LIB_FORMAT_UNDEFINED "LIB_FORMAT_UNDEFINED" = 0x1
16
+
17
+ ctypedef enum cufftResult "cufftResult":
18
+ CUFFT_SUCCESS "CUFFT_SUCCESS" = 0x0
19
+ CUFFT_INVALID_PLAN "CUFFT_INVALID_PLAN" = 0x1
20
+ CUFFT_ALLOC_FAILED "CUFFT_ALLOC_FAILED" = 0x2
21
+ CUFFT_INVALID_TYPE "CUFFT_INVALID_TYPE" = 0x3
22
+ CUFFT_INVALID_VALUE "CUFFT_INVALID_VALUE" = 0x4
23
+ CUFFT_INTERNAL_ERROR "CUFFT_INTERNAL_ERROR" = 0x5
24
+ CUFFT_EXEC_FAILED "CUFFT_EXEC_FAILED" = 0x6
25
+ CUFFT_SETUP_FAILED "CUFFT_SETUP_FAILED" = 0x7
26
+ CUFFT_INVALID_SIZE "CUFFT_INVALID_SIZE" = 0x8
27
+ CUFFT_UNALIGNED_DATA "CUFFT_UNALIGNED_DATA" = 0x9
28
+ CUFFT_INCOMPLETE_PARAMETER_LIST "CUFFT_INCOMPLETE_PARAMETER_LIST" = 0xA
29
+ CUFFT_INVALID_DEVICE "CUFFT_INVALID_DEVICE" = 0xB
30
+ CUFFT_PARSE_ERROR "CUFFT_PARSE_ERROR" = 0xC
31
+ CUFFT_NO_WORKSPACE "CUFFT_NO_WORKSPACE" = 0xD
32
+ CUFFT_NOT_IMPLEMENTED "CUFFT_NOT_IMPLEMENTED" = 0xE
33
+ CUFFT_LICENSE_ERROR "CUFFT_LICENSE_ERROR" = 0x0F
34
+ CUFFT_NOT_SUPPORTED "CUFFT_NOT_SUPPORTED" = 0x10
35
+ _CUFFTRESULT_INTERNAL_LOADING_ERROR "_CUFFTRESULT_INTERNAL_LOADING_ERROR" = -42
36
+
37
+ ctypedef enum cufftType "cufftType":
38
+ CUFFT_R2C "CUFFT_R2C" = 0x2a
39
+ CUFFT_C2R "CUFFT_C2R" = 0x2c
40
+ CUFFT_C2C "CUFFT_C2C" = 0x29
41
+ CUFFT_D2Z "CUFFT_D2Z" = 0x6a
42
+ CUFFT_Z2D "CUFFT_Z2D" = 0x6c
43
+ CUFFT_Z2Z "CUFFT_Z2Z" = 0x69
44
+
45
+ ctypedef enum cufftCompatibility "cufftCompatibility":
46
+ CUFFT_COMPATIBILITY_FFTW_PADDING "CUFFT_COMPATIBILITY_FFTW_PADDING" = 0x01
47
+
48
+ ctypedef enum cufftProperty "cufftProperty":
49
+ NVFFT_PLAN_PROPERTY_INT64_PATIENT_JIT "NVFFT_PLAN_PROPERTY_INT64_PATIENT_JIT" = 0x1
50
+ NVFFT_PLAN_PROPERTY_INT64_MAX_NUM_HOST_THREADS "NVFFT_PLAN_PROPERTY_INT64_MAX_NUM_HOST_THREADS" = 0x2
51
+
52
+ ctypedef enum cufftXtSubFormat "cufftXtSubFormat":
53
+ CUFFT_XT_FORMAT_INPUT "CUFFT_XT_FORMAT_INPUT" = 0x00
54
+ CUFFT_XT_FORMAT_OUTPUT "CUFFT_XT_FORMAT_OUTPUT" = 0x01
55
+ CUFFT_XT_FORMAT_INPLACE "CUFFT_XT_FORMAT_INPLACE" = 0x02
56
+ CUFFT_XT_FORMAT_INPLACE_SHUFFLED "CUFFT_XT_FORMAT_INPLACE_SHUFFLED" = 0x03
57
+ CUFFT_XT_FORMAT_1D_INPUT_SHUFFLED "CUFFT_XT_FORMAT_1D_INPUT_SHUFFLED" = 0x04
58
+ CUFFT_XT_FORMAT_DISTRIBUTED_INPUT "CUFFT_XT_FORMAT_DISTRIBUTED_INPUT" = 0x05
59
+ CUFFT_XT_FORMAT_DISTRIBUTED_OUTPUT "CUFFT_XT_FORMAT_DISTRIBUTED_OUTPUT" = 0x06
60
+ CUFFT_FORMAT_UNDEFINED "CUFFT_FORMAT_UNDEFINED" = 0x07
61
+
62
+ ctypedef enum cufftXtCopyType "cufftXtCopyType":
63
+ CUFFT_COPY_HOST_TO_DEVICE "CUFFT_COPY_HOST_TO_DEVICE" = 0x00
64
+ CUFFT_COPY_DEVICE_TO_HOST "CUFFT_COPY_DEVICE_TO_HOST" = 0x01
65
+ CUFFT_COPY_DEVICE_TO_DEVICE "CUFFT_COPY_DEVICE_TO_DEVICE" = 0x02
66
+ CUFFT_COPY_UNDEFINED "CUFFT_COPY_UNDEFINED" = 0x03
67
+
68
+ ctypedef enum cufftXtQueryType "cufftXtQueryType":
69
+ CUFFT_QUERY_1D_FACTORS "CUFFT_QUERY_1D_FACTORS" = 0x00
70
+ CUFFT_QUERY_UNDEFINED "CUFFT_QUERY_UNDEFINED" = 0x01
71
+
72
+ ctypedef enum cufftXtWorkAreaPolicy "cufftXtWorkAreaPolicy":
73
+ CUFFT_WORKAREA_MINIMAL "CUFFT_WORKAREA_MINIMAL" = 0
74
+ CUFFT_WORKAREA_USER "CUFFT_WORKAREA_USER" = 1
75
+ CUFFT_WORKAREA_PERFORMANCE "CUFFT_WORKAREA_PERFORMANCE" = 2
76
+
77
+ ctypedef enum cufftXtCallbackType "cufftXtCallbackType":
78
+ CUFFT_CB_LD_COMPLEX "CUFFT_CB_LD_COMPLEX" = 0x0
79
+ CUFFT_CB_LD_COMPLEX_DOUBLE "CUFFT_CB_LD_COMPLEX_DOUBLE" = 0x1
80
+ CUFFT_CB_LD_REAL "CUFFT_CB_LD_REAL" = 0x2
81
+ CUFFT_CB_LD_REAL_DOUBLE "CUFFT_CB_LD_REAL_DOUBLE" = 0x3
82
+ CUFFT_CB_ST_COMPLEX "CUFFT_CB_ST_COMPLEX" = 0x4
83
+ CUFFT_CB_ST_COMPLEX_DOUBLE "CUFFT_CB_ST_COMPLEX_DOUBLE" = 0x5
84
+ CUFFT_CB_ST_REAL "CUFFT_CB_ST_REAL" = 0x6
85
+ CUFFT_CB_ST_REAL_DOUBLE "CUFFT_CB_ST_REAL_DOUBLE" = 0x7
86
+ CUFFT_CB_UNDEFINED "CUFFT_CB_UNDEFINED" = 0x8
87
+
88
+ ctypedef enum cufftMpCommType "cufftMpCommType":
89
+ CUFFT_COMM_MPI "CUFFT_COMM_MPI" = 0x00
90
+ CUFFT_COMM_NONE "CUFFT_COMM_NONE" = 0x01
91
+
92
+
93
+ # types
94
+ cdef extern from *:
95
+ """
96
+ #include <driver_types.h>
97
+ #include <library_types.h>
98
+ #include <cuComplex.h>
99
+
100
+ #define MAX_CUDA_DESCRIPTOR_GPUS 64
101
+ #define CUFFT_FORWARD -1
102
+ #define CUFFT_INVERSE 1
103
+ """
104
+ ctypedef void* cudaStream_t 'cudaStream_t'
105
+ ctypedef int cudaDataType_t 'cudaDataType_t'
106
+ ctypedef int cudaDataType 'cudaDataType'
107
+ ctypedef int libraryPropertyType_t 'libraryPropertyType_t'
108
+ ctypedef int libraryPropertyType 'libraryPropertyType'
109
+
110
+ ctypedef struct cuComplex:
111
+ pass
112
+ ctypedef struct cuDoubleComplex:
113
+ pass
114
+
115
+ cdef const int MAX_CUDA_DESCRIPTOR_GPUS
116
+ cdef const int cuFFTFORWARD
117
+ cdef const int cuFFTINVERSE
118
+
119
+
120
+ ctypedef float cufftReal 'cufftReal'
121
+ ctypedef double cufftDoubleReal 'cufftDoubleReal'
122
+ ctypedef cuComplex cufftComplex 'cufftComplex'
123
+ ctypedef cuDoubleComplex cufftDoubleComplex 'cufftDoubleComplex'
124
+ ctypedef int cufftHandle 'cufftHandle'
125
+ ctypedef void* cufftReshapeHandle 'cufftReshapeHandle'
126
+ ctypedef struct cufftXt1dFactors 'cufftXt1dFactors':
127
+ long long int size
128
+ long long int stringCount
129
+ long long int stringLength
130
+ long long int substringLength
131
+ long long int factor1
132
+ long long int factor2
133
+ long long int stringMask
134
+ long long int substringMask
135
+ long long int factor1Mask
136
+ long long int factor2Mask
137
+ int stringShift
138
+ int substringShift
139
+ int factor1Shift
140
+ int factor2Shift
141
+ ctypedef cufftComplex (*cufftCallbackLoadC 'cufftCallbackLoadC')(
142
+ void* dataIn,
143
+ size_t offset,
144
+ void* callerInfo,
145
+ void* sharedPointer
146
+ )
147
+ ctypedef cufftDoubleComplex (*cufftCallbackLoadZ 'cufftCallbackLoadZ')(
148
+ void* dataIn,
149
+ size_t offset,
150
+ void* callerInfo,
151
+ void* sharedPointer
152
+ )
153
+ ctypedef cufftReal (*cufftCallbackLoadR 'cufftCallbackLoadR')(
154
+ void* dataIn,
155
+ size_t offset,
156
+ void* callerInfo,
157
+ void* sharedPointer
158
+ )
159
+ ctypedef cufftDoubleReal (*cufftCallbackLoadD 'cufftCallbackLoadD')(
160
+ void* dataIn,
161
+ size_t offset,
162
+ void* callerInfo,
163
+ void* sharedPointer
164
+ )
165
+ ctypedef cufftComplex (*cufftJITCallbackLoadC 'cufftJITCallbackLoadC')(
166
+ void* dataIn,
167
+ unsigned long long offset,
168
+ void* callerInfo,
169
+ void* sharedPointer
170
+ )
171
+ ctypedef cufftDoubleComplex (*cufftJITCallbackLoadZ 'cufftJITCallbackLoadZ')(
172
+ void* dataIn,
173
+ unsigned long long offset,
174
+ void* callerInfo,
175
+ void* sharedPointer
176
+ )
177
+ ctypedef cufftReal (*cufftJITCallbackLoadR 'cufftJITCallbackLoadR')(
178
+ void* dataIn,
179
+ unsigned long long offset,
180
+ void* callerInfo,
181
+ void* sharedPointer
182
+ )
183
+ ctypedef cufftDoubleReal (*cufftJITCallbackLoadD 'cufftJITCallbackLoadD')(
184
+ void* dataIn,
185
+ unsigned long long offset,
186
+ void* callerInfo,
187
+ void* sharedPointer
188
+ )
189
+ ctypedef void (*cufftCallbackStoreR 'cufftCallbackStoreR')(
190
+ void* dataOut,
191
+ size_t offset,
192
+ cufftReal element,
193
+ void* callerInfo,
194
+ void* sharedPointer
195
+ )
196
+ ctypedef void (*cufftJITCallbackStoreR 'cufftJITCallbackStoreR')(
197
+ void* dataOut,
198
+ unsigned long long offset,
199
+ cufftReal element,
200
+ void* callerInfo,
201
+ void* sharedPointer
202
+ )
203
+ ctypedef void (*cufftCallbackStoreD 'cufftCallbackStoreD')(
204
+ void* dataOut,
205
+ size_t offset,
206
+ cufftDoubleReal element,
207
+ void* callerInfo,
208
+ void* sharedPointer
209
+ )
210
+ ctypedef void (*cufftJITCallbackStoreD 'cufftJITCallbackStoreD')(
211
+ void* dataOut,
212
+ unsigned long long offset,
213
+ cufftDoubleReal element,
214
+ void* callerInfo,
215
+ void* sharedPointer
216
+ )
217
+ ctypedef void (*cufftCallbackStoreC 'cufftCallbackStoreC')(
218
+ void* dataOut,
219
+ size_t offset,
220
+ cufftComplex element,
221
+ void* callerInfo,
222
+ void* sharedPointer
223
+ )
224
+ ctypedef void (*cufftJITCallbackStoreC 'cufftJITCallbackStoreC')(
225
+ void* dataOut,
226
+ unsigned long long offset,
227
+ cufftComplex element,
228
+ void* callerInfo,
229
+ void* sharedPointer
230
+ )
231
+ ctypedef void (*cufftCallbackStoreZ 'cufftCallbackStoreZ')(
232
+ void* dataOut,
233
+ size_t offset,
234
+ cufftDoubleComplex element,
235
+ void* callerInfo,
236
+ void* sharedPointer
237
+ )
238
+ ctypedef void (*cufftJITCallbackStoreZ 'cufftJITCallbackStoreZ')(
239
+ void* dataOut,
240
+ unsigned long long offset,
241
+ cufftDoubleComplex element,
242
+ void* callerInfo,
243
+ void* sharedPointer
244
+ )
245
+
246
+ ctypedef struct cudaXtDesc_t 'cudaXtDesc_t':
247
+ int version "version"
248
+ int nGPUs "nGPUs"
249
+ int GPUs "GPUs" [MAX_CUDA_DESCRIPTOR_GPUS]
250
+ void* data "data" [MAX_CUDA_DESCRIPTOR_GPUS]
251
+ size_t size "size" [MAX_CUDA_DESCRIPTOR_GPUS]
252
+ void* cudaXtState "cudaXtState"
253
+
254
+ ctypedef cudaXtDesc_t cudaXtDesc 'cudaXtDesc'
255
+
256
+ ctypedef struct cudaLibXtDesc_t 'cudaLibXtDesc_t':
257
+ int version "version"
258
+ cudaXtDesc* descriptor "descriptor"
259
+ libFormat_t library "library"
260
+ int subFormat "subFormat"
261
+ void* libDescriptor "libDescriptor"
262
+
263
+ ctypedef cudaLibXtDesc_t cudaLibXtDesc 'cudaLibXtDesc'
264
+
265
+
266
+ ###############################################################################
267
+ # Functions
268
+ ###############################################################################
269
+
270
+ cdef cufftResult cufftPlan1d(cufftHandle* plan, int nx, cufftType type, int batch) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
271
+ cdef cufftResult cufftPlan2d(cufftHandle* plan, int nx, int ny, cufftType type) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
272
+ cdef cufftResult cufftPlan3d(cufftHandle* plan, int nx, int ny, int nz, cufftType type) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
273
+ cdef cufftResult cufftPlanMany(cufftHandle* plan, int rank, int* n, int* inembed, int istride, int idist, int* onembed, int ostride, int odist, cufftType type, int batch) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
274
+ cdef cufftResult cufftMakePlan1d(cufftHandle plan, int nx, cufftType type, int batch, size_t* workSize) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
275
+ cdef cufftResult cufftMakePlan2d(cufftHandle plan, int nx, int ny, cufftType type, size_t* workSize) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
276
+ cdef cufftResult cufftMakePlan3d(cufftHandle plan, int nx, int ny, int nz, cufftType type, size_t* workSize) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
277
+ cdef cufftResult cufftMakePlanMany(cufftHandle plan, int rank, int* n, int* inembed, int istride, int idist, int* onembed, int ostride, int odist, cufftType type, int batch, size_t* workSize) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
278
+ cdef cufftResult cufftMakePlanMany64(cufftHandle plan, int rank, long long int* n, long long int* inembed, long long int istride, long long int idist, long long int* onembed, long long int ostride, long long int odist, cufftType type, long long int batch, size_t* workSize) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
279
+ cdef cufftResult cufftGetSizeMany64(cufftHandle plan, int rank, long long int* n, long long int* inembed, long long int istride, long long int idist, long long int* onembed, long long int ostride, long long int odist, cufftType type, long long int batch, size_t* workSize) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
280
+ cdef cufftResult cufftEstimate1d(int nx, cufftType type, int batch, size_t* workSize) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
281
+ cdef cufftResult cufftEstimate2d(int nx, int ny, cufftType type, size_t* workSize) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
282
+ cdef cufftResult cufftEstimate3d(int nx, int ny, int nz, cufftType type, size_t* workSize) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
283
+ cdef cufftResult cufftEstimateMany(int rank, int* n, int* inembed, int istride, int idist, int* onembed, int ostride, int odist, cufftType type, int batch, size_t* workSize) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
284
+ cdef cufftResult cufftCreate(cufftHandle* handle) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
285
+ cdef cufftResult cufftGetSize1d(cufftHandle handle, int nx, cufftType type, int batch, size_t* workSize) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
286
+ cdef cufftResult cufftGetSize2d(cufftHandle handle, int nx, int ny, cufftType type, size_t* workSize) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
287
+ cdef cufftResult cufftGetSize3d(cufftHandle handle, int nx, int ny, int nz, cufftType type, size_t* workSize) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
288
+ cdef cufftResult cufftGetSizeMany(cufftHandle handle, int rank, int* n, int* inembed, int istride, int idist, int* onembed, int ostride, int odist, cufftType type, int batch, size_t* workArea) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
289
+ cdef cufftResult cufftGetSize(cufftHandle handle, size_t* workSize) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
290
+ cdef cufftResult cufftSetWorkArea(cufftHandle plan, void* workArea) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
291
+ cdef cufftResult cufftSetAutoAllocation(cufftHandle plan, int autoAllocate) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
292
+ cdef cufftResult cufftExecC2C(cufftHandle plan, cufftComplex* idata, cufftComplex* odata, int direction) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
293
+ cdef cufftResult cufftExecR2C(cufftHandle plan, cufftReal* idata, cufftComplex* odata) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
294
+ cdef cufftResult cufftExecC2R(cufftHandle plan, cufftComplex* idata, cufftReal* odata) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
295
+ cdef cufftResult cufftExecZ2Z(cufftHandle plan, cufftDoubleComplex* idata, cufftDoubleComplex* odata, int direction) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
296
+ cdef cufftResult cufftExecD2Z(cufftHandle plan, cufftDoubleReal* idata, cufftDoubleComplex* odata) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
297
+ cdef cufftResult cufftExecZ2D(cufftHandle plan, cufftDoubleComplex* idata, cufftDoubleReal* odata) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
298
+ cdef cufftResult cufftSetStream(cufftHandle plan, cudaStream_t stream) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
299
+ cdef cufftResult cufftDestroy(cufftHandle plan) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
300
+ cdef cufftResult cufftGetVersion(int* version) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
301
+ cdef cufftResult cufftGetProperty(libraryPropertyType type, int* value) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
302
+ cdef cufftResult cufftSetPlanPropertyInt64(cufftHandle plan, cufftProperty property, const long long int inputValueInt) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
303
+ cdef cufftResult cufftGetPlanPropertyInt64(cufftHandle plan, cufftProperty property, long long int* returnPtrValue) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
304
+ cdef cufftResult cufftResetPlanProperty(cufftHandle plan, cufftProperty property) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
305
+ cdef cufftResult cufftXtSetGPUs(cufftHandle handle, int nGPUs, int* whichGPUs) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
306
+ cdef cufftResult cufftXtMalloc(cufftHandle plan, cudaLibXtDesc** descriptor, cufftXtSubFormat format) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
307
+ cdef cufftResult cufftXtMemcpy(cufftHandle plan, void* dstPointer, void* srcPointer, cufftXtCopyType type) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
308
+ cdef cufftResult cufftXtFree(cudaLibXtDesc* descriptor) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
309
+ cdef cufftResult cufftXtSetWorkArea(cufftHandle plan, void** workArea) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
310
+ cdef cufftResult cufftXtExecDescriptorC2C(cufftHandle plan, cudaLibXtDesc* input, cudaLibXtDesc* output, int direction) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
311
+ cdef cufftResult cufftXtExecDescriptorR2C(cufftHandle plan, cudaLibXtDesc* input, cudaLibXtDesc* output) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
312
+ cdef cufftResult cufftXtExecDescriptorC2R(cufftHandle plan, cudaLibXtDesc* input, cudaLibXtDesc* output) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
313
+ cdef cufftResult cufftXtExecDescriptorZ2Z(cufftHandle plan, cudaLibXtDesc* input, cudaLibXtDesc* output, int direction) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
314
+ cdef cufftResult cufftXtExecDescriptorD2Z(cufftHandle plan, cudaLibXtDesc* input, cudaLibXtDesc* output) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
315
+ cdef cufftResult cufftXtExecDescriptorZ2D(cufftHandle plan, cudaLibXtDesc* input, cudaLibXtDesc* output) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
316
+ cdef cufftResult cufftXtQueryPlan(cufftHandle plan, void* queryStruct, cufftXtQueryType queryType) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
317
+ cdef cufftResult cufftXtClearCallback(cufftHandle plan, cufftXtCallbackType cbType) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
318
+ cdef cufftResult cufftXtSetCallbackSharedSize(cufftHandle plan, cufftXtCallbackType cbType, size_t sharedSize) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
319
+ cdef cufftResult cufftXtMakePlanMany(cufftHandle plan, int rank, long long int* n, long long int* inembed, long long int istride, long long int idist, cudaDataType inputtype, long long int* onembed, long long int ostride, long long int odist, cudaDataType outputtype, long long int batch, size_t* workSize, cudaDataType executiontype) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
320
+ cdef cufftResult cufftXtGetSizeMany(cufftHandle plan, int rank, long long int* n, long long int* inembed, long long int istride, long long int idist, cudaDataType inputtype, long long int* onembed, long long int ostride, long long int odist, cudaDataType outputtype, long long int batch, size_t* workSize, cudaDataType executiontype) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
321
+ cdef cufftResult cufftXtExec(cufftHandle plan, void* input, void* output, int direction) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
322
+ cdef cufftResult cufftXtExecDescriptor(cufftHandle plan, cudaLibXtDesc* input, cudaLibXtDesc* output, int direction) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
323
+ cdef cufftResult cufftXtSetWorkAreaPolicy(cufftHandle plan, cufftXtWorkAreaPolicy policy, size_t* workSize) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
324
+ cdef cufftResult cufftMpAttachComm(cufftHandle plan, cufftMpCommType comm_type, void* comm_handle) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
325
+ cdef cufftResult cufftXtSetDistribution(cufftHandle plan, int rank, const long long int* lower_input, const long long int* upper_input, const long long int* lower_output, const long long int* upper_output, const long long int* strides_input, const long long int* strides_output) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
326
+ cdef cufftResult cufftXtSetSubformatDefault(cufftHandle plan, cufftXtSubFormat subformat_forward, cufftXtSubFormat subformat_inverse) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
327
+ cdef cufftResult cufftMpCreateReshape(cufftReshapeHandle* handle) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
328
+ cdef cufftResult cufftMpAttachReshapeComm(cufftReshapeHandle handle, cufftMpCommType comm_type, void* comm_handle) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
329
+ cdef cufftResult cufftMpGetReshapeSize(cufftReshapeHandle handle, size_t* workspace_size) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
330
+ cdef cufftResult __cufftMpMakeReshape_11_2(cufftReshapeHandle handle, size_t element_size, int rank, const long long int* lower_input, const long long int* upper_input, const long long int* lower_output, const long long int* upper_output, const long long int* strides_input, const long long int* strides_output) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
331
+ cdef cufftResult cufftMpExecReshapeAsync(cufftReshapeHandle handle, void* data_out, const void* data_in, void* workspace, cudaStream_t stream) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
332
+ cdef cufftResult cufftMpDestroyReshape(cufftReshapeHandle handle) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
333
+ cdef cufftResult __cufftMpMakeReshape_11_4(cufftReshapeHandle handle, size_t element_size, int rank, const long long int* lower_input, const long long int* upper_input, const long long int* strides_input, const long long int* lower_output, const long long int* upper_output, const long long int* strides_output, void* comm_handle, cufftMpCommType comm_type) except?_CUFFTRESULT_INTERNAL_LOADING_ERROR nogil
@@ -0,0 +1,146 @@
1
+ # Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES. ALL RIGHTS RESERVED.
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+ #
5
+ # This code was automatically generated across versions from 11.0.3 to 12.8.0. 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,143 @@
1
+ # Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES. ALL RIGHTS RESERVED.
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+ #
5
+ # This code was automatically generated across versions from 11.0.3 to 12.8.0. 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
+
115
+ # types
116
+ cdef extern from *:
117
+ """
118
+ #include <driver_types.h>
119
+ #include <library_types.h>
120
+ #include <cuComplex.h>
121
+ """
122
+ ctypedef void* cudaStream_t 'cudaStream_t'
123
+ ctypedef int cudaDataType_t 'cudaDataType_t'
124
+ ctypedef int cudaDataType 'cudaDataType'
125
+ ctypedef int libraryPropertyType_t 'libraryPropertyType_t'
126
+ ctypedef int libraryPropertyType 'libraryPropertyType'
127
+
128
+ ctypedef struct cuComplex:
129
+ pass
130
+ ctypedef struct cuDoubleComplex:
131
+ pass
132
+
133
+
134
+
135
+ ctypedef int cusolver_int_t 'cusolver_int_t'
136
+
137
+
138
+ ###############################################################################
139
+ # Functions
140
+ ###############################################################################
141
+
142
+ cdef cusolverStatus_t cusolverGetProperty(libraryPropertyType type, int* value) except?_CUSOLVERSTATUS_T_INTERNAL_LOADING_ERROR nogil
143
+ cdef cusolverStatus_t cusolverGetVersion(int* version) except?_CUSOLVERSTATUS_T_INTERNAL_LOADING_ERROR nogil