cuda_sys/
cublas.rs

1#![allow(non_camel_case_types)]
2#![allow(non_upper_case_globals)]
3#![allow(non_snake_case)]
4
5use vector_types::*;
6use cudart::*;
7
8pub type cuFloatComplex = float2;
9pub type cuDoubleComplex = double2;
10pub type cuComplex = cuFloatComplex;
11
12#[repr(u32)]
13#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
14pub enum cublasStatus_t {
15    SUCCESS = 0,
16    NOT_INITIALIZED = 1,
17    ALLOC_FAILED = 3,
18    INVALID_VALUE = 7,
19    ARCH_MISMATCH = 8,
20    MAPPING_ERROR = 11,
21    EXECUTION_FAILED = 13,
22    INTERNAL_ERROR = 14,
23    NOT_SUPPORTED = 15,
24    LICENSE_ERROR = 16,
25}
26
27pub const cublasFillMode_t_CUBLAS_FILL_MODE_LOWER: cublasFillMode_t = 0;
28pub const cublasFillMode_t_CUBLAS_FILL_MODE_UPPER: cublasFillMode_t = 1;
29pub type cublasFillMode_t = ::std::os::raw::c_uint;
30pub const cublasDiagType_t_CUBLAS_DIAG_NON_UNIT: cublasDiagType_t = 0;
31pub const cublasDiagType_t_CUBLAS_DIAG_UNIT: cublasDiagType_t = 1;
32pub type cublasDiagType_t = ::std::os::raw::c_uint;
33pub const cublasSideMode_t_CUBLAS_SIDE_LEFT: cublasSideMode_t = 0;
34pub const cublasSideMode_t_CUBLAS_SIDE_RIGHT: cublasSideMode_t = 1;
35pub type cublasSideMode_t = ::std::os::raw::c_uint;
36pub const cublasOperation_t_CUBLAS_OP_N: cublasOperation_t = 0;
37pub const cublasOperation_t_CUBLAS_OP_T: cublasOperation_t = 1;
38pub const cublasOperation_t_CUBLAS_OP_C: cublasOperation_t = 2;
39pub type cublasOperation_t = ::std::os::raw::c_uint;
40pub const cublasPointerMode_t_CUBLAS_POINTER_MODE_HOST: cublasPointerMode_t = 0;
41pub const cublasPointerMode_t_CUBLAS_POINTER_MODE_DEVICE: cublasPointerMode_t = 1;
42pub type cublasPointerMode_t = ::std::os::raw::c_uint;
43pub const cublasAtomicsMode_t_CUBLAS_ATOMICS_NOT_ALLOWED: cublasAtomicsMode_t = 0;
44pub const cublasAtomicsMode_t_CUBLAS_ATOMICS_ALLOWED: cublasAtomicsMode_t = 1;
45pub type cublasAtomicsMode_t = ::std::os::raw::c_uint;
46pub const cublasGemmAlgo_t_CUBLAS_GEMM_DFALT: cublasGemmAlgo_t = -1;
47pub const cublasGemmAlgo_t_CUBLAS_GEMM_DEFAULT: cublasGemmAlgo_t = -1;
48pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO0: cublasGemmAlgo_t = 0;
49pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO1: cublasGemmAlgo_t = 1;
50pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO2: cublasGemmAlgo_t = 2;
51pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO3: cublasGemmAlgo_t = 3;
52pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO4: cublasGemmAlgo_t = 4;
53pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO5: cublasGemmAlgo_t = 5;
54pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO6: cublasGemmAlgo_t = 6;
55pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO7: cublasGemmAlgo_t = 7;
56pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO8: cublasGemmAlgo_t = 8;
57pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO9: cublasGemmAlgo_t = 9;
58pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO10: cublasGemmAlgo_t = 10;
59pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO11: cublasGemmAlgo_t = 11;
60pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO12: cublasGemmAlgo_t = 12;
61pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO13: cublasGemmAlgo_t = 13;
62pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO14: cublasGemmAlgo_t = 14;
63pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO15: cublasGemmAlgo_t = 15;
64pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO16: cublasGemmAlgo_t = 16;
65pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO17: cublasGemmAlgo_t = 17;
66pub const cublasGemmAlgo_t_CUBLAS_GEMM_DEFAULT_TENSOR_OP: cublasGemmAlgo_t = 99;
67pub const cublasGemmAlgo_t_CUBLAS_GEMM_DFALT_TENSOR_OP: cublasGemmAlgo_t = 99;
68pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO0_TENSOR_OP: cublasGemmAlgo_t = 100;
69pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO1_TENSOR_OP: cublasGemmAlgo_t = 101;
70pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO2_TENSOR_OP: cublasGemmAlgo_t = 102;
71pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO3_TENSOR_OP: cublasGemmAlgo_t = 103;
72pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO4_TENSOR_OP: cublasGemmAlgo_t = 104;
73pub type cublasGemmAlgo_t = ::std::os::raw::c_int;
74pub const cublasMath_t_CUBLAS_DEFAULT_MATH: cublasMath_t = 0;
75pub const cublasMath_t_CUBLAS_TENSOR_OP_MATH: cublasMath_t = 1;
76pub type cublasMath_t = ::std::os::raw::c_uint;
77
78#[repr(C)]
79#[derive(Debug, Copy, Clone)]
80pub struct cublasContext {
81    _unused: [u8; 0],
82}
83
84pub type cublasHandle_t = *mut cublasContext;
85
86extern "C" {
87    pub fn cublasCreate_v2(handle: *mut cublasHandle_t) -> cublasStatus_t;
88    pub fn cublasDestroy_v2(handle: cublasHandle_t) -> cublasStatus_t;
89    pub fn cublasGetVersion_v2(handle: cublasHandle_t, version: *mut ::std::os::raw::c_int) -> cublasStatus_t;
90    pub fn cublasGetProperty(type_: libraryPropertyType, value: *mut ::std::os::raw::c_int) -> cublasStatus_t;
91    pub fn cublasSetStream_v2(handle: cublasHandle_t, streamId: cudaStream_t) -> cublasStatus_t;
92    pub fn cublasGetStream_v2(handle: cublasHandle_t, streamId: *mut cudaStream_t) -> cublasStatus_t;
93    pub fn cublasGetPointerMode_v2(handle: cublasHandle_t, mode: *mut cublasPointerMode_t) -> cublasStatus_t;
94    pub fn cublasSetPointerMode_v2(handle: cublasHandle_t, mode: cublasPointerMode_t) -> cublasStatus_t;
95    pub fn cublasGetAtomicsMode(handle: cublasHandle_t, mode: *mut cublasAtomicsMode_t) -> cublasStatus_t;
96    pub fn cublasSetAtomicsMode(handle: cublasHandle_t, mode: cublasAtomicsMode_t) -> cublasStatus_t;
97    pub fn cublasGetMathMode(handle: cublasHandle_t, mode: *mut cublasMath_t) -> cublasStatus_t;
98    pub fn cublasSetMathMode(handle: cublasHandle_t, mode: cublasMath_t) -> cublasStatus_t;
99    pub fn cublasSetVector(
100        n: ::std::os::raw::c_int,
101        elemSize: ::std::os::raw::c_int,
102        x: *const ::std::os::raw::c_void,
103        incx: ::std::os::raw::c_int,
104        devicePtr: *mut ::std::os::raw::c_void,
105        incy: ::std::os::raw::c_int,
106    ) -> cublasStatus_t;
107    pub fn cublasGetVector(
108        n: ::std::os::raw::c_int,
109        elemSize: ::std::os::raw::c_int,
110        x: *const ::std::os::raw::c_void,
111        incx: ::std::os::raw::c_int,
112        y: *mut ::std::os::raw::c_void,
113        incy: ::std::os::raw::c_int,
114    ) -> cublasStatus_t;
115    pub fn cublasSetMatrix(
116        rows: ::std::os::raw::c_int,
117        cols: ::std::os::raw::c_int,
118        elemSize: ::std::os::raw::c_int,
119        A: *const ::std::os::raw::c_void,
120        lda: ::std::os::raw::c_int,
121        B: *mut ::std::os::raw::c_void,
122        ldb: ::std::os::raw::c_int,
123    ) -> cublasStatus_t;
124    pub fn cublasGetMatrix(
125        rows: ::std::os::raw::c_int,
126        cols: ::std::os::raw::c_int,
127        elemSize: ::std::os::raw::c_int,
128        A: *const ::std::os::raw::c_void,
129        lda: ::std::os::raw::c_int,
130        B: *mut ::std::os::raw::c_void,
131        ldb: ::std::os::raw::c_int,
132    ) -> cublasStatus_t;
133    pub fn cublasSetVectorAsync(
134        n: ::std::os::raw::c_int,
135        elemSize: ::std::os::raw::c_int,
136        hostPtr: *const ::std::os::raw::c_void,
137        incx: ::std::os::raw::c_int,
138        devicePtr: *mut ::std::os::raw::c_void,
139        incy: ::std::os::raw::c_int,
140        stream: cudaStream_t,
141    ) -> cublasStatus_t;
142    pub fn cublasGetVectorAsync(
143        n: ::std::os::raw::c_int,
144        elemSize: ::std::os::raw::c_int,
145        devicePtr: *const ::std::os::raw::c_void,
146        incx: ::std::os::raw::c_int,
147        hostPtr: *mut ::std::os::raw::c_void,
148        incy: ::std::os::raw::c_int,
149        stream: cudaStream_t,
150    ) -> cublasStatus_t;
151    pub fn cublasSetMatrixAsync(
152        rows: ::std::os::raw::c_int,
153        cols: ::std::os::raw::c_int,
154        elemSize: ::std::os::raw::c_int,
155        A: *const ::std::os::raw::c_void,
156        lda: ::std::os::raw::c_int,
157        B: *mut ::std::os::raw::c_void,
158        ldb: ::std::os::raw::c_int,
159        stream: cudaStream_t,
160    ) -> cublasStatus_t;
161    pub fn cublasGetMatrixAsync(
162        rows: ::std::os::raw::c_int,
163        cols: ::std::os::raw::c_int,
164        elemSize: ::std::os::raw::c_int,
165        A: *const ::std::os::raw::c_void,
166        lda: ::std::os::raw::c_int,
167        B: *mut ::std::os::raw::c_void,
168        ldb: ::std::os::raw::c_int,
169        stream: cudaStream_t,
170    ) -> cublasStatus_t;
171    pub fn cublasXerbla(srName: *const ::std::os::raw::c_char, info: ::std::os::raw::c_int);
172    pub fn cublasNrm2Ex(
173        handle: cublasHandle_t,
174        n: ::std::os::raw::c_int,
175        x: *const ::std::os::raw::c_void,
176        xType: cudaDataType,
177        incx: ::std::os::raw::c_int,
178        result: *mut ::std::os::raw::c_void,
179        resultType: cudaDataType,
180        executionType: cudaDataType,
181    ) -> cublasStatus_t;
182    pub fn cublasSnrm2_v2(
183        handle: cublasHandle_t,
184        n: ::std::os::raw::c_int,
185        x: *const f32,
186        incx: ::std::os::raw::c_int,
187        result: *mut f32,
188    ) -> cublasStatus_t;
189    pub fn cublasDnrm2_v2(
190        handle: cublasHandle_t,
191        n: ::std::os::raw::c_int,
192        x: *const f64,
193        incx: ::std::os::raw::c_int,
194        result: *mut f64,
195    ) -> cublasStatus_t;
196    pub fn cublasScnrm2_v2(
197        handle: cublasHandle_t,
198        n: ::std::os::raw::c_int,
199        x: *const cuComplex,
200        incx: ::std::os::raw::c_int,
201        result: *mut f32,
202    ) -> cublasStatus_t;
203    pub fn cublasDznrm2_v2(
204        handle: cublasHandle_t,
205        n: ::std::os::raw::c_int,
206        x: *const cuDoubleComplex,
207        incx: ::std::os::raw::c_int,
208        result: *mut f64,
209    ) -> cublasStatus_t;
210    pub fn cublasDotEx(
211        handle: cublasHandle_t,
212        n: ::std::os::raw::c_int,
213        x: *const ::std::os::raw::c_void,
214        xType: cudaDataType,
215        incx: ::std::os::raw::c_int,
216        y: *const ::std::os::raw::c_void,
217        yType: cudaDataType,
218        incy: ::std::os::raw::c_int,
219        result: *mut ::std::os::raw::c_void,
220        resultType: cudaDataType,
221        executionType: cudaDataType,
222    ) -> cublasStatus_t;
223    pub fn cublasDotcEx(
224        handle: cublasHandle_t,
225        n: ::std::os::raw::c_int,
226        x: *const ::std::os::raw::c_void,
227        xType: cudaDataType,
228        incx: ::std::os::raw::c_int,
229        y: *const ::std::os::raw::c_void,
230        yType: cudaDataType,
231        incy: ::std::os::raw::c_int,
232        result: *mut ::std::os::raw::c_void,
233        resultType: cudaDataType,
234        executionType: cudaDataType,
235    ) -> cublasStatus_t;
236    pub fn cublasSdot_v2(
237        handle: cublasHandle_t,
238        n: ::std::os::raw::c_int,
239        x: *const f32,
240        incx: ::std::os::raw::c_int,
241        y: *const f32,
242        incy: ::std::os::raw::c_int,
243        result: *mut f32,
244    ) -> cublasStatus_t;
245    pub fn cublasDdot_v2(
246        handle: cublasHandle_t,
247        n: ::std::os::raw::c_int,
248        x: *const f64,
249        incx: ::std::os::raw::c_int,
250        y: *const f64,
251        incy: ::std::os::raw::c_int,
252        result: *mut f64,
253    ) -> cublasStatus_t;
254    pub fn cublasCdotu_v2(
255        handle: cublasHandle_t,
256        n: ::std::os::raw::c_int,
257        x: *const cuComplex,
258        incx: ::std::os::raw::c_int,
259        y: *const cuComplex,
260        incy: ::std::os::raw::c_int,
261        result: *mut cuComplex,
262    ) -> cublasStatus_t;
263    pub fn cublasCdotc_v2(
264        handle: cublasHandle_t,
265        n: ::std::os::raw::c_int,
266        x: *const cuComplex,
267        incx: ::std::os::raw::c_int,
268        y: *const cuComplex,
269        incy: ::std::os::raw::c_int,
270        result: *mut cuComplex,
271    ) -> cublasStatus_t;
272    pub fn cublasZdotu_v2(
273        handle: cublasHandle_t,
274        n: ::std::os::raw::c_int,
275        x: *const cuDoubleComplex,
276        incx: ::std::os::raw::c_int,
277        y: *const cuDoubleComplex,
278        incy: ::std::os::raw::c_int,
279        result: *mut cuDoubleComplex,
280    ) -> cublasStatus_t;
281    pub fn cublasZdotc_v2(
282        handle: cublasHandle_t,
283        n: ::std::os::raw::c_int,
284        x: *const cuDoubleComplex,
285        incx: ::std::os::raw::c_int,
286        y: *const cuDoubleComplex,
287        incy: ::std::os::raw::c_int,
288        result: *mut cuDoubleComplex,
289    ) -> cublasStatus_t;
290    pub fn cublasScalEx(
291        handle: cublasHandle_t,
292        n: ::std::os::raw::c_int,
293        alpha: *const ::std::os::raw::c_void,
294        alphaType: cudaDataType,
295        x: *mut ::std::os::raw::c_void,
296        xType: cudaDataType,
297        incx: ::std::os::raw::c_int,
298        executionType: cudaDataType,
299    ) -> cublasStatus_t;
300    pub fn cublasSscal_v2(
301        handle: cublasHandle_t,
302        n: ::std::os::raw::c_int,
303        alpha: *const f32,
304        x: *mut f32,
305        incx: ::std::os::raw::c_int,
306    ) -> cublasStatus_t;
307    pub fn cublasDscal_v2(
308        handle: cublasHandle_t,
309        n: ::std::os::raw::c_int,
310        alpha: *const f64,
311        x: *mut f64,
312        incx: ::std::os::raw::c_int,
313    ) -> cublasStatus_t;
314    pub fn cublasCscal_v2(
315        handle: cublasHandle_t,
316        n: ::std::os::raw::c_int,
317        alpha: *const cuComplex,
318        x: *mut cuComplex,
319        incx: ::std::os::raw::c_int,
320    ) -> cublasStatus_t;
321    pub fn cublasCsscal_v2(
322        handle: cublasHandle_t,
323        n: ::std::os::raw::c_int,
324        alpha: *const f32,
325        x: *mut cuComplex,
326        incx: ::std::os::raw::c_int,
327    ) -> cublasStatus_t;
328    pub fn cublasZscal_v2(
329        handle: cublasHandle_t,
330        n: ::std::os::raw::c_int,
331        alpha: *const cuDoubleComplex,
332        x: *mut cuDoubleComplex,
333        incx: ::std::os::raw::c_int,
334    ) -> cublasStatus_t;
335    pub fn cublasZdscal_v2(
336        handle: cublasHandle_t,
337        n: ::std::os::raw::c_int,
338        alpha: *const f64,
339        x: *mut cuDoubleComplex,
340        incx: ::std::os::raw::c_int,
341    ) -> cublasStatus_t;
342    pub fn cublasAxpyEx(
343        handle: cublasHandle_t,
344        n: ::std::os::raw::c_int,
345        alpha: *const ::std::os::raw::c_void,
346        alphaType: cudaDataType,
347        x: *const ::std::os::raw::c_void,
348        xType: cudaDataType,
349        incx: ::std::os::raw::c_int,
350        y: *mut ::std::os::raw::c_void,
351        yType: cudaDataType,
352        incy: ::std::os::raw::c_int,
353        executiontype: cudaDataType,
354    ) -> cublasStatus_t;
355    pub fn cublasSaxpy_v2(
356        handle: cublasHandle_t,
357        n: ::std::os::raw::c_int,
358        alpha: *const f32,
359        x: *const f32,
360        incx: ::std::os::raw::c_int,
361        y: *mut f32,
362        incy: ::std::os::raw::c_int,
363    ) -> cublasStatus_t;
364    pub fn cublasDaxpy_v2(
365        handle: cublasHandle_t,
366        n: ::std::os::raw::c_int,
367        alpha: *const f64,
368        x: *const f64,
369        incx: ::std::os::raw::c_int,
370        y: *mut f64,
371        incy: ::std::os::raw::c_int,
372    ) -> cublasStatus_t;
373    pub fn cublasCaxpy_v2(
374        handle: cublasHandle_t,
375        n: ::std::os::raw::c_int,
376        alpha: *const cuComplex,
377        x: *const cuComplex,
378        incx: ::std::os::raw::c_int,
379        y: *mut cuComplex,
380        incy: ::std::os::raw::c_int,
381    ) -> cublasStatus_t;
382    pub fn cublasZaxpy_v2(
383        handle: cublasHandle_t,
384        n: ::std::os::raw::c_int,
385        alpha: *const cuDoubleComplex,
386        x: *const cuDoubleComplex,
387        incx: ::std::os::raw::c_int,
388        y: *mut cuDoubleComplex,
389        incy: ::std::os::raw::c_int,
390    ) -> cublasStatus_t;
391    pub fn cublasScopy_v2(
392        handle: cublasHandle_t,
393        n: ::std::os::raw::c_int,
394        x: *const f32,
395        incx: ::std::os::raw::c_int,
396        y: *mut f32,
397        incy: ::std::os::raw::c_int,
398    ) -> cublasStatus_t;
399    pub fn cublasDcopy_v2(
400        handle: cublasHandle_t,
401        n: ::std::os::raw::c_int,
402        x: *const f64,
403        incx: ::std::os::raw::c_int,
404        y: *mut f64,
405        incy: ::std::os::raw::c_int,
406    ) -> cublasStatus_t;
407    pub fn cublasCcopy_v2(
408        handle: cublasHandle_t,
409        n: ::std::os::raw::c_int,
410        x: *const cuComplex,
411        incx: ::std::os::raw::c_int,
412        y: *mut cuComplex,
413        incy: ::std::os::raw::c_int,
414    ) -> cublasStatus_t;
415    pub fn cublasZcopy_v2(
416        handle: cublasHandle_t,
417        n: ::std::os::raw::c_int,
418        x: *const cuDoubleComplex,
419        incx: ::std::os::raw::c_int,
420        y: *mut cuDoubleComplex,
421        incy: ::std::os::raw::c_int,
422    ) -> cublasStatus_t;
423    pub fn cublasSswap_v2(
424        handle: cublasHandle_t,
425        n: ::std::os::raw::c_int,
426        x: *mut f32,
427        incx: ::std::os::raw::c_int,
428        y: *mut f32,
429        incy: ::std::os::raw::c_int,
430    ) -> cublasStatus_t;
431    pub fn cublasDswap_v2(
432        handle: cublasHandle_t,
433        n: ::std::os::raw::c_int,
434        x: *mut f64,
435        incx: ::std::os::raw::c_int,
436        y: *mut f64,
437        incy: ::std::os::raw::c_int,
438    ) -> cublasStatus_t;
439    pub fn cublasCswap_v2(
440        handle: cublasHandle_t,
441        n: ::std::os::raw::c_int,
442        x: *mut cuComplex,
443        incx: ::std::os::raw::c_int,
444        y: *mut cuComplex,
445        incy: ::std::os::raw::c_int,
446    ) -> cublasStatus_t;
447    pub fn cublasZswap_v2(
448        handle: cublasHandle_t,
449        n: ::std::os::raw::c_int,
450        x: *mut cuDoubleComplex,
451        incx: ::std::os::raw::c_int,
452        y: *mut cuDoubleComplex,
453        incy: ::std::os::raw::c_int,
454    ) -> cublasStatus_t;
455    pub fn cublasIsamax_v2(
456        handle: cublasHandle_t,
457        n: ::std::os::raw::c_int,
458        x: *const f32,
459        incx: ::std::os::raw::c_int,
460        result: *mut ::std::os::raw::c_int,
461    ) -> cublasStatus_t;
462    pub fn cublasIdamax_v2(
463        handle: cublasHandle_t,
464        n: ::std::os::raw::c_int,
465        x: *const f64,
466        incx: ::std::os::raw::c_int,
467        result: *mut ::std::os::raw::c_int,
468    ) -> cublasStatus_t;
469    pub fn cublasIcamax_v2(
470        handle: cublasHandle_t,
471        n: ::std::os::raw::c_int,
472        x: *const cuComplex,
473        incx: ::std::os::raw::c_int,
474        result: *mut ::std::os::raw::c_int,
475    ) -> cublasStatus_t;
476    pub fn cublasIzamax_v2(
477        handle: cublasHandle_t,
478        n: ::std::os::raw::c_int,
479        x: *const cuDoubleComplex,
480        incx: ::std::os::raw::c_int,
481        result: *mut ::std::os::raw::c_int,
482    ) -> cublasStatus_t;
483    pub fn cublasIsamin_v2(
484        handle: cublasHandle_t,
485        n: ::std::os::raw::c_int,
486        x: *const f32,
487        incx: ::std::os::raw::c_int,
488        result: *mut ::std::os::raw::c_int,
489    ) -> cublasStatus_t;
490    pub fn cublasIdamin_v2(
491        handle: cublasHandle_t,
492        n: ::std::os::raw::c_int,
493        x: *const f64,
494        incx: ::std::os::raw::c_int,
495        result: *mut ::std::os::raw::c_int,
496    ) -> cublasStatus_t;
497    pub fn cublasIcamin_v2(
498        handle: cublasHandle_t,
499        n: ::std::os::raw::c_int,
500        x: *const cuComplex,
501        incx: ::std::os::raw::c_int,
502        result: *mut ::std::os::raw::c_int,
503    ) -> cublasStatus_t;
504    pub fn cublasIzamin_v2(
505        handle: cublasHandle_t,
506        n: ::std::os::raw::c_int,
507        x: *const cuDoubleComplex,
508        incx: ::std::os::raw::c_int,
509        result: *mut ::std::os::raw::c_int,
510    ) -> cublasStatus_t;
511    pub fn cublasSasum_v2(
512        handle: cublasHandle_t,
513        n: ::std::os::raw::c_int,
514        x: *const f32,
515        incx: ::std::os::raw::c_int,
516        result: *mut f32,
517    ) -> cublasStatus_t;
518    pub fn cublasDasum_v2(
519        handle: cublasHandle_t,
520        n: ::std::os::raw::c_int,
521        x: *const f64,
522        incx: ::std::os::raw::c_int,
523        result: *mut f64,
524    ) -> cublasStatus_t;
525    pub fn cublasScasum_v2(
526        handle: cublasHandle_t,
527        n: ::std::os::raw::c_int,
528        x: *const cuComplex,
529        incx: ::std::os::raw::c_int,
530        result: *mut f32,
531    ) -> cublasStatus_t;
532    pub fn cublasDzasum_v2(
533        handle: cublasHandle_t,
534        n: ::std::os::raw::c_int,
535        x: *const cuDoubleComplex,
536        incx: ::std::os::raw::c_int,
537        result: *mut f64,
538    ) -> cublasStatus_t;
539    pub fn cublasSrot_v2(
540        handle: cublasHandle_t,
541        n: ::std::os::raw::c_int,
542        x: *mut f32,
543        incx: ::std::os::raw::c_int,
544        y: *mut f32,
545        incy: ::std::os::raw::c_int,
546        c: *const f32,
547        s: *const f32,
548    ) -> cublasStatus_t;
549    pub fn cublasDrot_v2(
550        handle: cublasHandle_t,
551        n: ::std::os::raw::c_int,
552        x: *mut f64,
553        incx: ::std::os::raw::c_int,
554        y: *mut f64,
555        incy: ::std::os::raw::c_int,
556        c: *const f64,
557        s: *const f64,
558    ) -> cublasStatus_t;
559    pub fn cublasCrot_v2(
560        handle: cublasHandle_t,
561        n: ::std::os::raw::c_int,
562        x: *mut cuComplex,
563        incx: ::std::os::raw::c_int,
564        y: *mut cuComplex,
565        incy: ::std::os::raw::c_int,
566        c: *const f32,
567        s: *const cuComplex,
568    ) -> cublasStatus_t;
569    pub fn cublasCsrot_v2(
570        handle: cublasHandle_t,
571        n: ::std::os::raw::c_int,
572        x: *mut cuComplex,
573        incx: ::std::os::raw::c_int,
574        y: *mut cuComplex,
575        incy: ::std::os::raw::c_int,
576        c: *const f32,
577        s: *const f32,
578    ) -> cublasStatus_t;
579    pub fn cublasZrot_v2(
580        handle: cublasHandle_t,
581        n: ::std::os::raw::c_int,
582        x: *mut cuDoubleComplex,
583        incx: ::std::os::raw::c_int,
584        y: *mut cuDoubleComplex,
585        incy: ::std::os::raw::c_int,
586        c: *const f64,
587        s: *const cuDoubleComplex,
588    ) -> cublasStatus_t;
589    pub fn cublasZdrot_v2(
590        handle: cublasHandle_t,
591        n: ::std::os::raw::c_int,
592        x: *mut cuDoubleComplex,
593        incx: ::std::os::raw::c_int,
594        y: *mut cuDoubleComplex,
595        incy: ::std::os::raw::c_int,
596        c: *const f64,
597        s: *const f64,
598    ) -> cublasStatus_t;
599    pub fn cublasSrotg_v2(handle: cublasHandle_t, a: *mut f32, b: *mut f32, c: *mut f32, s: *mut f32)
600        -> cublasStatus_t;
601    pub fn cublasDrotg_v2(handle: cublasHandle_t, a: *mut f64, b: *mut f64, c: *mut f64, s: *mut f64)
602        -> cublasStatus_t;
603    pub fn cublasCrotg_v2(
604        handle: cublasHandle_t,
605        a: *mut cuComplex,
606        b: *mut cuComplex,
607        c: *mut f32,
608        s: *mut cuComplex,
609    ) -> cublasStatus_t;
610    pub fn cublasZrotg_v2(
611        handle: cublasHandle_t,
612        a: *mut cuDoubleComplex,
613        b: *mut cuDoubleComplex,
614        c: *mut f64,
615        s: *mut cuDoubleComplex,
616    ) -> cublasStatus_t;
617    pub fn cublasSrotm_v2(
618        handle: cublasHandle_t,
619        n: ::std::os::raw::c_int,
620        x: *mut f32,
621        incx: ::std::os::raw::c_int,
622        y: *mut f32,
623        incy: ::std::os::raw::c_int,
624        param: *const f32,
625    ) -> cublasStatus_t;
626    pub fn cublasDrotm_v2(
627        handle: cublasHandle_t,
628        n: ::std::os::raw::c_int,
629        x: *mut f64,
630        incx: ::std::os::raw::c_int,
631        y: *mut f64,
632        incy: ::std::os::raw::c_int,
633        param: *const f64,
634    ) -> cublasStatus_t;
635    pub fn cublasSrotmg_v2(
636        handle: cublasHandle_t,
637        d1: *mut f32,
638        d2: *mut f32,
639        x1: *mut f32,
640        y1: *const f32,
641        param: *mut f32,
642    ) -> cublasStatus_t;
643    pub fn cublasDrotmg_v2(
644        handle: cublasHandle_t,
645        d1: *mut f64,
646        d2: *mut f64,
647        x1: *mut f64,
648        y1: *const f64,
649        param: *mut f64,
650    ) -> cublasStatus_t;
651    pub fn cublasSgemv_v2(
652        handle: cublasHandle_t,
653        trans: cublasOperation_t,
654        m: ::std::os::raw::c_int,
655        n: ::std::os::raw::c_int,
656        alpha: *const f32,
657        A: *const f32,
658        lda: ::std::os::raw::c_int,
659        x: *const f32,
660        incx: ::std::os::raw::c_int,
661        beta: *const f32,
662        y: *mut f32,
663        incy: ::std::os::raw::c_int,
664    ) -> cublasStatus_t;
665    pub fn cublasDgemv_v2(
666        handle: cublasHandle_t,
667        trans: cublasOperation_t,
668        m: ::std::os::raw::c_int,
669        n: ::std::os::raw::c_int,
670        alpha: *const f64,
671        A: *const f64,
672        lda: ::std::os::raw::c_int,
673        x: *const f64,
674        incx: ::std::os::raw::c_int,
675        beta: *const f64,
676        y: *mut f64,
677        incy: ::std::os::raw::c_int,
678    ) -> cublasStatus_t;
679    pub fn cublasCgemv_v2(
680        handle: cublasHandle_t,
681        trans: cublasOperation_t,
682        m: ::std::os::raw::c_int,
683        n: ::std::os::raw::c_int,
684        alpha: *const cuComplex,
685        A: *const cuComplex,
686        lda: ::std::os::raw::c_int,
687        x: *const cuComplex,
688        incx: ::std::os::raw::c_int,
689        beta: *const cuComplex,
690        y: *mut cuComplex,
691        incy: ::std::os::raw::c_int,
692    ) -> cublasStatus_t;
693    pub fn cublasZgemv_v2(
694        handle: cublasHandle_t,
695        trans: cublasOperation_t,
696        m: ::std::os::raw::c_int,
697        n: ::std::os::raw::c_int,
698        alpha: *const cuDoubleComplex,
699        A: *const cuDoubleComplex,
700        lda: ::std::os::raw::c_int,
701        x: *const cuDoubleComplex,
702        incx: ::std::os::raw::c_int,
703        beta: *const cuDoubleComplex,
704        y: *mut cuDoubleComplex,
705        incy: ::std::os::raw::c_int,
706    ) -> cublasStatus_t;
707    pub fn cublasSgbmv_v2(
708        handle: cublasHandle_t,
709        trans: cublasOperation_t,
710        m: ::std::os::raw::c_int,
711        n: ::std::os::raw::c_int,
712        kl: ::std::os::raw::c_int,
713        ku: ::std::os::raw::c_int,
714        alpha: *const f32,
715        A: *const f32,
716        lda: ::std::os::raw::c_int,
717        x: *const f32,
718        incx: ::std::os::raw::c_int,
719        beta: *const f32,
720        y: *mut f32,
721        incy: ::std::os::raw::c_int,
722    ) -> cublasStatus_t;
723    pub fn cublasDgbmv_v2(
724        handle: cublasHandle_t,
725        trans: cublasOperation_t,
726        m: ::std::os::raw::c_int,
727        n: ::std::os::raw::c_int,
728        kl: ::std::os::raw::c_int,
729        ku: ::std::os::raw::c_int,
730        alpha: *const f64,
731        A: *const f64,
732        lda: ::std::os::raw::c_int,
733        x: *const f64,
734        incx: ::std::os::raw::c_int,
735        beta: *const f64,
736        y: *mut f64,
737        incy: ::std::os::raw::c_int,
738    ) -> cublasStatus_t;
739    pub fn cublasCgbmv_v2(
740        handle: cublasHandle_t,
741        trans: cublasOperation_t,
742        m: ::std::os::raw::c_int,
743        n: ::std::os::raw::c_int,
744        kl: ::std::os::raw::c_int,
745        ku: ::std::os::raw::c_int,
746        alpha: *const cuComplex,
747        A: *const cuComplex,
748        lda: ::std::os::raw::c_int,
749        x: *const cuComplex,
750        incx: ::std::os::raw::c_int,
751        beta: *const cuComplex,
752        y: *mut cuComplex,
753        incy: ::std::os::raw::c_int,
754    ) -> cublasStatus_t;
755    pub fn cublasZgbmv_v2(
756        handle: cublasHandle_t,
757        trans: cublasOperation_t,
758        m: ::std::os::raw::c_int,
759        n: ::std::os::raw::c_int,
760        kl: ::std::os::raw::c_int,
761        ku: ::std::os::raw::c_int,
762        alpha: *const cuDoubleComplex,
763        A: *const cuDoubleComplex,
764        lda: ::std::os::raw::c_int,
765        x: *const cuDoubleComplex,
766        incx: ::std::os::raw::c_int,
767        beta: *const cuDoubleComplex,
768        y: *mut cuDoubleComplex,
769        incy: ::std::os::raw::c_int,
770    ) -> cublasStatus_t;
771    pub fn cublasStrmv_v2(
772        handle: cublasHandle_t,
773        uplo: cublasFillMode_t,
774        trans: cublasOperation_t,
775        diag: cublasDiagType_t,
776        n: ::std::os::raw::c_int,
777        A: *const f32,
778        lda: ::std::os::raw::c_int,
779        x: *mut f32,
780        incx: ::std::os::raw::c_int,
781    ) -> cublasStatus_t;
782    pub fn cublasDtrmv_v2(
783        handle: cublasHandle_t,
784        uplo: cublasFillMode_t,
785        trans: cublasOperation_t,
786        diag: cublasDiagType_t,
787        n: ::std::os::raw::c_int,
788        A: *const f64,
789        lda: ::std::os::raw::c_int,
790        x: *mut f64,
791        incx: ::std::os::raw::c_int,
792    ) -> cublasStatus_t;
793    pub fn cublasCtrmv_v2(
794        handle: cublasHandle_t,
795        uplo: cublasFillMode_t,
796        trans: cublasOperation_t,
797        diag: cublasDiagType_t,
798        n: ::std::os::raw::c_int,
799        A: *const cuComplex,
800        lda: ::std::os::raw::c_int,
801        x: *mut cuComplex,
802        incx: ::std::os::raw::c_int,
803    ) -> cublasStatus_t;
804    pub fn cublasZtrmv_v2(
805        handle: cublasHandle_t,
806        uplo: cublasFillMode_t,
807        trans: cublasOperation_t,
808        diag: cublasDiagType_t,
809        n: ::std::os::raw::c_int,
810        A: *const cuDoubleComplex,
811        lda: ::std::os::raw::c_int,
812        x: *mut cuDoubleComplex,
813        incx: ::std::os::raw::c_int,
814    ) -> cublasStatus_t;
815    pub fn cublasStbmv_v2(
816        handle: cublasHandle_t,
817        uplo: cublasFillMode_t,
818        trans: cublasOperation_t,
819        diag: cublasDiagType_t,
820        n: ::std::os::raw::c_int,
821        k: ::std::os::raw::c_int,
822        A: *const f32,
823        lda: ::std::os::raw::c_int,
824        x: *mut f32,
825        incx: ::std::os::raw::c_int,
826    ) -> cublasStatus_t;
827    pub fn cublasDtbmv_v2(
828        handle: cublasHandle_t,
829        uplo: cublasFillMode_t,
830        trans: cublasOperation_t,
831        diag: cublasDiagType_t,
832        n: ::std::os::raw::c_int,
833        k: ::std::os::raw::c_int,
834        A: *const f64,
835        lda: ::std::os::raw::c_int,
836        x: *mut f64,
837        incx: ::std::os::raw::c_int,
838    ) -> cublasStatus_t;
839    pub fn cublasCtbmv_v2(
840        handle: cublasHandle_t,
841        uplo: cublasFillMode_t,
842        trans: cublasOperation_t,
843        diag: cublasDiagType_t,
844        n: ::std::os::raw::c_int,
845        k: ::std::os::raw::c_int,
846        A: *const cuComplex,
847        lda: ::std::os::raw::c_int,
848        x: *mut cuComplex,
849        incx: ::std::os::raw::c_int,
850    ) -> cublasStatus_t;
851    pub fn cublasZtbmv_v2(
852        handle: cublasHandle_t,
853        uplo: cublasFillMode_t,
854        trans: cublasOperation_t,
855        diag: cublasDiagType_t,
856        n: ::std::os::raw::c_int,
857        k: ::std::os::raw::c_int,
858        A: *const cuDoubleComplex,
859        lda: ::std::os::raw::c_int,
860        x: *mut cuDoubleComplex,
861        incx: ::std::os::raw::c_int,
862    ) -> cublasStatus_t;
863    pub fn cublasStpmv_v2(
864        handle: cublasHandle_t,
865        uplo: cublasFillMode_t,
866        trans: cublasOperation_t,
867        diag: cublasDiagType_t,
868        n: ::std::os::raw::c_int,
869        AP: *const f32,
870        x: *mut f32,
871        incx: ::std::os::raw::c_int,
872    ) -> cublasStatus_t;
873    pub fn cublasDtpmv_v2(
874        handle: cublasHandle_t,
875        uplo: cublasFillMode_t,
876        trans: cublasOperation_t,
877        diag: cublasDiagType_t,
878        n: ::std::os::raw::c_int,
879        AP: *const f64,
880        x: *mut f64,
881        incx: ::std::os::raw::c_int,
882    ) -> cublasStatus_t;
883    pub fn cublasCtpmv_v2(
884        handle: cublasHandle_t,
885        uplo: cublasFillMode_t,
886        trans: cublasOperation_t,
887        diag: cublasDiagType_t,
888        n: ::std::os::raw::c_int,
889        AP: *const cuComplex,
890        x: *mut cuComplex,
891        incx: ::std::os::raw::c_int,
892    ) -> cublasStatus_t;
893    pub fn cublasZtpmv_v2(
894        handle: cublasHandle_t,
895        uplo: cublasFillMode_t,
896        trans: cublasOperation_t,
897        diag: cublasDiagType_t,
898        n: ::std::os::raw::c_int,
899        AP: *const cuDoubleComplex,
900        x: *mut cuDoubleComplex,
901        incx: ::std::os::raw::c_int,
902    ) -> cublasStatus_t;
903    pub fn cublasStrsv_v2(
904        handle: cublasHandle_t,
905        uplo: cublasFillMode_t,
906        trans: cublasOperation_t,
907        diag: cublasDiagType_t,
908        n: ::std::os::raw::c_int,
909        A: *const f32,
910        lda: ::std::os::raw::c_int,
911        x: *mut f32,
912        incx: ::std::os::raw::c_int,
913    ) -> cublasStatus_t;
914    pub fn cublasDtrsv_v2(
915        handle: cublasHandle_t,
916        uplo: cublasFillMode_t,
917        trans: cublasOperation_t,
918        diag: cublasDiagType_t,
919        n: ::std::os::raw::c_int,
920        A: *const f64,
921        lda: ::std::os::raw::c_int,
922        x: *mut f64,
923        incx: ::std::os::raw::c_int,
924    ) -> cublasStatus_t;
925    pub fn cublasCtrsv_v2(
926        handle: cublasHandle_t,
927        uplo: cublasFillMode_t,
928        trans: cublasOperation_t,
929        diag: cublasDiagType_t,
930        n: ::std::os::raw::c_int,
931        A: *const cuComplex,
932        lda: ::std::os::raw::c_int,
933        x: *mut cuComplex,
934        incx: ::std::os::raw::c_int,
935    ) -> cublasStatus_t;
936    pub fn cublasZtrsv_v2(
937        handle: cublasHandle_t,
938        uplo: cublasFillMode_t,
939        trans: cublasOperation_t,
940        diag: cublasDiagType_t,
941        n: ::std::os::raw::c_int,
942        A: *const cuDoubleComplex,
943        lda: ::std::os::raw::c_int,
944        x: *mut cuDoubleComplex,
945        incx: ::std::os::raw::c_int,
946    ) -> cublasStatus_t;
947    pub fn cublasStpsv_v2(
948        handle: cublasHandle_t,
949        uplo: cublasFillMode_t,
950        trans: cublasOperation_t,
951        diag: cublasDiagType_t,
952        n: ::std::os::raw::c_int,
953        AP: *const f32,
954        x: *mut f32,
955        incx: ::std::os::raw::c_int,
956    ) -> cublasStatus_t;
957    pub fn cublasDtpsv_v2(
958        handle: cublasHandle_t,
959        uplo: cublasFillMode_t,
960        trans: cublasOperation_t,
961        diag: cublasDiagType_t,
962        n: ::std::os::raw::c_int,
963        AP: *const f64,
964        x: *mut f64,
965        incx: ::std::os::raw::c_int,
966    ) -> cublasStatus_t;
967    pub fn cublasCtpsv_v2(
968        handle: cublasHandle_t,
969        uplo: cublasFillMode_t,
970        trans: cublasOperation_t,
971        diag: cublasDiagType_t,
972        n: ::std::os::raw::c_int,
973        AP: *const cuComplex,
974        x: *mut cuComplex,
975        incx: ::std::os::raw::c_int,
976    ) -> cublasStatus_t;
977    pub fn cublasZtpsv_v2(
978        handle: cublasHandle_t,
979        uplo: cublasFillMode_t,
980        trans: cublasOperation_t,
981        diag: cublasDiagType_t,
982        n: ::std::os::raw::c_int,
983        AP: *const cuDoubleComplex,
984        x: *mut cuDoubleComplex,
985        incx: ::std::os::raw::c_int,
986    ) -> cublasStatus_t;
987    pub fn cublasStbsv_v2(
988        handle: cublasHandle_t,
989        uplo: cublasFillMode_t,
990        trans: cublasOperation_t,
991        diag: cublasDiagType_t,
992        n: ::std::os::raw::c_int,
993        k: ::std::os::raw::c_int,
994        A: *const f32,
995        lda: ::std::os::raw::c_int,
996        x: *mut f32,
997        incx: ::std::os::raw::c_int,
998    ) -> cublasStatus_t;
999    pub fn cublasDtbsv_v2(
1000        handle: cublasHandle_t,
1001        uplo: cublasFillMode_t,
1002        trans: cublasOperation_t,
1003        diag: cublasDiagType_t,
1004        n: ::std::os::raw::c_int,
1005        k: ::std::os::raw::c_int,
1006        A: *const f64,
1007        lda: ::std::os::raw::c_int,
1008        x: *mut f64,
1009        incx: ::std::os::raw::c_int,
1010    ) -> cublasStatus_t;
1011    pub fn cublasCtbsv_v2(
1012        handle: cublasHandle_t,
1013        uplo: cublasFillMode_t,
1014        trans: cublasOperation_t,
1015        diag: cublasDiagType_t,
1016        n: ::std::os::raw::c_int,
1017        k: ::std::os::raw::c_int,
1018        A: *const cuComplex,
1019        lda: ::std::os::raw::c_int,
1020        x: *mut cuComplex,
1021        incx: ::std::os::raw::c_int,
1022    ) -> cublasStatus_t;
1023    pub fn cublasZtbsv_v2(
1024        handle: cublasHandle_t,
1025        uplo: cublasFillMode_t,
1026        trans: cublasOperation_t,
1027        diag: cublasDiagType_t,
1028        n: ::std::os::raw::c_int,
1029        k: ::std::os::raw::c_int,
1030        A: *const cuDoubleComplex,
1031        lda: ::std::os::raw::c_int,
1032        x: *mut cuDoubleComplex,
1033        incx: ::std::os::raw::c_int,
1034    ) -> cublasStatus_t;
1035    pub fn cublasSsymv_v2(
1036        handle: cublasHandle_t,
1037        uplo: cublasFillMode_t,
1038        n: ::std::os::raw::c_int,
1039        alpha: *const f32,
1040        A: *const f32,
1041        lda: ::std::os::raw::c_int,
1042        x: *const f32,
1043        incx: ::std::os::raw::c_int,
1044        beta: *const f32,
1045        y: *mut f32,
1046        incy: ::std::os::raw::c_int,
1047    ) -> cublasStatus_t;
1048    pub fn cublasDsymv_v2(
1049        handle: cublasHandle_t,
1050        uplo: cublasFillMode_t,
1051        n: ::std::os::raw::c_int,
1052        alpha: *const f64,
1053        A: *const f64,
1054        lda: ::std::os::raw::c_int,
1055        x: *const f64,
1056        incx: ::std::os::raw::c_int,
1057        beta: *const f64,
1058        y: *mut f64,
1059        incy: ::std::os::raw::c_int,
1060    ) -> cublasStatus_t;
1061    pub fn cublasCsymv_v2(
1062        handle: cublasHandle_t,
1063        uplo: cublasFillMode_t,
1064        n: ::std::os::raw::c_int,
1065        alpha: *const cuComplex,
1066        A: *const cuComplex,
1067        lda: ::std::os::raw::c_int,
1068        x: *const cuComplex,
1069        incx: ::std::os::raw::c_int,
1070        beta: *const cuComplex,
1071        y: *mut cuComplex,
1072        incy: ::std::os::raw::c_int,
1073    ) -> cublasStatus_t;
1074    pub fn cublasZsymv_v2(
1075        handle: cublasHandle_t,
1076        uplo: cublasFillMode_t,
1077        n: ::std::os::raw::c_int,
1078        alpha: *const cuDoubleComplex,
1079        A: *const cuDoubleComplex,
1080        lda: ::std::os::raw::c_int,
1081        x: *const cuDoubleComplex,
1082        incx: ::std::os::raw::c_int,
1083        beta: *const cuDoubleComplex,
1084        y: *mut cuDoubleComplex,
1085        incy: ::std::os::raw::c_int,
1086    ) -> cublasStatus_t;
1087    pub fn cublasChemv_v2(
1088        handle: cublasHandle_t,
1089        uplo: cublasFillMode_t,
1090        n: ::std::os::raw::c_int,
1091        alpha: *const cuComplex,
1092        A: *const cuComplex,
1093        lda: ::std::os::raw::c_int,
1094        x: *const cuComplex,
1095        incx: ::std::os::raw::c_int,
1096        beta: *const cuComplex,
1097        y: *mut cuComplex,
1098        incy: ::std::os::raw::c_int,
1099    ) -> cublasStatus_t;
1100    pub fn cublasZhemv_v2(
1101        handle: cublasHandle_t,
1102        uplo: cublasFillMode_t,
1103        n: ::std::os::raw::c_int,
1104        alpha: *const cuDoubleComplex,
1105        A: *const cuDoubleComplex,
1106        lda: ::std::os::raw::c_int,
1107        x: *const cuDoubleComplex,
1108        incx: ::std::os::raw::c_int,
1109        beta: *const cuDoubleComplex,
1110        y: *mut cuDoubleComplex,
1111        incy: ::std::os::raw::c_int,
1112    ) -> cublasStatus_t;
1113    pub fn cublasSsbmv_v2(
1114        handle: cublasHandle_t,
1115        uplo: cublasFillMode_t,
1116        n: ::std::os::raw::c_int,
1117        k: ::std::os::raw::c_int,
1118        alpha: *const f32,
1119        A: *const f32,
1120        lda: ::std::os::raw::c_int,
1121        x: *const f32,
1122        incx: ::std::os::raw::c_int,
1123        beta: *const f32,
1124        y: *mut f32,
1125        incy: ::std::os::raw::c_int,
1126    ) -> cublasStatus_t;
1127    pub fn cublasDsbmv_v2(
1128        handle: cublasHandle_t,
1129        uplo: cublasFillMode_t,
1130        n: ::std::os::raw::c_int,
1131        k: ::std::os::raw::c_int,
1132        alpha: *const f64,
1133        A: *const f64,
1134        lda: ::std::os::raw::c_int,
1135        x: *const f64,
1136        incx: ::std::os::raw::c_int,
1137        beta: *const f64,
1138        y: *mut f64,
1139        incy: ::std::os::raw::c_int,
1140    ) -> cublasStatus_t;
1141    pub fn cublasChbmv_v2(
1142        handle: cublasHandle_t,
1143        uplo: cublasFillMode_t,
1144        n: ::std::os::raw::c_int,
1145        k: ::std::os::raw::c_int,
1146        alpha: *const cuComplex,
1147        A: *const cuComplex,
1148        lda: ::std::os::raw::c_int,
1149        x: *const cuComplex,
1150        incx: ::std::os::raw::c_int,
1151        beta: *const cuComplex,
1152        y: *mut cuComplex,
1153        incy: ::std::os::raw::c_int,
1154    ) -> cublasStatus_t;
1155    pub fn cublasZhbmv_v2(
1156        handle: cublasHandle_t,
1157        uplo: cublasFillMode_t,
1158        n: ::std::os::raw::c_int,
1159        k: ::std::os::raw::c_int,
1160        alpha: *const cuDoubleComplex,
1161        A: *const cuDoubleComplex,
1162        lda: ::std::os::raw::c_int,
1163        x: *const cuDoubleComplex,
1164        incx: ::std::os::raw::c_int,
1165        beta: *const cuDoubleComplex,
1166        y: *mut cuDoubleComplex,
1167        incy: ::std::os::raw::c_int,
1168    ) -> cublasStatus_t;
1169    pub fn cublasSspmv_v2(
1170        handle: cublasHandle_t,
1171        uplo: cublasFillMode_t,
1172        n: ::std::os::raw::c_int,
1173        alpha: *const f32,
1174        AP: *const f32,
1175        x: *const f32,
1176        incx: ::std::os::raw::c_int,
1177        beta: *const f32,
1178        y: *mut f32,
1179        incy: ::std::os::raw::c_int,
1180    ) -> cublasStatus_t;
1181    pub fn cublasDspmv_v2(
1182        handle: cublasHandle_t,
1183        uplo: cublasFillMode_t,
1184        n: ::std::os::raw::c_int,
1185        alpha: *const f64,
1186        AP: *const f64,
1187        x: *const f64,
1188        incx: ::std::os::raw::c_int,
1189        beta: *const f64,
1190        y: *mut f64,
1191        incy: ::std::os::raw::c_int,
1192    ) -> cublasStatus_t;
1193    pub fn cublasChpmv_v2(
1194        handle: cublasHandle_t,
1195        uplo: cublasFillMode_t,
1196        n: ::std::os::raw::c_int,
1197        alpha: *const cuComplex,
1198        AP: *const cuComplex,
1199        x: *const cuComplex,
1200        incx: ::std::os::raw::c_int,
1201        beta: *const cuComplex,
1202        y: *mut cuComplex,
1203        incy: ::std::os::raw::c_int,
1204    ) -> cublasStatus_t;
1205    pub fn cublasZhpmv_v2(
1206        handle: cublasHandle_t,
1207        uplo: cublasFillMode_t,
1208        n: ::std::os::raw::c_int,
1209        alpha: *const cuDoubleComplex,
1210        AP: *const cuDoubleComplex,
1211        x: *const cuDoubleComplex,
1212        incx: ::std::os::raw::c_int,
1213        beta: *const cuDoubleComplex,
1214        y: *mut cuDoubleComplex,
1215        incy: ::std::os::raw::c_int,
1216    ) -> cublasStatus_t;
1217    pub fn cublasSger_v2(
1218        handle: cublasHandle_t,
1219        m: ::std::os::raw::c_int,
1220        n: ::std::os::raw::c_int,
1221        alpha: *const f32,
1222        x: *const f32,
1223        incx: ::std::os::raw::c_int,
1224        y: *const f32,
1225        incy: ::std::os::raw::c_int,
1226        A: *mut f32,
1227        lda: ::std::os::raw::c_int,
1228    ) -> cublasStatus_t;
1229    pub fn cublasDger_v2(
1230        handle: cublasHandle_t,
1231        m: ::std::os::raw::c_int,
1232        n: ::std::os::raw::c_int,
1233        alpha: *const f64,
1234        x: *const f64,
1235        incx: ::std::os::raw::c_int,
1236        y: *const f64,
1237        incy: ::std::os::raw::c_int,
1238        A: *mut f64,
1239        lda: ::std::os::raw::c_int,
1240    ) -> cublasStatus_t;
1241    pub fn cublasCgeru_v2(
1242        handle: cublasHandle_t,
1243        m: ::std::os::raw::c_int,
1244        n: ::std::os::raw::c_int,
1245        alpha: *const cuComplex,
1246        x: *const cuComplex,
1247        incx: ::std::os::raw::c_int,
1248        y: *const cuComplex,
1249        incy: ::std::os::raw::c_int,
1250        A: *mut cuComplex,
1251        lda: ::std::os::raw::c_int,
1252    ) -> cublasStatus_t;
1253    pub fn cublasCgerc_v2(
1254        handle: cublasHandle_t,
1255        m: ::std::os::raw::c_int,
1256        n: ::std::os::raw::c_int,
1257        alpha: *const cuComplex,
1258        x: *const cuComplex,
1259        incx: ::std::os::raw::c_int,
1260        y: *const cuComplex,
1261        incy: ::std::os::raw::c_int,
1262        A: *mut cuComplex,
1263        lda: ::std::os::raw::c_int,
1264    ) -> cublasStatus_t;
1265    pub fn cublasZgeru_v2(
1266        handle: cublasHandle_t,
1267        m: ::std::os::raw::c_int,
1268        n: ::std::os::raw::c_int,
1269        alpha: *const cuDoubleComplex,
1270        x: *const cuDoubleComplex,
1271        incx: ::std::os::raw::c_int,
1272        y: *const cuDoubleComplex,
1273        incy: ::std::os::raw::c_int,
1274        A: *mut cuDoubleComplex,
1275        lda: ::std::os::raw::c_int,
1276    ) -> cublasStatus_t;
1277    pub fn cublasZgerc_v2(
1278        handle: cublasHandle_t,
1279        m: ::std::os::raw::c_int,
1280        n: ::std::os::raw::c_int,
1281        alpha: *const cuDoubleComplex,
1282        x: *const cuDoubleComplex,
1283        incx: ::std::os::raw::c_int,
1284        y: *const cuDoubleComplex,
1285        incy: ::std::os::raw::c_int,
1286        A: *mut cuDoubleComplex,
1287        lda: ::std::os::raw::c_int,
1288    ) -> cublasStatus_t;
1289    pub fn cublasSsyr_v2(
1290        handle: cublasHandle_t,
1291        uplo: cublasFillMode_t,
1292        n: ::std::os::raw::c_int,
1293        alpha: *const f32,
1294        x: *const f32,
1295        incx: ::std::os::raw::c_int,
1296        A: *mut f32,
1297        lda: ::std::os::raw::c_int,
1298    ) -> cublasStatus_t;
1299    pub fn cublasDsyr_v2(
1300        handle: cublasHandle_t,
1301        uplo: cublasFillMode_t,
1302        n: ::std::os::raw::c_int,
1303        alpha: *const f64,
1304        x: *const f64,
1305        incx: ::std::os::raw::c_int,
1306        A: *mut f64,
1307        lda: ::std::os::raw::c_int,
1308    ) -> cublasStatus_t;
1309    pub fn cublasCsyr_v2(
1310        handle: cublasHandle_t,
1311        uplo: cublasFillMode_t,
1312        n: ::std::os::raw::c_int,
1313        alpha: *const cuComplex,
1314        x: *const cuComplex,
1315        incx: ::std::os::raw::c_int,
1316        A: *mut cuComplex,
1317        lda: ::std::os::raw::c_int,
1318    ) -> cublasStatus_t;
1319    pub fn cublasZsyr_v2(
1320        handle: cublasHandle_t,
1321        uplo: cublasFillMode_t,
1322        n: ::std::os::raw::c_int,
1323        alpha: *const cuDoubleComplex,
1324        x: *const cuDoubleComplex,
1325        incx: ::std::os::raw::c_int,
1326        A: *mut cuDoubleComplex,
1327        lda: ::std::os::raw::c_int,
1328    ) -> cublasStatus_t;
1329    pub fn cublasCher_v2(
1330        handle: cublasHandle_t,
1331        uplo: cublasFillMode_t,
1332        n: ::std::os::raw::c_int,
1333        alpha: *const f32,
1334        x: *const cuComplex,
1335        incx: ::std::os::raw::c_int,
1336        A: *mut cuComplex,
1337        lda: ::std::os::raw::c_int,
1338    ) -> cublasStatus_t;
1339    pub fn cublasZher_v2(
1340        handle: cublasHandle_t,
1341        uplo: cublasFillMode_t,
1342        n: ::std::os::raw::c_int,
1343        alpha: *const f64,
1344        x: *const cuDoubleComplex,
1345        incx: ::std::os::raw::c_int,
1346        A: *mut cuDoubleComplex,
1347        lda: ::std::os::raw::c_int,
1348    ) -> cublasStatus_t;
1349    pub fn cublasSspr_v2(
1350        handle: cublasHandle_t,
1351        uplo: cublasFillMode_t,
1352        n: ::std::os::raw::c_int,
1353        alpha: *const f32,
1354        x: *const f32,
1355        incx: ::std::os::raw::c_int,
1356        AP: *mut f32,
1357    ) -> cublasStatus_t;
1358    pub fn cublasDspr_v2(
1359        handle: cublasHandle_t,
1360        uplo: cublasFillMode_t,
1361        n: ::std::os::raw::c_int,
1362        alpha: *const f64,
1363        x: *const f64,
1364        incx: ::std::os::raw::c_int,
1365        AP: *mut f64,
1366    ) -> cublasStatus_t;
1367    pub fn cublasChpr_v2(
1368        handle: cublasHandle_t,
1369        uplo: cublasFillMode_t,
1370        n: ::std::os::raw::c_int,
1371        alpha: *const f32,
1372        x: *const cuComplex,
1373        incx: ::std::os::raw::c_int,
1374        AP: *mut cuComplex,
1375    ) -> cublasStatus_t;
1376    pub fn cublasZhpr_v2(
1377        handle: cublasHandle_t,
1378        uplo: cublasFillMode_t,
1379        n: ::std::os::raw::c_int,
1380        alpha: *const f64,
1381        x: *const cuDoubleComplex,
1382        incx: ::std::os::raw::c_int,
1383        AP: *mut cuDoubleComplex,
1384    ) -> cublasStatus_t;
1385    pub fn cublasSsyr2_v2(
1386        handle: cublasHandle_t,
1387        uplo: cublasFillMode_t,
1388        n: ::std::os::raw::c_int,
1389        alpha: *const f32,
1390        x: *const f32,
1391        incx: ::std::os::raw::c_int,
1392        y: *const f32,
1393        incy: ::std::os::raw::c_int,
1394        A: *mut f32,
1395        lda: ::std::os::raw::c_int,
1396    ) -> cublasStatus_t;
1397    pub fn cublasDsyr2_v2(
1398        handle: cublasHandle_t,
1399        uplo: cublasFillMode_t,
1400        n: ::std::os::raw::c_int,
1401        alpha: *const f64,
1402        x: *const f64,
1403        incx: ::std::os::raw::c_int,
1404        y: *const f64,
1405        incy: ::std::os::raw::c_int,
1406        A: *mut f64,
1407        lda: ::std::os::raw::c_int,
1408    ) -> cublasStatus_t;
1409    pub fn cublasCsyr2_v2(
1410        handle: cublasHandle_t,
1411        uplo: cublasFillMode_t,
1412        n: ::std::os::raw::c_int,
1413        alpha: *const cuComplex,
1414        x: *const cuComplex,
1415        incx: ::std::os::raw::c_int,
1416        y: *const cuComplex,
1417        incy: ::std::os::raw::c_int,
1418        A: *mut cuComplex,
1419        lda: ::std::os::raw::c_int,
1420    ) -> cublasStatus_t;
1421    pub fn cublasZsyr2_v2(
1422        handle: cublasHandle_t,
1423        uplo: cublasFillMode_t,
1424        n: ::std::os::raw::c_int,
1425        alpha: *const cuDoubleComplex,
1426        x: *const cuDoubleComplex,
1427        incx: ::std::os::raw::c_int,
1428        y: *const cuDoubleComplex,
1429        incy: ::std::os::raw::c_int,
1430        A: *mut cuDoubleComplex,
1431        lda: ::std::os::raw::c_int,
1432    ) -> cublasStatus_t;
1433    pub fn cublasCher2_v2(
1434        handle: cublasHandle_t,
1435        uplo: cublasFillMode_t,
1436        n: ::std::os::raw::c_int,
1437        alpha: *const cuComplex,
1438        x: *const cuComplex,
1439        incx: ::std::os::raw::c_int,
1440        y: *const cuComplex,
1441        incy: ::std::os::raw::c_int,
1442        A: *mut cuComplex,
1443        lda: ::std::os::raw::c_int,
1444    ) -> cublasStatus_t;
1445    pub fn cublasZher2_v2(
1446        handle: cublasHandle_t,
1447        uplo: cublasFillMode_t,
1448        n: ::std::os::raw::c_int,
1449        alpha: *const cuDoubleComplex,
1450        x: *const cuDoubleComplex,
1451        incx: ::std::os::raw::c_int,
1452        y: *const cuDoubleComplex,
1453        incy: ::std::os::raw::c_int,
1454        A: *mut cuDoubleComplex,
1455        lda: ::std::os::raw::c_int,
1456    ) -> cublasStatus_t;
1457    pub fn cublasSspr2_v2(
1458        handle: cublasHandle_t,
1459        uplo: cublasFillMode_t,
1460        n: ::std::os::raw::c_int,
1461        alpha: *const f32,
1462        x: *const f32,
1463        incx: ::std::os::raw::c_int,
1464        y: *const f32,
1465        incy: ::std::os::raw::c_int,
1466        AP: *mut f32,
1467    ) -> cublasStatus_t;
1468    pub fn cublasDspr2_v2(
1469        handle: cublasHandle_t,
1470        uplo: cublasFillMode_t,
1471        n: ::std::os::raw::c_int,
1472        alpha: *const f64,
1473        x: *const f64,
1474        incx: ::std::os::raw::c_int,
1475        y: *const f64,
1476        incy: ::std::os::raw::c_int,
1477        AP: *mut f64,
1478    ) -> cublasStatus_t;
1479    pub fn cublasChpr2_v2(
1480        handle: cublasHandle_t,
1481        uplo: cublasFillMode_t,
1482        n: ::std::os::raw::c_int,
1483        alpha: *const cuComplex,
1484        x: *const cuComplex,
1485        incx: ::std::os::raw::c_int,
1486        y: *const cuComplex,
1487        incy: ::std::os::raw::c_int,
1488        AP: *mut cuComplex,
1489    ) -> cublasStatus_t;
1490    pub fn cublasZhpr2_v2(
1491        handle: cublasHandle_t,
1492        uplo: cublasFillMode_t,
1493        n: ::std::os::raw::c_int,
1494        alpha: *const cuDoubleComplex,
1495        x: *const cuDoubleComplex,
1496        incx: ::std::os::raw::c_int,
1497        y: *const cuDoubleComplex,
1498        incy: ::std::os::raw::c_int,
1499        AP: *mut cuDoubleComplex,
1500    ) -> cublasStatus_t;
1501    pub fn cublasSgemm_v2(
1502        handle: cublasHandle_t,
1503        transa: cublasOperation_t,
1504        transb: cublasOperation_t,
1505        m: ::std::os::raw::c_int,
1506        n: ::std::os::raw::c_int,
1507        k: ::std::os::raw::c_int,
1508        alpha: *const f32,
1509        A: *const f32,
1510        lda: ::std::os::raw::c_int,
1511        B: *const f32,
1512        ldb: ::std::os::raw::c_int,
1513        beta: *const f32,
1514        C: *mut f32,
1515        ldc: ::std::os::raw::c_int,
1516    ) -> cublasStatus_t;
1517    pub fn cublasDgemm_v2(
1518        handle: cublasHandle_t,
1519        transa: cublasOperation_t,
1520        transb: cublasOperation_t,
1521        m: ::std::os::raw::c_int,
1522        n: ::std::os::raw::c_int,
1523        k: ::std::os::raw::c_int,
1524        alpha: *const f64,
1525        A: *const f64,
1526        lda: ::std::os::raw::c_int,
1527        B: *const f64,
1528        ldb: ::std::os::raw::c_int,
1529        beta: *const f64,
1530        C: *mut f64,
1531        ldc: ::std::os::raw::c_int,
1532    ) -> cublasStatus_t;
1533    pub fn cublasCgemm_v2(
1534        handle: cublasHandle_t,
1535        transa: cublasOperation_t,
1536        transb: cublasOperation_t,
1537        m: ::std::os::raw::c_int,
1538        n: ::std::os::raw::c_int,
1539        k: ::std::os::raw::c_int,
1540        alpha: *const cuComplex,
1541        A: *const cuComplex,
1542        lda: ::std::os::raw::c_int,
1543        B: *const cuComplex,
1544        ldb: ::std::os::raw::c_int,
1545        beta: *const cuComplex,
1546        C: *mut cuComplex,
1547        ldc: ::std::os::raw::c_int,
1548    ) -> cublasStatus_t;
1549    pub fn cublasCgemm3m(
1550        handle: cublasHandle_t,
1551        transa: cublasOperation_t,
1552        transb: cublasOperation_t,
1553        m: ::std::os::raw::c_int,
1554        n: ::std::os::raw::c_int,
1555        k: ::std::os::raw::c_int,
1556        alpha: *const cuComplex,
1557        A: *const cuComplex,
1558        lda: ::std::os::raw::c_int,
1559        B: *const cuComplex,
1560        ldb: ::std::os::raw::c_int,
1561        beta: *const cuComplex,
1562        C: *mut cuComplex,
1563        ldc: ::std::os::raw::c_int,
1564    ) -> cublasStatus_t;
1565    pub fn cublasCgemm3mEx(
1566        handle: cublasHandle_t,
1567        transa: cublasOperation_t,
1568        transb: cublasOperation_t,
1569        m: ::std::os::raw::c_int,
1570        n: ::std::os::raw::c_int,
1571        k: ::std::os::raw::c_int,
1572        alpha: *const cuComplex,
1573        A: *const ::std::os::raw::c_void,
1574        Atype: cudaDataType,
1575        lda: ::std::os::raw::c_int,
1576        B: *const ::std::os::raw::c_void,
1577        Btype: cudaDataType,
1578        ldb: ::std::os::raw::c_int,
1579        beta: *const cuComplex,
1580        C: *mut ::std::os::raw::c_void,
1581        Ctype: cudaDataType,
1582        ldc: ::std::os::raw::c_int,
1583    ) -> cublasStatus_t;
1584    pub fn cublasZgemm_v2(
1585        handle: cublasHandle_t,
1586        transa: cublasOperation_t,
1587        transb: cublasOperation_t,
1588        m: ::std::os::raw::c_int,
1589        n: ::std::os::raw::c_int,
1590        k: ::std::os::raw::c_int,
1591        alpha: *const cuDoubleComplex,
1592        A: *const cuDoubleComplex,
1593        lda: ::std::os::raw::c_int,
1594        B: *const cuDoubleComplex,
1595        ldb: ::std::os::raw::c_int,
1596        beta: *const cuDoubleComplex,
1597        C: *mut cuDoubleComplex,
1598        ldc: ::std::os::raw::c_int,
1599    ) -> cublasStatus_t;
1600    pub fn cublasZgemm3m(
1601        handle: cublasHandle_t,
1602        transa: cublasOperation_t,
1603        transb: cublasOperation_t,
1604        m: ::std::os::raw::c_int,
1605        n: ::std::os::raw::c_int,
1606        k: ::std::os::raw::c_int,
1607        alpha: *const cuDoubleComplex,
1608        A: *const cuDoubleComplex,
1609        lda: ::std::os::raw::c_int,
1610        B: *const cuDoubleComplex,
1611        ldb: ::std::os::raw::c_int,
1612        beta: *const cuDoubleComplex,
1613        C: *mut cuDoubleComplex,
1614        ldc: ::std::os::raw::c_int,
1615    ) -> cublasStatus_t;
1616    pub fn cublasSgemmEx(
1617        handle: cublasHandle_t,
1618        transa: cublasOperation_t,
1619        transb: cublasOperation_t,
1620        m: ::std::os::raw::c_int,
1621        n: ::std::os::raw::c_int,
1622        k: ::std::os::raw::c_int,
1623        alpha: *const f32,
1624        A: *const ::std::os::raw::c_void,
1625        Atype: cudaDataType,
1626        lda: ::std::os::raw::c_int,
1627        B: *const ::std::os::raw::c_void,
1628        Btype: cudaDataType,
1629        ldb: ::std::os::raw::c_int,
1630        beta: *const f32,
1631        C: *mut ::std::os::raw::c_void,
1632        Ctype: cudaDataType,
1633        ldc: ::std::os::raw::c_int,
1634    ) -> cublasStatus_t;
1635    pub fn cublasGemmEx(
1636        handle: cublasHandle_t,
1637        transa: cublasOperation_t,
1638        transb: cublasOperation_t,
1639        m: ::std::os::raw::c_int,
1640        n: ::std::os::raw::c_int,
1641        k: ::std::os::raw::c_int,
1642        alpha: *const ::std::os::raw::c_void,
1643        A: *const ::std::os::raw::c_void,
1644        Atype: cudaDataType,
1645        lda: ::std::os::raw::c_int,
1646        B: *const ::std::os::raw::c_void,
1647        Btype: cudaDataType,
1648        ldb: ::std::os::raw::c_int,
1649        beta: *const ::std::os::raw::c_void,
1650        C: *mut ::std::os::raw::c_void,
1651        Ctype: cudaDataType,
1652        ldc: ::std::os::raw::c_int,
1653        computeType: cudaDataType,
1654        algo: cublasGemmAlgo_t,
1655    ) -> cublasStatus_t;
1656    pub fn cublasCgemmEx(
1657        handle: cublasHandle_t,
1658        transa: cublasOperation_t,
1659        transb: cublasOperation_t,
1660        m: ::std::os::raw::c_int,
1661        n: ::std::os::raw::c_int,
1662        k: ::std::os::raw::c_int,
1663        alpha: *const cuComplex,
1664        A: *const ::std::os::raw::c_void,
1665        Atype: cudaDataType,
1666        lda: ::std::os::raw::c_int,
1667        B: *const ::std::os::raw::c_void,
1668        Btype: cudaDataType,
1669        ldb: ::std::os::raw::c_int,
1670        beta: *const cuComplex,
1671        C: *mut ::std::os::raw::c_void,
1672        Ctype: cudaDataType,
1673        ldc: ::std::os::raw::c_int,
1674    ) -> cublasStatus_t;
1675    pub fn cublasUint8gemmBias(
1676        handle: cublasHandle_t,
1677        transa: cublasOperation_t,
1678        transb: cublasOperation_t,
1679        transc: cublasOperation_t,
1680        m: ::std::os::raw::c_int,
1681        n: ::std::os::raw::c_int,
1682        k: ::std::os::raw::c_int,
1683        A: *const ::std::os::raw::c_uchar,
1684        A_bias: ::std::os::raw::c_int,
1685        lda: ::std::os::raw::c_int,
1686        B: *const ::std::os::raw::c_uchar,
1687        B_bias: ::std::os::raw::c_int,
1688        ldb: ::std::os::raw::c_int,
1689        C: *mut ::std::os::raw::c_uchar,
1690        C_bias: ::std::os::raw::c_int,
1691        ldc: ::std::os::raw::c_int,
1692        C_mult: ::std::os::raw::c_int,
1693        C_shift: ::std::os::raw::c_int,
1694    ) -> cublasStatus_t;
1695    pub fn cublasSsyrk_v2(
1696        handle: cublasHandle_t,
1697        uplo: cublasFillMode_t,
1698        trans: cublasOperation_t,
1699        n: ::std::os::raw::c_int,
1700        k: ::std::os::raw::c_int,
1701        alpha: *const f32,
1702        A: *const f32,
1703        lda: ::std::os::raw::c_int,
1704        beta: *const f32,
1705        C: *mut f32,
1706        ldc: ::std::os::raw::c_int,
1707    ) -> cublasStatus_t;
1708    pub fn cublasDsyrk_v2(
1709        handle: cublasHandle_t,
1710        uplo: cublasFillMode_t,
1711        trans: cublasOperation_t,
1712        n: ::std::os::raw::c_int,
1713        k: ::std::os::raw::c_int,
1714        alpha: *const f64,
1715        A: *const f64,
1716        lda: ::std::os::raw::c_int,
1717        beta: *const f64,
1718        C: *mut f64,
1719        ldc: ::std::os::raw::c_int,
1720    ) -> cublasStatus_t;
1721    pub fn cublasCsyrk_v2(
1722        handle: cublasHandle_t,
1723        uplo: cublasFillMode_t,
1724        trans: cublasOperation_t,
1725        n: ::std::os::raw::c_int,
1726        k: ::std::os::raw::c_int,
1727        alpha: *const cuComplex,
1728        A: *const cuComplex,
1729        lda: ::std::os::raw::c_int,
1730        beta: *const cuComplex,
1731        C: *mut cuComplex,
1732        ldc: ::std::os::raw::c_int,
1733    ) -> cublasStatus_t;
1734    pub fn cublasZsyrk_v2(
1735        handle: cublasHandle_t,
1736        uplo: cublasFillMode_t,
1737        trans: cublasOperation_t,
1738        n: ::std::os::raw::c_int,
1739        k: ::std::os::raw::c_int,
1740        alpha: *const cuDoubleComplex,
1741        A: *const cuDoubleComplex,
1742        lda: ::std::os::raw::c_int,
1743        beta: *const cuDoubleComplex,
1744        C: *mut cuDoubleComplex,
1745        ldc: ::std::os::raw::c_int,
1746    ) -> cublasStatus_t;
1747    pub fn cublasCsyrkEx(
1748        handle: cublasHandle_t,
1749        uplo: cublasFillMode_t,
1750        trans: cublasOperation_t,
1751        n: ::std::os::raw::c_int,
1752        k: ::std::os::raw::c_int,
1753        alpha: *const cuComplex,
1754        A: *const ::std::os::raw::c_void,
1755        Atype: cudaDataType,
1756        lda: ::std::os::raw::c_int,
1757        beta: *const cuComplex,
1758        C: *mut ::std::os::raw::c_void,
1759        Ctype: cudaDataType,
1760        ldc: ::std::os::raw::c_int,
1761    ) -> cublasStatus_t;
1762    pub fn cublasCsyrk3mEx(
1763        handle: cublasHandle_t,
1764        uplo: cublasFillMode_t,
1765        trans: cublasOperation_t,
1766        n: ::std::os::raw::c_int,
1767        k: ::std::os::raw::c_int,
1768        alpha: *const cuComplex,
1769        A: *const ::std::os::raw::c_void,
1770        Atype: cudaDataType,
1771        lda: ::std::os::raw::c_int,
1772        beta: *const cuComplex,
1773        C: *mut ::std::os::raw::c_void,
1774        Ctype: cudaDataType,
1775        ldc: ::std::os::raw::c_int,
1776    ) -> cublasStatus_t;
1777    pub fn cublasCherk_v2(
1778        handle: cublasHandle_t,
1779        uplo: cublasFillMode_t,
1780        trans: cublasOperation_t,
1781        n: ::std::os::raw::c_int,
1782        k: ::std::os::raw::c_int,
1783        alpha: *const f32,
1784        A: *const cuComplex,
1785        lda: ::std::os::raw::c_int,
1786        beta: *const f32,
1787        C: *mut cuComplex,
1788        ldc: ::std::os::raw::c_int,
1789    ) -> cublasStatus_t;
1790    pub fn cublasZherk_v2(
1791        handle: cublasHandle_t,
1792        uplo: cublasFillMode_t,
1793        trans: cublasOperation_t,
1794        n: ::std::os::raw::c_int,
1795        k: ::std::os::raw::c_int,
1796        alpha: *const f64,
1797        A: *const cuDoubleComplex,
1798        lda: ::std::os::raw::c_int,
1799        beta: *const f64,
1800        C: *mut cuDoubleComplex,
1801        ldc: ::std::os::raw::c_int,
1802    ) -> cublasStatus_t;
1803    pub fn cublasCherkEx(
1804        handle: cublasHandle_t,
1805        uplo: cublasFillMode_t,
1806        trans: cublasOperation_t,
1807        n: ::std::os::raw::c_int,
1808        k: ::std::os::raw::c_int,
1809        alpha: *const f32,
1810        A: *const ::std::os::raw::c_void,
1811        Atype: cudaDataType,
1812        lda: ::std::os::raw::c_int,
1813        beta: *const f32,
1814        C: *mut ::std::os::raw::c_void,
1815        Ctype: cudaDataType,
1816        ldc: ::std::os::raw::c_int,
1817    ) -> cublasStatus_t;
1818    pub fn cublasCherk3mEx(
1819        handle: cublasHandle_t,
1820        uplo: cublasFillMode_t,
1821        trans: cublasOperation_t,
1822        n: ::std::os::raw::c_int,
1823        k: ::std::os::raw::c_int,
1824        alpha: *const f32,
1825        A: *const ::std::os::raw::c_void,
1826        Atype: cudaDataType,
1827        lda: ::std::os::raw::c_int,
1828        beta: *const f32,
1829        C: *mut ::std::os::raw::c_void,
1830        Ctype: cudaDataType,
1831        ldc: ::std::os::raw::c_int,
1832    ) -> cublasStatus_t;
1833    pub fn cublasSsyr2k_v2(
1834        handle: cublasHandle_t,
1835        uplo: cublasFillMode_t,
1836        trans: cublasOperation_t,
1837        n: ::std::os::raw::c_int,
1838        k: ::std::os::raw::c_int,
1839        alpha: *const f32,
1840        A: *const f32,
1841        lda: ::std::os::raw::c_int,
1842        B: *const f32,
1843        ldb: ::std::os::raw::c_int,
1844        beta: *const f32,
1845        C: *mut f32,
1846        ldc: ::std::os::raw::c_int,
1847    ) -> cublasStatus_t;
1848    pub fn cublasDsyr2k_v2(
1849        handle: cublasHandle_t,
1850        uplo: cublasFillMode_t,
1851        trans: cublasOperation_t,
1852        n: ::std::os::raw::c_int,
1853        k: ::std::os::raw::c_int,
1854        alpha: *const f64,
1855        A: *const f64,
1856        lda: ::std::os::raw::c_int,
1857        B: *const f64,
1858        ldb: ::std::os::raw::c_int,
1859        beta: *const f64,
1860        C: *mut f64,
1861        ldc: ::std::os::raw::c_int,
1862    ) -> cublasStatus_t;
1863    pub fn cublasCsyr2k_v2(
1864        handle: cublasHandle_t,
1865        uplo: cublasFillMode_t,
1866        trans: cublasOperation_t,
1867        n: ::std::os::raw::c_int,
1868        k: ::std::os::raw::c_int,
1869        alpha: *const cuComplex,
1870        A: *const cuComplex,
1871        lda: ::std::os::raw::c_int,
1872        B: *const cuComplex,
1873        ldb: ::std::os::raw::c_int,
1874        beta: *const cuComplex,
1875        C: *mut cuComplex,
1876        ldc: ::std::os::raw::c_int,
1877    ) -> cublasStatus_t;
1878    pub fn cublasZsyr2k_v2(
1879        handle: cublasHandle_t,
1880        uplo: cublasFillMode_t,
1881        trans: cublasOperation_t,
1882        n: ::std::os::raw::c_int,
1883        k: ::std::os::raw::c_int,
1884        alpha: *const cuDoubleComplex,
1885        A: *const cuDoubleComplex,
1886        lda: ::std::os::raw::c_int,
1887        B: *const cuDoubleComplex,
1888        ldb: ::std::os::raw::c_int,
1889        beta: *const cuDoubleComplex,
1890        C: *mut cuDoubleComplex,
1891        ldc: ::std::os::raw::c_int,
1892    ) -> cublasStatus_t;
1893    pub fn cublasCher2k_v2(
1894        handle: cublasHandle_t,
1895        uplo: cublasFillMode_t,
1896        trans: cublasOperation_t,
1897        n: ::std::os::raw::c_int,
1898        k: ::std::os::raw::c_int,
1899        alpha: *const cuComplex,
1900        A: *const cuComplex,
1901        lda: ::std::os::raw::c_int,
1902        B: *const cuComplex,
1903        ldb: ::std::os::raw::c_int,
1904        beta: *const f32,
1905        C: *mut cuComplex,
1906        ldc: ::std::os::raw::c_int,
1907    ) -> cublasStatus_t;
1908    pub fn cublasZher2k_v2(
1909        handle: cublasHandle_t,
1910        uplo: cublasFillMode_t,
1911        trans: cublasOperation_t,
1912        n: ::std::os::raw::c_int,
1913        k: ::std::os::raw::c_int,
1914        alpha: *const cuDoubleComplex,
1915        A: *const cuDoubleComplex,
1916        lda: ::std::os::raw::c_int,
1917        B: *const cuDoubleComplex,
1918        ldb: ::std::os::raw::c_int,
1919        beta: *const f64,
1920        C: *mut cuDoubleComplex,
1921        ldc: ::std::os::raw::c_int,
1922    ) -> cublasStatus_t;
1923    pub fn cublasSsyrkx(
1924        handle: cublasHandle_t,
1925        uplo: cublasFillMode_t,
1926        trans: cublasOperation_t,
1927        n: ::std::os::raw::c_int,
1928        k: ::std::os::raw::c_int,
1929        alpha: *const f32,
1930        A: *const f32,
1931        lda: ::std::os::raw::c_int,
1932        B: *const f32,
1933        ldb: ::std::os::raw::c_int,
1934        beta: *const f32,
1935        C: *mut f32,
1936        ldc: ::std::os::raw::c_int,
1937    ) -> cublasStatus_t;
1938    pub fn cublasDsyrkx(
1939        handle: cublasHandle_t,
1940        uplo: cublasFillMode_t,
1941        trans: cublasOperation_t,
1942        n: ::std::os::raw::c_int,
1943        k: ::std::os::raw::c_int,
1944        alpha: *const f64,
1945        A: *const f64,
1946        lda: ::std::os::raw::c_int,
1947        B: *const f64,
1948        ldb: ::std::os::raw::c_int,
1949        beta: *const f64,
1950        C: *mut f64,
1951        ldc: ::std::os::raw::c_int,
1952    ) -> cublasStatus_t;
1953    pub fn cublasCsyrkx(
1954        handle: cublasHandle_t,
1955        uplo: cublasFillMode_t,
1956        trans: cublasOperation_t,
1957        n: ::std::os::raw::c_int,
1958        k: ::std::os::raw::c_int,
1959        alpha: *const cuComplex,
1960        A: *const cuComplex,
1961        lda: ::std::os::raw::c_int,
1962        B: *const cuComplex,
1963        ldb: ::std::os::raw::c_int,
1964        beta: *const cuComplex,
1965        C: *mut cuComplex,
1966        ldc: ::std::os::raw::c_int,
1967    ) -> cublasStatus_t;
1968    pub fn cublasZsyrkx(
1969        handle: cublasHandle_t,
1970        uplo: cublasFillMode_t,
1971        trans: cublasOperation_t,
1972        n: ::std::os::raw::c_int,
1973        k: ::std::os::raw::c_int,
1974        alpha: *const cuDoubleComplex,
1975        A: *const cuDoubleComplex,
1976        lda: ::std::os::raw::c_int,
1977        B: *const cuDoubleComplex,
1978        ldb: ::std::os::raw::c_int,
1979        beta: *const cuDoubleComplex,
1980        C: *mut cuDoubleComplex,
1981        ldc: ::std::os::raw::c_int,
1982    ) -> cublasStatus_t;
1983    pub fn cublasCherkx(
1984        handle: cublasHandle_t,
1985        uplo: cublasFillMode_t,
1986        trans: cublasOperation_t,
1987        n: ::std::os::raw::c_int,
1988        k: ::std::os::raw::c_int,
1989        alpha: *const cuComplex,
1990        A: *const cuComplex,
1991        lda: ::std::os::raw::c_int,
1992        B: *const cuComplex,
1993        ldb: ::std::os::raw::c_int,
1994        beta: *const f32,
1995        C: *mut cuComplex,
1996        ldc: ::std::os::raw::c_int,
1997    ) -> cublasStatus_t;
1998    pub fn cublasZherkx(
1999        handle: cublasHandle_t,
2000        uplo: cublasFillMode_t,
2001        trans: cublasOperation_t,
2002        n: ::std::os::raw::c_int,
2003        k: ::std::os::raw::c_int,
2004        alpha: *const cuDoubleComplex,
2005        A: *const cuDoubleComplex,
2006        lda: ::std::os::raw::c_int,
2007        B: *const cuDoubleComplex,
2008        ldb: ::std::os::raw::c_int,
2009        beta: *const f64,
2010        C: *mut cuDoubleComplex,
2011        ldc: ::std::os::raw::c_int,
2012    ) -> cublasStatus_t;
2013    pub fn cublasSsymm_v2(
2014        handle: cublasHandle_t,
2015        side: cublasSideMode_t,
2016        uplo: cublasFillMode_t,
2017        m: ::std::os::raw::c_int,
2018        n: ::std::os::raw::c_int,
2019        alpha: *const f32,
2020        A: *const f32,
2021        lda: ::std::os::raw::c_int,
2022        B: *const f32,
2023        ldb: ::std::os::raw::c_int,
2024        beta: *const f32,
2025        C: *mut f32,
2026        ldc: ::std::os::raw::c_int,
2027    ) -> cublasStatus_t;
2028    pub fn cublasDsymm_v2(
2029        handle: cublasHandle_t,
2030        side: cublasSideMode_t,
2031        uplo: cublasFillMode_t,
2032        m: ::std::os::raw::c_int,
2033        n: ::std::os::raw::c_int,
2034        alpha: *const f64,
2035        A: *const f64,
2036        lda: ::std::os::raw::c_int,
2037        B: *const f64,
2038        ldb: ::std::os::raw::c_int,
2039        beta: *const f64,
2040        C: *mut f64,
2041        ldc: ::std::os::raw::c_int,
2042    ) -> cublasStatus_t;
2043    pub fn cublasCsymm_v2(
2044        handle: cublasHandle_t,
2045        side: cublasSideMode_t,
2046        uplo: cublasFillMode_t,
2047        m: ::std::os::raw::c_int,
2048        n: ::std::os::raw::c_int,
2049        alpha: *const cuComplex,
2050        A: *const cuComplex,
2051        lda: ::std::os::raw::c_int,
2052        B: *const cuComplex,
2053        ldb: ::std::os::raw::c_int,
2054        beta: *const cuComplex,
2055        C: *mut cuComplex,
2056        ldc: ::std::os::raw::c_int,
2057    ) -> cublasStatus_t;
2058    pub fn cublasZsymm_v2(
2059        handle: cublasHandle_t,
2060        side: cublasSideMode_t,
2061        uplo: cublasFillMode_t,
2062        m: ::std::os::raw::c_int,
2063        n: ::std::os::raw::c_int,
2064        alpha: *const cuDoubleComplex,
2065        A: *const cuDoubleComplex,
2066        lda: ::std::os::raw::c_int,
2067        B: *const cuDoubleComplex,
2068        ldb: ::std::os::raw::c_int,
2069        beta: *const cuDoubleComplex,
2070        C: *mut cuDoubleComplex,
2071        ldc: ::std::os::raw::c_int,
2072    ) -> cublasStatus_t;
2073    pub fn cublasChemm_v2(
2074        handle: cublasHandle_t,
2075        side: cublasSideMode_t,
2076        uplo: cublasFillMode_t,
2077        m: ::std::os::raw::c_int,
2078        n: ::std::os::raw::c_int,
2079        alpha: *const cuComplex,
2080        A: *const cuComplex,
2081        lda: ::std::os::raw::c_int,
2082        B: *const cuComplex,
2083        ldb: ::std::os::raw::c_int,
2084        beta: *const cuComplex,
2085        C: *mut cuComplex,
2086        ldc: ::std::os::raw::c_int,
2087    ) -> cublasStatus_t;
2088    pub fn cublasZhemm_v2(
2089        handle: cublasHandle_t,
2090        side: cublasSideMode_t,
2091        uplo: cublasFillMode_t,
2092        m: ::std::os::raw::c_int,
2093        n: ::std::os::raw::c_int,
2094        alpha: *const cuDoubleComplex,
2095        A: *const cuDoubleComplex,
2096        lda: ::std::os::raw::c_int,
2097        B: *const cuDoubleComplex,
2098        ldb: ::std::os::raw::c_int,
2099        beta: *const cuDoubleComplex,
2100        C: *mut cuDoubleComplex,
2101        ldc: ::std::os::raw::c_int,
2102    ) -> cublasStatus_t;
2103    pub fn cublasStrsm_v2(
2104        handle: cublasHandle_t,
2105        side: cublasSideMode_t,
2106        uplo: cublasFillMode_t,
2107        trans: cublasOperation_t,
2108        diag: cublasDiagType_t,
2109        m: ::std::os::raw::c_int,
2110        n: ::std::os::raw::c_int,
2111        alpha: *const f32,
2112        A: *const f32,
2113        lda: ::std::os::raw::c_int,
2114        B: *mut f32,
2115        ldb: ::std::os::raw::c_int,
2116    ) -> cublasStatus_t;
2117    pub fn cublasDtrsm_v2(
2118        handle: cublasHandle_t,
2119        side: cublasSideMode_t,
2120        uplo: cublasFillMode_t,
2121        trans: cublasOperation_t,
2122        diag: cublasDiagType_t,
2123        m: ::std::os::raw::c_int,
2124        n: ::std::os::raw::c_int,
2125        alpha: *const f64,
2126        A: *const f64,
2127        lda: ::std::os::raw::c_int,
2128        B: *mut f64,
2129        ldb: ::std::os::raw::c_int,
2130    ) -> cublasStatus_t;
2131    pub fn cublasCtrsm_v2(
2132        handle: cublasHandle_t,
2133        side: cublasSideMode_t,
2134        uplo: cublasFillMode_t,
2135        trans: cublasOperation_t,
2136        diag: cublasDiagType_t,
2137        m: ::std::os::raw::c_int,
2138        n: ::std::os::raw::c_int,
2139        alpha: *const cuComplex,
2140        A: *const cuComplex,
2141        lda: ::std::os::raw::c_int,
2142        B: *mut cuComplex,
2143        ldb: ::std::os::raw::c_int,
2144    ) -> cublasStatus_t;
2145    pub fn cublasZtrsm_v2(
2146        handle: cublasHandle_t,
2147        side: cublasSideMode_t,
2148        uplo: cublasFillMode_t,
2149        trans: cublasOperation_t,
2150        diag: cublasDiagType_t,
2151        m: ::std::os::raw::c_int,
2152        n: ::std::os::raw::c_int,
2153        alpha: *const cuDoubleComplex,
2154        A: *const cuDoubleComplex,
2155        lda: ::std::os::raw::c_int,
2156        B: *mut cuDoubleComplex,
2157        ldb: ::std::os::raw::c_int,
2158    ) -> cublasStatus_t;
2159    pub fn cublasStrmm_v2(
2160        handle: cublasHandle_t,
2161        side: cublasSideMode_t,
2162        uplo: cublasFillMode_t,
2163        trans: cublasOperation_t,
2164        diag: cublasDiagType_t,
2165        m: ::std::os::raw::c_int,
2166        n: ::std::os::raw::c_int,
2167        alpha: *const f32,
2168        A: *const f32,
2169        lda: ::std::os::raw::c_int,
2170        B: *const f32,
2171        ldb: ::std::os::raw::c_int,
2172        C: *mut f32,
2173        ldc: ::std::os::raw::c_int,
2174    ) -> cublasStatus_t;
2175    pub fn cublasDtrmm_v2(
2176        handle: cublasHandle_t,
2177        side: cublasSideMode_t,
2178        uplo: cublasFillMode_t,
2179        trans: cublasOperation_t,
2180        diag: cublasDiagType_t,
2181        m: ::std::os::raw::c_int,
2182        n: ::std::os::raw::c_int,
2183        alpha: *const f64,
2184        A: *const f64,
2185        lda: ::std::os::raw::c_int,
2186        B: *const f64,
2187        ldb: ::std::os::raw::c_int,
2188        C: *mut f64,
2189        ldc: ::std::os::raw::c_int,
2190    ) -> cublasStatus_t;
2191    pub fn cublasCtrmm_v2(
2192        handle: cublasHandle_t,
2193        side: cublasSideMode_t,
2194        uplo: cublasFillMode_t,
2195        trans: cublasOperation_t,
2196        diag: cublasDiagType_t,
2197        m: ::std::os::raw::c_int,
2198        n: ::std::os::raw::c_int,
2199        alpha: *const cuComplex,
2200        A: *const cuComplex,
2201        lda: ::std::os::raw::c_int,
2202        B: *const cuComplex,
2203        ldb: ::std::os::raw::c_int,
2204        C: *mut cuComplex,
2205        ldc: ::std::os::raw::c_int,
2206    ) -> cublasStatus_t;
2207    pub fn cublasZtrmm_v2(
2208        handle: cublasHandle_t,
2209        side: cublasSideMode_t,
2210        uplo: cublasFillMode_t,
2211        trans: cublasOperation_t,
2212        diag: cublasDiagType_t,
2213        m: ::std::os::raw::c_int,
2214        n: ::std::os::raw::c_int,
2215        alpha: *const cuDoubleComplex,
2216        A: *const cuDoubleComplex,
2217        lda: ::std::os::raw::c_int,
2218        B: *const cuDoubleComplex,
2219        ldb: ::std::os::raw::c_int,
2220        C: *mut cuDoubleComplex,
2221        ldc: ::std::os::raw::c_int,
2222    ) -> cublasStatus_t;
2223    pub fn cublasSgemmBatched(
2224        handle: cublasHandle_t,
2225        transa: cublasOperation_t,
2226        transb: cublasOperation_t,
2227        m: ::std::os::raw::c_int,
2228        n: ::std::os::raw::c_int,
2229        k: ::std::os::raw::c_int,
2230        alpha: *const f32,
2231        Aarray: *mut *const f32,
2232        lda: ::std::os::raw::c_int,
2233        Barray: *mut *const f32,
2234        ldb: ::std::os::raw::c_int,
2235        beta: *const f32,
2236        Carray: *mut *mut f32,
2237        ldc: ::std::os::raw::c_int,
2238        batchCount: ::std::os::raw::c_int,
2239    ) -> cublasStatus_t;
2240    pub fn cublasDgemmBatched(
2241        handle: cublasHandle_t,
2242        transa: cublasOperation_t,
2243        transb: cublasOperation_t,
2244        m: ::std::os::raw::c_int,
2245        n: ::std::os::raw::c_int,
2246        k: ::std::os::raw::c_int,
2247        alpha: *const f64,
2248        Aarray: *mut *const f64,
2249        lda: ::std::os::raw::c_int,
2250        Barray: *mut *const f64,
2251        ldb: ::std::os::raw::c_int,
2252        beta: *const f64,
2253        Carray: *mut *mut f64,
2254        ldc: ::std::os::raw::c_int,
2255        batchCount: ::std::os::raw::c_int,
2256    ) -> cublasStatus_t;
2257    pub fn cublasCgemmBatched(
2258        handle: cublasHandle_t,
2259        transa: cublasOperation_t,
2260        transb: cublasOperation_t,
2261        m: ::std::os::raw::c_int,
2262        n: ::std::os::raw::c_int,
2263        k: ::std::os::raw::c_int,
2264        alpha: *const cuComplex,
2265        Aarray: *mut *const cuComplex,
2266        lda: ::std::os::raw::c_int,
2267        Barray: *mut *const cuComplex,
2268        ldb: ::std::os::raw::c_int,
2269        beta: *const cuComplex,
2270        Carray: *mut *mut cuComplex,
2271        ldc: ::std::os::raw::c_int,
2272        batchCount: ::std::os::raw::c_int,
2273    ) -> cublasStatus_t;
2274    pub fn cublasCgemm3mBatched(
2275        handle: cublasHandle_t,
2276        transa: cublasOperation_t,
2277        transb: cublasOperation_t,
2278        m: ::std::os::raw::c_int,
2279        n: ::std::os::raw::c_int,
2280        k: ::std::os::raw::c_int,
2281        alpha: *const cuComplex,
2282        Aarray: *mut *const cuComplex,
2283        lda: ::std::os::raw::c_int,
2284        Barray: *mut *const cuComplex,
2285        ldb: ::std::os::raw::c_int,
2286        beta: *const cuComplex,
2287        Carray: *mut *mut cuComplex,
2288        ldc: ::std::os::raw::c_int,
2289        batchCount: ::std::os::raw::c_int,
2290    ) -> cublasStatus_t;
2291    pub fn cublasZgemmBatched(
2292        handle: cublasHandle_t,
2293        transa: cublasOperation_t,
2294        transb: cublasOperation_t,
2295        m: ::std::os::raw::c_int,
2296        n: ::std::os::raw::c_int,
2297        k: ::std::os::raw::c_int,
2298        alpha: *const cuDoubleComplex,
2299        Aarray: *mut *const cuDoubleComplex,
2300        lda: ::std::os::raw::c_int,
2301        Barray: *mut *const cuDoubleComplex,
2302        ldb: ::std::os::raw::c_int,
2303        beta: *const cuDoubleComplex,
2304        Carray: *mut *mut cuDoubleComplex,
2305        ldc: ::std::os::raw::c_int,
2306        batchCount: ::std::os::raw::c_int,
2307    ) -> cublasStatus_t;
2308    pub fn cublasSgemmStridedBatched(
2309        handle: cublasHandle_t,
2310        transa: cublasOperation_t,
2311        transb: cublasOperation_t,
2312        m: ::std::os::raw::c_int,
2313        n: ::std::os::raw::c_int,
2314        k: ::std::os::raw::c_int,
2315        alpha: *const f32,
2316        A: *const f32,
2317        lda: ::std::os::raw::c_int,
2318        strideA: ::std::os::raw::c_longlong,
2319        B: *const f32,
2320        ldb: ::std::os::raw::c_int,
2321        strideB: ::std::os::raw::c_longlong,
2322        beta: *const f32,
2323        C: *mut f32,
2324        ldc: ::std::os::raw::c_int,
2325        strideC: ::std::os::raw::c_longlong,
2326        batchCount: ::std::os::raw::c_int,
2327    ) -> cublasStatus_t;
2328    pub fn cublasDgemmStridedBatched(
2329        handle: cublasHandle_t,
2330        transa: cublasOperation_t,
2331        transb: cublasOperation_t,
2332        m: ::std::os::raw::c_int,
2333        n: ::std::os::raw::c_int,
2334        k: ::std::os::raw::c_int,
2335        alpha: *const f64,
2336        A: *const f64,
2337        lda: ::std::os::raw::c_int,
2338        strideA: ::std::os::raw::c_longlong,
2339        B: *const f64,
2340        ldb: ::std::os::raw::c_int,
2341        strideB: ::std::os::raw::c_longlong,
2342        beta: *const f64,
2343        C: *mut f64,
2344        ldc: ::std::os::raw::c_int,
2345        strideC: ::std::os::raw::c_longlong,
2346        batchCount: ::std::os::raw::c_int,
2347    ) -> cublasStatus_t;
2348    pub fn cublasCgemmStridedBatched(
2349        handle: cublasHandle_t,
2350        transa: cublasOperation_t,
2351        transb: cublasOperation_t,
2352        m: ::std::os::raw::c_int,
2353        n: ::std::os::raw::c_int,
2354        k: ::std::os::raw::c_int,
2355        alpha: *const cuComplex,
2356        A: *const cuComplex,
2357        lda: ::std::os::raw::c_int,
2358        strideA: ::std::os::raw::c_longlong,
2359        B: *const cuComplex,
2360        ldb: ::std::os::raw::c_int,
2361        strideB: ::std::os::raw::c_longlong,
2362        beta: *const cuComplex,
2363        C: *mut cuComplex,
2364        ldc: ::std::os::raw::c_int,
2365        strideC: ::std::os::raw::c_longlong,
2366        batchCount: ::std::os::raw::c_int,
2367    ) -> cublasStatus_t;
2368    pub fn cublasCgemm3mStridedBatched(
2369        handle: cublasHandle_t,
2370        transa: cublasOperation_t,
2371        transb: cublasOperation_t,
2372        m: ::std::os::raw::c_int,
2373        n: ::std::os::raw::c_int,
2374        k: ::std::os::raw::c_int,
2375        alpha: *const cuComplex,
2376        A: *const cuComplex,
2377        lda: ::std::os::raw::c_int,
2378        strideA: ::std::os::raw::c_longlong,
2379        B: *const cuComplex,
2380        ldb: ::std::os::raw::c_int,
2381        strideB: ::std::os::raw::c_longlong,
2382        beta: *const cuComplex,
2383        C: *mut cuComplex,
2384        ldc: ::std::os::raw::c_int,
2385        strideC: ::std::os::raw::c_longlong,
2386        batchCount: ::std::os::raw::c_int,
2387    ) -> cublasStatus_t;
2388    pub fn cublasZgemmStridedBatched(
2389        handle: cublasHandle_t,
2390        transa: cublasOperation_t,
2391        transb: cublasOperation_t,
2392        m: ::std::os::raw::c_int,
2393        n: ::std::os::raw::c_int,
2394        k: ::std::os::raw::c_int,
2395        alpha: *const cuDoubleComplex,
2396        A: *const cuDoubleComplex,
2397        lda: ::std::os::raw::c_int,
2398        strideA: ::std::os::raw::c_longlong,
2399        B: *const cuDoubleComplex,
2400        ldb: ::std::os::raw::c_int,
2401        strideB: ::std::os::raw::c_longlong,
2402        beta: *const cuDoubleComplex,
2403        C: *mut cuDoubleComplex,
2404        ldc: ::std::os::raw::c_int,
2405        strideC: ::std::os::raw::c_longlong,
2406        batchCount: ::std::os::raw::c_int,
2407    ) -> cublasStatus_t;
2408    pub fn cublasSgeam(
2409        handle: cublasHandle_t,
2410        transa: cublasOperation_t,
2411        transb: cublasOperation_t,
2412        m: ::std::os::raw::c_int,
2413        n: ::std::os::raw::c_int,
2414        alpha: *const f32,
2415        A: *const f32,
2416        lda: ::std::os::raw::c_int,
2417        beta: *const f32,
2418        B: *const f32,
2419        ldb: ::std::os::raw::c_int,
2420        C: *mut f32,
2421        ldc: ::std::os::raw::c_int,
2422    ) -> cublasStatus_t;
2423    pub fn cublasDgeam(
2424        handle: cublasHandle_t,
2425        transa: cublasOperation_t,
2426        transb: cublasOperation_t,
2427        m: ::std::os::raw::c_int,
2428        n: ::std::os::raw::c_int,
2429        alpha: *const f64,
2430        A: *const f64,
2431        lda: ::std::os::raw::c_int,
2432        beta: *const f64,
2433        B: *const f64,
2434        ldb: ::std::os::raw::c_int,
2435        C: *mut f64,
2436        ldc: ::std::os::raw::c_int,
2437    ) -> cublasStatus_t;
2438    pub fn cublasCgeam(
2439        handle: cublasHandle_t,
2440        transa: cublasOperation_t,
2441        transb: cublasOperation_t,
2442        m: ::std::os::raw::c_int,
2443        n: ::std::os::raw::c_int,
2444        alpha: *const cuComplex,
2445        A: *const cuComplex,
2446        lda: ::std::os::raw::c_int,
2447        beta: *const cuComplex,
2448        B: *const cuComplex,
2449        ldb: ::std::os::raw::c_int,
2450        C: *mut cuComplex,
2451        ldc: ::std::os::raw::c_int,
2452    ) -> cublasStatus_t;
2453    pub fn cublasZgeam(
2454        handle: cublasHandle_t,
2455        transa: cublasOperation_t,
2456        transb: cublasOperation_t,
2457        m: ::std::os::raw::c_int,
2458        n: ::std::os::raw::c_int,
2459        alpha: *const cuDoubleComplex,
2460        A: *const cuDoubleComplex,
2461        lda: ::std::os::raw::c_int,
2462        beta: *const cuDoubleComplex,
2463        B: *const cuDoubleComplex,
2464        ldb: ::std::os::raw::c_int,
2465        C: *mut cuDoubleComplex,
2466        ldc: ::std::os::raw::c_int,
2467    ) -> cublasStatus_t;
2468    pub fn cublasSgetrfBatched(
2469        handle: cublasHandle_t,
2470        n: ::std::os::raw::c_int,
2471        A: *mut *mut f32,
2472        lda: ::std::os::raw::c_int,
2473        P: *mut ::std::os::raw::c_int,
2474        info: *mut ::std::os::raw::c_int,
2475        batchSize: ::std::os::raw::c_int,
2476    ) -> cublasStatus_t;
2477    pub fn cublasDgetrfBatched(
2478        handle: cublasHandle_t,
2479        n: ::std::os::raw::c_int,
2480        A: *mut *mut f64,
2481        lda: ::std::os::raw::c_int,
2482        P: *mut ::std::os::raw::c_int,
2483        info: *mut ::std::os::raw::c_int,
2484        batchSize: ::std::os::raw::c_int,
2485    ) -> cublasStatus_t;
2486    pub fn cublasCgetrfBatched(
2487        handle: cublasHandle_t,
2488        n: ::std::os::raw::c_int,
2489        A: *mut *mut cuComplex,
2490        lda: ::std::os::raw::c_int,
2491        P: *mut ::std::os::raw::c_int,
2492        info: *mut ::std::os::raw::c_int,
2493        batchSize: ::std::os::raw::c_int,
2494    ) -> cublasStatus_t;
2495    pub fn cublasZgetrfBatched(
2496        handle: cublasHandle_t,
2497        n: ::std::os::raw::c_int,
2498        A: *mut *mut cuDoubleComplex,
2499        lda: ::std::os::raw::c_int,
2500        P: *mut ::std::os::raw::c_int,
2501        info: *mut ::std::os::raw::c_int,
2502        batchSize: ::std::os::raw::c_int,
2503    ) -> cublasStatus_t;
2504    pub fn cublasSgetriBatched(
2505        handle: cublasHandle_t,
2506        n: ::std::os::raw::c_int,
2507        A: *mut *const f32,
2508        lda: ::std::os::raw::c_int,
2509        P: *const ::std::os::raw::c_int,
2510        C: *mut *mut f32,
2511        ldc: ::std::os::raw::c_int,
2512        info: *mut ::std::os::raw::c_int,
2513        batchSize: ::std::os::raw::c_int,
2514    ) -> cublasStatus_t;
2515    pub fn cublasDgetriBatched(
2516        handle: cublasHandle_t,
2517        n: ::std::os::raw::c_int,
2518        A: *mut *const f64,
2519        lda: ::std::os::raw::c_int,
2520        P: *const ::std::os::raw::c_int,
2521        C: *mut *mut f64,
2522        ldc: ::std::os::raw::c_int,
2523        info: *mut ::std::os::raw::c_int,
2524        batchSize: ::std::os::raw::c_int,
2525    ) -> cublasStatus_t;
2526    pub fn cublasCgetriBatched(
2527        handle: cublasHandle_t,
2528        n: ::std::os::raw::c_int,
2529        A: *mut *const cuComplex,
2530        lda: ::std::os::raw::c_int,
2531        P: *const ::std::os::raw::c_int,
2532        C: *mut *mut cuComplex,
2533        ldc: ::std::os::raw::c_int,
2534        info: *mut ::std::os::raw::c_int,
2535        batchSize: ::std::os::raw::c_int,
2536    ) -> cublasStatus_t;
2537    pub fn cublasZgetriBatched(
2538        handle: cublasHandle_t,
2539        n: ::std::os::raw::c_int,
2540        A: *mut *const cuDoubleComplex,
2541        lda: ::std::os::raw::c_int,
2542        P: *const ::std::os::raw::c_int,
2543        C: *mut *mut cuDoubleComplex,
2544        ldc: ::std::os::raw::c_int,
2545        info: *mut ::std::os::raw::c_int,
2546        batchSize: ::std::os::raw::c_int,
2547    ) -> cublasStatus_t;
2548    pub fn cublasSgetrsBatched(
2549        handle: cublasHandle_t,
2550        trans: cublasOperation_t,
2551        n: ::std::os::raw::c_int,
2552        nrhs: ::std::os::raw::c_int,
2553        Aarray: *mut *const f32,
2554        lda: ::std::os::raw::c_int,
2555        devIpiv: *const ::std::os::raw::c_int,
2556        Barray: *mut *mut f32,
2557        ldb: ::std::os::raw::c_int,
2558        info: *mut ::std::os::raw::c_int,
2559        batchSize: ::std::os::raw::c_int,
2560    ) -> cublasStatus_t;
2561    pub fn cublasDgetrsBatched(
2562        handle: cublasHandle_t,
2563        trans: cublasOperation_t,
2564        n: ::std::os::raw::c_int,
2565        nrhs: ::std::os::raw::c_int,
2566        Aarray: *mut *const f64,
2567        lda: ::std::os::raw::c_int,
2568        devIpiv: *const ::std::os::raw::c_int,
2569        Barray: *mut *mut f64,
2570        ldb: ::std::os::raw::c_int,
2571        info: *mut ::std::os::raw::c_int,
2572        batchSize: ::std::os::raw::c_int,
2573    ) -> cublasStatus_t;
2574    pub fn cublasCgetrsBatched(
2575        handle: cublasHandle_t,
2576        trans: cublasOperation_t,
2577        n: ::std::os::raw::c_int,
2578        nrhs: ::std::os::raw::c_int,
2579        Aarray: *mut *const cuComplex,
2580        lda: ::std::os::raw::c_int,
2581        devIpiv: *const ::std::os::raw::c_int,
2582        Barray: *mut *mut cuComplex,
2583        ldb: ::std::os::raw::c_int,
2584        info: *mut ::std::os::raw::c_int,
2585        batchSize: ::std::os::raw::c_int,
2586    ) -> cublasStatus_t;
2587    pub fn cublasZgetrsBatched(
2588        handle: cublasHandle_t,
2589        trans: cublasOperation_t,
2590        n: ::std::os::raw::c_int,
2591        nrhs: ::std::os::raw::c_int,
2592        Aarray: *mut *const cuDoubleComplex,
2593        lda: ::std::os::raw::c_int,
2594        devIpiv: *const ::std::os::raw::c_int,
2595        Barray: *mut *mut cuDoubleComplex,
2596        ldb: ::std::os::raw::c_int,
2597        info: *mut ::std::os::raw::c_int,
2598        batchSize: ::std::os::raw::c_int,
2599    ) -> cublasStatus_t;
2600    pub fn cublasStrsmBatched(
2601        handle: cublasHandle_t,
2602        side: cublasSideMode_t,
2603        uplo: cublasFillMode_t,
2604        trans: cublasOperation_t,
2605        diag: cublasDiagType_t,
2606        m: ::std::os::raw::c_int,
2607        n: ::std::os::raw::c_int,
2608        alpha: *const f32,
2609        A: *mut *const f32,
2610        lda: ::std::os::raw::c_int,
2611        B: *mut *mut f32,
2612        ldb: ::std::os::raw::c_int,
2613        batchCount: ::std::os::raw::c_int,
2614    ) -> cublasStatus_t;
2615    pub fn cublasDtrsmBatched(
2616        handle: cublasHandle_t,
2617        side: cublasSideMode_t,
2618        uplo: cublasFillMode_t,
2619        trans: cublasOperation_t,
2620        diag: cublasDiagType_t,
2621        m: ::std::os::raw::c_int,
2622        n: ::std::os::raw::c_int,
2623        alpha: *const f64,
2624        A: *mut *const f64,
2625        lda: ::std::os::raw::c_int,
2626        B: *mut *mut f64,
2627        ldb: ::std::os::raw::c_int,
2628        batchCount: ::std::os::raw::c_int,
2629    ) -> cublasStatus_t;
2630    pub fn cublasCtrsmBatched(
2631        handle: cublasHandle_t,
2632        side: cublasSideMode_t,
2633        uplo: cublasFillMode_t,
2634        trans: cublasOperation_t,
2635        diag: cublasDiagType_t,
2636        m: ::std::os::raw::c_int,
2637        n: ::std::os::raw::c_int,
2638        alpha: *const cuComplex,
2639        A: *mut *const cuComplex,
2640        lda: ::std::os::raw::c_int,
2641        B: *mut *mut cuComplex,
2642        ldb: ::std::os::raw::c_int,
2643        batchCount: ::std::os::raw::c_int,
2644    ) -> cublasStatus_t;
2645    pub fn cublasZtrsmBatched(
2646        handle: cublasHandle_t,
2647        side: cublasSideMode_t,
2648        uplo: cublasFillMode_t,
2649        trans: cublasOperation_t,
2650        diag: cublasDiagType_t,
2651        m: ::std::os::raw::c_int,
2652        n: ::std::os::raw::c_int,
2653        alpha: *const cuDoubleComplex,
2654        A: *mut *const cuDoubleComplex,
2655        lda: ::std::os::raw::c_int,
2656        B: *mut *mut cuDoubleComplex,
2657        ldb: ::std::os::raw::c_int,
2658        batchCount: ::std::os::raw::c_int,
2659    ) -> cublasStatus_t;
2660    pub fn cublasSmatinvBatched(
2661        handle: cublasHandle_t,
2662        n: ::std::os::raw::c_int,
2663        A: *mut *const f32,
2664        lda: ::std::os::raw::c_int,
2665        Ainv: *mut *mut f32,
2666        lda_inv: ::std::os::raw::c_int,
2667        info: *mut ::std::os::raw::c_int,
2668        batchSize: ::std::os::raw::c_int,
2669    ) -> cublasStatus_t;
2670    pub fn cublasDmatinvBatched(
2671        handle: cublasHandle_t,
2672        n: ::std::os::raw::c_int,
2673        A: *mut *const f64,
2674        lda: ::std::os::raw::c_int,
2675        Ainv: *mut *mut f64,
2676        lda_inv: ::std::os::raw::c_int,
2677        info: *mut ::std::os::raw::c_int,
2678        batchSize: ::std::os::raw::c_int,
2679    ) -> cublasStatus_t;
2680    pub fn cublasCmatinvBatched(
2681        handle: cublasHandle_t,
2682        n: ::std::os::raw::c_int,
2683        A: *mut *const cuComplex,
2684        lda: ::std::os::raw::c_int,
2685        Ainv: *mut *mut cuComplex,
2686        lda_inv: ::std::os::raw::c_int,
2687        info: *mut ::std::os::raw::c_int,
2688        batchSize: ::std::os::raw::c_int,
2689    ) -> cublasStatus_t;
2690    pub fn cublasZmatinvBatched(
2691        handle: cublasHandle_t,
2692        n: ::std::os::raw::c_int,
2693        A: *mut *const cuDoubleComplex,
2694        lda: ::std::os::raw::c_int,
2695        Ainv: *mut *mut cuDoubleComplex,
2696        lda_inv: ::std::os::raw::c_int,
2697        info: *mut ::std::os::raw::c_int,
2698        batchSize: ::std::os::raw::c_int,
2699    ) -> cublasStatus_t;
2700    pub fn cublasSgeqrfBatched(
2701        handle: cublasHandle_t,
2702        m: ::std::os::raw::c_int,
2703        n: ::std::os::raw::c_int,
2704        Aarray: *mut *mut f32,
2705        lda: ::std::os::raw::c_int,
2706        TauArray: *mut *mut f32,
2707        info: *mut ::std::os::raw::c_int,
2708        batchSize: ::std::os::raw::c_int,
2709    ) -> cublasStatus_t;
2710    pub fn cublasDgeqrfBatched(
2711        handle: cublasHandle_t,
2712        m: ::std::os::raw::c_int,
2713        n: ::std::os::raw::c_int,
2714        Aarray: *mut *mut f64,
2715        lda: ::std::os::raw::c_int,
2716        TauArray: *mut *mut f64,
2717        info: *mut ::std::os::raw::c_int,
2718        batchSize: ::std::os::raw::c_int,
2719    ) -> cublasStatus_t;
2720    pub fn cublasCgeqrfBatched(
2721        handle: cublasHandle_t,
2722        m: ::std::os::raw::c_int,
2723        n: ::std::os::raw::c_int,
2724        Aarray: *mut *mut cuComplex,
2725        lda: ::std::os::raw::c_int,
2726        TauArray: *mut *mut cuComplex,
2727        info: *mut ::std::os::raw::c_int,
2728        batchSize: ::std::os::raw::c_int,
2729    ) -> cublasStatus_t;
2730    pub fn cublasZgeqrfBatched(
2731        handle: cublasHandle_t,
2732        m: ::std::os::raw::c_int,
2733        n: ::std::os::raw::c_int,
2734        Aarray: *mut *mut cuDoubleComplex,
2735        lda: ::std::os::raw::c_int,
2736        TauArray: *mut *mut cuDoubleComplex,
2737        info: *mut ::std::os::raw::c_int,
2738        batchSize: ::std::os::raw::c_int,
2739    ) -> cublasStatus_t;
2740    pub fn cublasSgelsBatched(
2741        handle: cublasHandle_t,
2742        trans: cublasOperation_t,
2743        m: ::std::os::raw::c_int,
2744        n: ::std::os::raw::c_int,
2745        nrhs: ::std::os::raw::c_int,
2746        Aarray: *mut *mut f32,
2747        lda: ::std::os::raw::c_int,
2748        Carray: *mut *mut f32,
2749        ldc: ::std::os::raw::c_int,
2750        info: *mut ::std::os::raw::c_int,
2751        devInfoArray: *mut ::std::os::raw::c_int,
2752        batchSize: ::std::os::raw::c_int,
2753    ) -> cublasStatus_t;
2754    pub fn cublasDgelsBatched(
2755        handle: cublasHandle_t,
2756        trans: cublasOperation_t,
2757        m: ::std::os::raw::c_int,
2758        n: ::std::os::raw::c_int,
2759        nrhs: ::std::os::raw::c_int,
2760        Aarray: *mut *mut f64,
2761        lda: ::std::os::raw::c_int,
2762        Carray: *mut *mut f64,
2763        ldc: ::std::os::raw::c_int,
2764        info: *mut ::std::os::raw::c_int,
2765        devInfoArray: *mut ::std::os::raw::c_int,
2766        batchSize: ::std::os::raw::c_int,
2767    ) -> cublasStatus_t;
2768    pub fn cublasCgelsBatched(
2769        handle: cublasHandle_t,
2770        trans: cublasOperation_t,
2771        m: ::std::os::raw::c_int,
2772        n: ::std::os::raw::c_int,
2773        nrhs: ::std::os::raw::c_int,
2774        Aarray: *mut *mut cuComplex,
2775        lda: ::std::os::raw::c_int,
2776        Carray: *mut *mut cuComplex,
2777        ldc: ::std::os::raw::c_int,
2778        info: *mut ::std::os::raw::c_int,
2779        devInfoArray: *mut ::std::os::raw::c_int,
2780        batchSize: ::std::os::raw::c_int,
2781    ) -> cublasStatus_t;
2782    pub fn cublasZgelsBatched(
2783        handle: cublasHandle_t,
2784        trans: cublasOperation_t,
2785        m: ::std::os::raw::c_int,
2786        n: ::std::os::raw::c_int,
2787        nrhs: ::std::os::raw::c_int,
2788        Aarray: *mut *mut cuDoubleComplex,
2789        lda: ::std::os::raw::c_int,
2790        Carray: *mut *mut cuDoubleComplex,
2791        ldc: ::std::os::raw::c_int,
2792        info: *mut ::std::os::raw::c_int,
2793        devInfoArray: *mut ::std::os::raw::c_int,
2794        batchSize: ::std::os::raw::c_int,
2795    ) -> cublasStatus_t;
2796    pub fn cublasSdgmm(
2797        handle: cublasHandle_t,
2798        mode: cublasSideMode_t,
2799        m: ::std::os::raw::c_int,
2800        n: ::std::os::raw::c_int,
2801        A: *const f32,
2802        lda: ::std::os::raw::c_int,
2803        x: *const f32,
2804        incx: ::std::os::raw::c_int,
2805        C: *mut f32,
2806        ldc: ::std::os::raw::c_int,
2807    ) -> cublasStatus_t;
2808    pub fn cublasDdgmm(
2809        handle: cublasHandle_t,
2810        mode: cublasSideMode_t,
2811        m: ::std::os::raw::c_int,
2812        n: ::std::os::raw::c_int,
2813        A: *const f64,
2814        lda: ::std::os::raw::c_int,
2815        x: *const f64,
2816        incx: ::std::os::raw::c_int,
2817        C: *mut f64,
2818        ldc: ::std::os::raw::c_int,
2819    ) -> cublasStatus_t;
2820    pub fn cublasCdgmm(
2821        handle: cublasHandle_t,
2822        mode: cublasSideMode_t,
2823        m: ::std::os::raw::c_int,
2824        n: ::std::os::raw::c_int,
2825        A: *const cuComplex,
2826        lda: ::std::os::raw::c_int,
2827        x: *const cuComplex,
2828        incx: ::std::os::raw::c_int,
2829        C: *mut cuComplex,
2830        ldc: ::std::os::raw::c_int,
2831    ) -> cublasStatus_t;
2832    pub fn cublasZdgmm(
2833        handle: cublasHandle_t,
2834        mode: cublasSideMode_t,
2835        m: ::std::os::raw::c_int,
2836        n: ::std::os::raw::c_int,
2837        A: *const cuDoubleComplex,
2838        lda: ::std::os::raw::c_int,
2839        x: *const cuDoubleComplex,
2840        incx: ::std::os::raw::c_int,
2841        C: *mut cuDoubleComplex,
2842        ldc: ::std::os::raw::c_int,
2843    ) -> cublasStatus_t;
2844    pub fn cublasStpttr(
2845        handle: cublasHandle_t,
2846        uplo: cublasFillMode_t,
2847        n: ::std::os::raw::c_int,
2848        AP: *const f32,
2849        A: *mut f32,
2850        lda: ::std::os::raw::c_int,
2851    ) -> cublasStatus_t;
2852    pub fn cublasDtpttr(
2853        handle: cublasHandle_t,
2854        uplo: cublasFillMode_t,
2855        n: ::std::os::raw::c_int,
2856        AP: *const f64,
2857        A: *mut f64,
2858        lda: ::std::os::raw::c_int,
2859    ) -> cublasStatus_t;
2860    pub fn cublasCtpttr(
2861        handle: cublasHandle_t,
2862        uplo: cublasFillMode_t,
2863        n: ::std::os::raw::c_int,
2864        AP: *const cuComplex,
2865        A: *mut cuComplex,
2866        lda: ::std::os::raw::c_int,
2867    ) -> cublasStatus_t;
2868    pub fn cublasZtpttr(
2869        handle: cublasHandle_t,
2870        uplo: cublasFillMode_t,
2871        n: ::std::os::raw::c_int,
2872        AP: *const cuDoubleComplex,
2873        A: *mut cuDoubleComplex,
2874        lda: ::std::os::raw::c_int,
2875    ) -> cublasStatus_t;
2876    pub fn cublasStrttp(
2877        handle: cublasHandle_t,
2878        uplo: cublasFillMode_t,
2879        n: ::std::os::raw::c_int,
2880        A: *const f32,
2881        lda: ::std::os::raw::c_int,
2882        AP: *mut f32,
2883    ) -> cublasStatus_t;
2884    pub fn cublasDtrttp(
2885        handle: cublasHandle_t,
2886        uplo: cublasFillMode_t,
2887        n: ::std::os::raw::c_int,
2888        A: *const f64,
2889        lda: ::std::os::raw::c_int,
2890        AP: *mut f64,
2891    ) -> cublasStatus_t;
2892    pub fn cublasCtrttp(
2893        handle: cublasHandle_t,
2894        uplo: cublasFillMode_t,
2895        n: ::std::os::raw::c_int,
2896        A: *const cuComplex,
2897        lda: ::std::os::raw::c_int,
2898        AP: *mut cuComplex,
2899    ) -> cublasStatus_t;
2900    pub fn cublasZtrttp(
2901        handle: cublasHandle_t,
2902        uplo: cublasFillMode_t,
2903        n: ::std::os::raw::c_int,
2904        A: *const cuDoubleComplex,
2905        lda: ::std::os::raw::c_int,
2906        AP: *mut cuDoubleComplex,
2907    ) -> cublasStatus_t;
2908}