Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
cusolverDn.h4928 linesDownload Raw Back to include
1/*
2 * Copyright 2014 NVIDIA Corporation.  All rights reserved.
3 *
4 * NOTICE TO LICENSEE:
5 *
6 * This source code and/or documentation ("Licensed Deliverables") are
7 * subject to NVIDIA intellectual property rights under U.S. and
8 * international Copyright laws.
9 *
10 * These Licensed Deliverables contained herein is PROPRIETARY and
11 * CONFIDENTIAL to NVIDIA and is being provided under the terms and
12 * conditions of a form of NVIDIA software license agreement by and
13 * between NVIDIA and Licensee ("License Agreement") or electronically
14 * accepted by Licensee.  Notwithstanding any terms or conditions to
15 * the contrary in the License Agreement, reproduction or disclosure
16 * of the Licensed Deliverables to any third party without the express
17 * written consent of NVIDIA is prohibited.
18 *
19 * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
20 * LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
21 * SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE.  IT IS
22 * PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
23 * NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
24 * DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
25 * NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
26 * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
27 * LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
28 * SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
29 * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
30 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
31 * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
32 * OF THESE LICENSED DELIVERABLES.
33 *
34 * U.S. Government End Users.  These Licensed Deliverables are a
35 * "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
36 * 1995), consisting of "commercial computer software" and "commercial
37 * computer software documentation" as such terms are used in 48
38 * C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government
39 * only as a commercial end item.  Consistent with 48 C.F.R.12.212 and
40 * 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
41 * U.S. Government End Users acquire the Licensed Deliverables with
42 * only those rights set forth herein.
43 *
44 * Any use of the Licensed Deliverables in individual and commercial
45 * software must include, in the user documentation and internal
46 * comments to the code, the above Disclaimer and U.S. Government End
47 * Users Notice.
48 */
49
50/*   cuSolverDN : Dense Linear Algebra Library
51
52*/
53
54#if !defined(CUSOLVERDN_H_)
55  #define CUSOLVERDN_H_
56
57struct cusolverDnContext;
58typedef struct cusolverDnContext *cusolverDnHandle_t;
59
60struct syevjInfo;
61typedef struct syevjInfo *syevjInfo_t;
62
63struct gesvdjInfo;
64typedef struct gesvdjInfo *gesvdjInfo_t;
65
66//------------------------------------------------------
67// opaque cusolverDnIRS structure for IRS solver
68struct cusolverDnIRSParams;
69typedef struct cusolverDnIRSParams *cusolverDnIRSParams_t;
70
71struct cusolverDnIRSInfos;
72typedef struct cusolverDnIRSInfos *cusolverDnIRSInfos_t;
73//------------------------------------------------------
74
75struct cusolverDnParams;
76typedef struct cusolverDnParams *cusolverDnParams_t;
77
78typedef enum {
79  CUSOLVERDN_GETRF = 0,
80  CUSOLVERDN_POTRF = 1
81} cusolverDnFunction_t;
82
83typedef enum {
84  CUSOLVER_DETERMINISTIC_RESULTS = 1,
85  CUSOLVER_ALLOW_NON_DETERMINISTIC_RESULTS = 2
86} cusolverDeterministicMode_t;
87
88  #include <stdio.h>
89
90  #include "cuComplex.h" /* import complex data type */
91  #include "cublas_v2.h"
92  #include "cusolver_common.h"
93
94  /*******************************************************************************/
95  #ifdef __cplusplus
96extern "C" {
97  #endif
98
99  cusolverStatus_t CUSOLVERAPI cusolverDnCreate(cusolverDnHandle_t *handle);
100  cusolverStatus_t CUSOLVERAPI cusolverDnDestroy(cusolverDnHandle_t handle);
101  cusolverStatus_t CUSOLVERAPI
102    cusolverDnSetStream(cusolverDnHandle_t handle, cudaStream_t streamId);
103  cusolverStatus_t CUSOLVERAPI
104    cusolverDnGetStream(cusolverDnHandle_t handle, cudaStream_t *streamId);
105
106  //============================================================
107  // Deterministic Mode
108  //============================================================
109  cusolverStatus_t CUSOLVERAPI cusolverDnSetDeterministicMode(cusolverDnHandle_t
110    handle, cusolverDeterministicMode_t mode);
111  cusolverStatus_t CUSOLVERAPI cusolverDnGetDeterministicMode(cusolverDnHandle_t
112    handle, cusolverDeterministicMode_t* mode);
113
114  //============================================================
115  // IRS headers
116  //============================================================
117
118  // =============================================================================
119  // IRS helper function API
120  // =============================================================================
121  cusolverStatus_t CUSOLVERAPI
122    cusolverDnIRSParamsCreate(cusolverDnIRSParams_t *params_ptr);
123
124  cusolverStatus_t CUSOLVERAPI
125    cusolverDnIRSParamsDestroy(cusolverDnIRSParams_t params);
126
127  cusolverStatus_t CUSOLVERAPI cusolverDnIRSParamsSetRefinementSolver(
128    cusolverDnIRSParams_t   params,
129    cusolverIRSRefinement_t refinement_solver);
130
131  cusolverStatus_t CUSOLVERAPI cusolverDnIRSParamsSetSolverMainPrecision(
132    cusolverDnIRSParams_t params,
133    cusolverPrecType_t    solver_main_precision);
134
135  cusolverStatus_t CUSOLVERAPI cusolverDnIRSParamsSetSolverLowestPrecision(
136    cusolverDnIRSParams_t params,
137    cusolverPrecType_t    solver_lowest_precision);
138
139  cusolverStatus_t CUSOLVERAPI cusolverDnIRSParamsSetSolverPrecisions(
140    cusolverDnIRSParams_t params,
141    cusolverPrecType_t    solver_main_precision,
142    cusolverPrecType_t    solver_lowest_precision);
143
144  cusolverStatus_t CUSOLVERAPI
145    cusolverDnIRSParamsSetTol(cusolverDnIRSParams_t params, double val);
146
147  cusolverStatus_t CUSOLVERAPI
148    cusolverDnIRSParamsSetTolInner(cusolverDnIRSParams_t params, double val);
149
150  cusolverStatus_t CUSOLVERAPI cusolverDnIRSParamsSetMaxIters(
151    cusolverDnIRSParams_t params,
152    cusolver_int_t        maxiters);
153
154  cusolverStatus_t CUSOLVERAPI cusolverDnIRSParamsSetMaxItersInner(
155    cusolverDnIRSParams_t params,
156    cusolver_int_t        maxiters_inner);
157
158  cusolverStatus_t CUSOLVERAPI cusolverDnIRSParamsGetMaxIters(
159    cusolverDnIRSParams_t params,
160    cusolver_int_t *      maxiters);
161
162  cusolverStatus_t CUSOLVERAPI
163    cusolverDnIRSParamsEnableFallback(cusolverDnIRSParams_t params);
164
165  cusolverStatus_t CUSOLVERAPI
166    cusolverDnIRSParamsDisableFallback(cusolverDnIRSParams_t params);
167
168  // =============================================================================
169  // cusolverDnIRSInfos prototypes
170  // =============================================================================
171  cusolverStatus_t CUSOLVERAPI
172    cusolverDnIRSInfosDestroy(cusolverDnIRSInfos_t infos);
173
174  cusolverStatus_t CUSOLVERAPI
175    cusolverDnIRSInfosCreate(cusolverDnIRSInfos_t *infos_ptr);
176
177  cusolverStatus_t CUSOLVERAPI cusolverDnIRSInfosGetNiters(
178    cusolverDnIRSInfos_t infos,
179    cusolver_int_t *     niters);
180
181  cusolverStatus_t CUSOLVERAPI cusolverDnIRSInfosGetOuterNiters(
182    cusolverDnIRSInfos_t infos,
183    cusolver_int_t *     outer_niters);
184
185  cusolverStatus_t CUSOLVERAPI
186    cusolverDnIRSInfosRequestResidual(cusolverDnIRSInfos_t infos);
187
188  cusolverStatus_t CUSOLVERAPI cusolverDnIRSInfosGetResidualHistory(
189    cusolverDnIRSInfos_t infos,
190    void **              residual_history);
191
192  cusolverStatus_t CUSOLVERAPI cusolverDnIRSInfosGetMaxIters(
193    cusolverDnIRSInfos_t infos,
194    cusolver_int_t *     maxiters);
195
196  //============================================================
197  //  IRS functions API
198  //============================================================
199
200  /*******************************************************************************/ /*
201                                                                                     * [ZZ, ZC, ZK, ZE, ZY, CC, CK, CE, CY, DD, DS, DH, DB, DX, SS, SH, SB, SX]gesv
202                                                                                     * users API Prototypes */
203  /*******************************************************************************/
204  cusolverStatus_t CUSOLVERAPI cusolverDnZZgesv(
205    cusolverDnHandle_t handle,
206    cusolver_int_t     n,
207    cusolver_int_t     nrhs,
208    cuDoubleComplex *  dA,
209    cusolver_int_t     ldda,
210    cusolver_int_t *   dipiv,
211    cuDoubleComplex *  dB,
212    cusolver_int_t     lddb,
213    cuDoubleComplex *  dX,
214    cusolver_int_t     lddx,
215    void *             dWorkspace,
216    size_t             lwork_bytes,
217    cusolver_int_t *   iter,
218    cusolver_int_t *   d_info);
219
220  cusolverStatus_t CUSOLVERAPI cusolverDnZCgesv(
221    cusolverDnHandle_t handle,
222    cusolver_int_t     n,
223    cusolver_int_t     nrhs,
224    cuDoubleComplex *  dA,
225    cusolver_int_t     ldda,
226    cusolver_int_t *   dipiv,
227    cuDoubleComplex *  dB,
228    cusolver_int_t     lddb,
229    cuDoubleComplex *  dX,
230    cusolver_int_t     lddx,
231    void *             dWorkspace,
232    size_t             lwork_bytes,
233    cusolver_int_t *   iter,
234    cusolver_int_t *   d_info);
235
236  cusolverStatus_t CUSOLVERAPI cusolverDnZKgesv(
237    cusolverDnHandle_t handle,
238    cusolver_int_t     n,
239    cusolver_int_t     nrhs,
240    cuDoubleComplex *  dA,
241    cusolver_int_t     ldda,
242    cusolver_int_t *   dipiv,
243    cuDoubleComplex *  dB,
244    cusolver_int_t     lddb,
245    cuDoubleComplex *  dX,
246    cusolver_int_t     lddx,
247    void *             dWorkspace,
248    size_t             lwork_bytes,
249    cusolver_int_t *   iter,
250    cusolver_int_t *   d_info);
251
252  cusolverStatus_t CUSOLVERAPI cusolverDnZEgesv(
253    cusolverDnHandle_t handle,
254    cusolver_int_t     n,
255    cusolver_int_t     nrhs,
256    cuDoubleComplex *  dA,
257    cusolver_int_t     ldda,
258    cusolver_int_t *   dipiv,
259    cuDoubleComplex *  dB,
260    cusolver_int_t     lddb,
261    cuDoubleComplex *  dX,
262    cusolver_int_t     lddx,
263    void *             dWorkspace,
264    size_t             lwork_bytes,
265    cusolver_int_t *   iter,
266    cusolver_int_t *   d_info);
267
268  cusolverStatus_t CUSOLVERAPI cusolverDnZYgesv(
269    cusolverDnHandle_t handle,
270    cusolver_int_t     n,
271    cusolver_int_t     nrhs,
272    cuDoubleComplex *  dA,
273    cusolver_int_t     ldda,
274    cusolver_int_t *   dipiv,
275    cuDoubleComplex *  dB,
276    cusolver_int_t     lddb,
277    cuDoubleComplex *  dX,
278    cusolver_int_t     lddx,
279    void *             dWorkspace,
280    size_t             lwork_bytes,
281    cusolver_int_t *   iter,
282    cusolver_int_t *   d_info);
283
284  cusolverStatus_t CUSOLVERAPI cusolverDnCCgesv(
285    cusolverDnHandle_t handle,
286    cusolver_int_t     n,
287    cusolver_int_t     nrhs,
288    cuComplex *        dA,
289    cusolver_int_t     ldda,
290    cusolver_int_t *   dipiv,
291    cuComplex *        dB,
292    cusolver_int_t     lddb,
293    cuComplex *        dX,
294    cusolver_int_t     lddx,
295    void *             dWorkspace,
296    size_t             lwork_bytes,
297    cusolver_int_t *   iter,
298    cusolver_int_t *   d_info);
299
300  cusolverStatus_t CUSOLVERAPI cusolverDnCEgesv(
301    cusolverDnHandle_t handle,
302    cusolver_int_t     n,
303    cusolver_int_t     nrhs,
304    cuComplex *        dA,
305    cusolver_int_t     ldda,
306    cusolver_int_t *   dipiv,
307    cuComplex *        dB,
308    cusolver_int_t     lddb,
309    cuComplex *        dX,
310    cusolver_int_t     lddx,
311    void *             dWorkspace,
312    size_t             lwork_bytes,
313    cusolver_int_t *   iter,
314    cusolver_int_t *   d_info);
315
316  cusolverStatus_t CUSOLVERAPI cusolverDnCKgesv(
317    cusolverDnHandle_t handle,
318    cusolver_int_t     n,
319    cusolver_int_t     nrhs,
320    cuComplex *        dA,
321    cusolver_int_t     ldda,
322    cusolver_int_t *   dipiv,
323    cuComplex *        dB,
324    cusolver_int_t     lddb,
325    cuComplex *        dX,
326    cusolver_int_t     lddx,
327    void *             dWorkspace,
328    size_t             lwork_bytes,
329    cusolver_int_t *   iter,
330    cusolver_int_t *   d_info);
331
332  cusolverStatus_t CUSOLVERAPI cusolverDnCYgesv(
333    cusolverDnHandle_t handle,
334    cusolver_int_t     n,
335    cusolver_int_t     nrhs,
336    cuComplex *        dA,
337    cusolver_int_t     ldda,
338    cusolver_int_t *   dipiv,
339    cuComplex *        dB,
340    cusolver_int_t     lddb,
341    cuComplex *        dX,
342    cusolver_int_t     lddx,
343    void *             dWorkspace,
344    size_t             lwork_bytes,
345    cusolver_int_t *   iter,
346    cusolver_int_t *   d_info);
347
348  cusolverStatus_t CUSOLVERAPI cusolverDnDDgesv(
349    cusolverDnHandle_t handle,
350    cusolver_int_t     n,
351    cusolver_int_t     nrhs,
352    double *           dA,
353    cusolver_int_t     ldda,
354    cusolver_int_t *   dipiv,
355    double *           dB,
356    cusolver_int_t     lddb,
357    double *           dX,
358    cusolver_int_t     lddx,
359    void *             dWorkspace,
360    size_t             lwork_bytes,
361    cusolver_int_t *   iter,
362    cusolver_int_t *   d_info);
363
364  cusolverStatus_t CUSOLVERAPI cusolverDnDSgesv(
365    cusolverDnHandle_t handle,
366    cusolver_int_t     n,
367    cusolver_int_t     nrhs,
368    double *           dA,
369    cusolver_int_t     ldda,
370    cusolver_int_t *   dipiv,
371    double *           dB,
372    cusolver_int_t     lddb,
373    double *           dX,
374    cusolver_int_t     lddx,
375    void *             dWorkspace,
376    size_t             lwork_bytes,
377    cusolver_int_t *   iter,
378    cusolver_int_t *   d_info);
379
380  cusolverStatus_t CUSOLVERAPI cusolverDnDHgesv(
381    cusolverDnHandle_t handle,
382    cusolver_int_t     n,
383    cusolver_int_t     nrhs,
384    double *           dA,
385    cusolver_int_t     ldda,
386    cusolver_int_t *   dipiv,
387    double *           dB,
388    cusolver_int_t     lddb,
389    double *           dX,
390    cusolver_int_t     lddx,
391    void *             dWorkspace,
392    size_t             lwork_bytes,
393    cusolver_int_t *   iter,
394    cusolver_int_t *   d_info);
395
396  cusolverStatus_t CUSOLVERAPI cusolverDnDBgesv(
397    cusolverDnHandle_t handle,
398    cusolver_int_t     n,
399    cusolver_int_t     nrhs,
400    double *           dA,
401    cusolver_int_t     ldda,
402    cusolver_int_t *   dipiv,
403    double *           dB,
404    cusolver_int_t     lddb,
405    double *           dX,
406    cusolver_int_t     lddx,
407    void *             dWorkspace,
408    size_t             lwork_bytes,
409    cusolver_int_t *   iter,
410    cusolver_int_t *   d_info);
411
412  cusolverStatus_t CUSOLVERAPI cusolverDnDXgesv(
413    cusolverDnHandle_t handle,
414    cusolver_int_t     n,
415    cusolver_int_t     nrhs,
416    double *           dA,
417    cusolver_int_t     ldda,
418    cusolver_int_t *   dipiv,
419    double *           dB,
420    cusolver_int_t     lddb,
421    double *           dX,
422    cusolver_int_t     lddx,
423    void *             dWorkspace,
424    size_t             lwork_bytes,
425    cusolver_int_t *   iter,
426    cusolver_int_t *   d_info);
427
428  cusolverStatus_t CUSOLVERAPI cusolverDnSSgesv(
429    cusolverDnHandle_t handle,
430    cusolver_int_t     n,
431    cusolver_int_t     nrhs,
432    float *            dA,
433    cusolver_int_t     ldda,
434    cusolver_int_t *   dipiv,
435    float *            dB,
436    cusolver_int_t     lddb,
437    float *            dX,
438    cusolver_int_t     lddx,
439    void *             dWorkspace,
440    size_t             lwork_bytes,
441    cusolver_int_t *   iter,
442    cusolver_int_t *   d_info);
443
444  cusolverStatus_t CUSOLVERAPI cusolverDnSHgesv(
445    cusolverDnHandle_t handle,
446    cusolver_int_t     n,
447    cusolver_int_t     nrhs,
448    float *            dA,
449    cusolver_int_t     ldda,
450    cusolver_int_t *   dipiv,
451    float *            dB,
452    cusolver_int_t     lddb,
453    float *            dX,
454    cusolver_int_t     lddx,
455    void *             dWorkspace,
456    size_t             lwork_bytes,
457    cusolver_int_t *   iter,
458    cusolver_int_t *   d_info);
459
460  cusolverStatus_t CUSOLVERAPI cusolverDnSBgesv(
461    cusolverDnHandle_t handle,
462    cusolver_int_t     n,
463    cusolver_int_t     nrhs,
464    float *            dA,
465    cusolver_int_t     ldda,
466    cusolver_int_t *   dipiv,
467    float *            dB,
468    cusolver_int_t     lddb,
469    float *            dX,
470    cusolver_int_t     lddx,
471    void *             dWorkspace,
472    size_t             lwork_bytes,
473    cusolver_int_t *   iter,
474    cusolver_int_t *   d_info);
475
476  cusolverStatus_t CUSOLVERAPI cusolverDnSXgesv(
477    cusolverDnHandle_t handle,
478    cusolver_int_t     n,
479    cusolver_int_t     nrhs,
480    float *            dA,
481    cusolver_int_t     ldda,
482    cusolver_int_t *   dipiv,
483    float *            dB,
484    cusolver_int_t     lddb,
485    float *            dX,
486    cusolver_int_t     lddx,
487    void *             dWorkspace,
488    size_t             lwork_bytes,
489    cusolver_int_t *   iter,
490    cusolver_int_t *   d_info);
491
492  /*******************************************************************************/
493
494  /*******************************************************************************/ /*
495                                                                                     * [ZZ, ZC, ZK, ZE, ZY, CC, CK, CE, CY, DD, DS, DH, DB, DX, SS, SH, SB, SX]gesv_bufferSize
496                                                                                     * users API Prototypes */
497  /*******************************************************************************/
498  cusolverStatus_t CUSOLVERAPI cusolverDnZZgesv_bufferSize(
499    cusolverDnHandle_t handle,
500    cusolver_int_t     n,
501    cusolver_int_t     nrhs,
502    cuDoubleComplex *  dA,
503    cusolver_int_t     ldda,
504    cusolver_int_t *   dipiv,
505    cuDoubleComplex *  dB,
506    cusolver_int_t     lddb,
507    cuDoubleComplex *  dX,
508    cusolver_int_t     lddx,
509    void *             dWorkspace,
510    size_t *           lwork_bytes);
511
512  cusolverStatus_t CUSOLVERAPI cusolverDnZCgesv_bufferSize(
513    cusolverDnHandle_t handle,
514    cusolver_int_t     n,
515    cusolver_int_t     nrhs,
516    cuDoubleComplex *  dA,
517    cusolver_int_t     ldda,
518    cusolver_int_t *   dipiv,
519    cuDoubleComplex *  dB,
520    cusolver_int_t     lddb,
521    cuDoubleComplex *  dX,
522    cusolver_int_t     lddx,
523    void *             dWorkspace,
524    size_t *           lwork_bytes);
525
526  cusolverStatus_t CUSOLVERAPI cusolverDnZKgesv_bufferSize(
527    cusolverDnHandle_t handle,
528    cusolver_int_t     n,
529    cusolver_int_t     nrhs,
530    cuDoubleComplex *  dA,
531    cusolver_int_t     ldda,
532    cusolver_int_t *   dipiv,
533    cuDoubleComplex *  dB,
534    cusolver_int_t     lddb,
535    cuDoubleComplex *  dX,
536    cusolver_int_t     lddx,
537    void *             dWorkspace,
538    size_t *           lwork_bytes);
539
540  cusolverStatus_t CUSOLVERAPI cusolverDnZEgesv_bufferSize(
541    cusolverDnHandle_t handle,
542    cusolver_int_t     n,
543    cusolver_int_t     nrhs,
544    cuDoubleComplex *  dA,
545    cusolver_int_t     ldda,
546    cusolver_int_t *   dipiv,
547    cuDoubleComplex *  dB,
548    cusolver_int_t     lddb,
549    cuDoubleComplex *  dX,
550    cusolver_int_t     lddx,
551    void *             dWorkspace,
552    size_t *           lwork_bytes);
553
554  cusolverStatus_t CUSOLVERAPI cusolverDnZYgesv_bufferSize(
555    cusolverDnHandle_t handle,
556    cusolver_int_t     n,
557    cusolver_int_t     nrhs,
558    cuDoubleComplex *  dA,
559    cusolver_int_t     ldda,
560    cusolver_int_t *   dipiv,
561    cuDoubleComplex *  dB,
562    cusolver_int_t     lddb,
563    cuDoubleComplex *  dX,
564    cusolver_int_t     lddx,
565    void *             dWorkspace,
566    size_t *           lwork_bytes);
567
568  cusolverStatus_t CUSOLVERAPI cusolverDnCCgesv_bufferSize(
569    cusolverDnHandle_t handle,
570    cusolver_int_t     n,
571    cusolver_int_t     nrhs,
572    cuComplex *        dA,
573    cusolver_int_t     ldda,
574    cusolver_int_t *   dipiv,
575    cuComplex *        dB,
576    cusolver_int_t     lddb,
577    cuComplex *        dX,
578    cusolver_int_t     lddx,
579    void *             dWorkspace,
580    size_t *           lwork_bytes);
581
582  cusolverStatus_t CUSOLVERAPI cusolverDnCKgesv_bufferSize(
583    cusolverDnHandle_t handle,
584    cusolver_int_t     n,
585    cusolver_int_t     nrhs,
586    cuComplex *        dA,
587    cusolver_int_t     ldda,
588    cusolver_int_t *   dipiv,
589    cuComplex *        dB,
590    cusolver_int_t     lddb,
591    cuComplex *        dX,
592    cusolver_int_t     lddx,
593    void *             dWorkspace,
594    size_t *           lwork_bytes);
595
596  cusolverStatus_t CUSOLVERAPI cusolverDnCEgesv_bufferSize(
597    cusolverDnHandle_t handle,
598    cusolver_int_t     n,
599    cusolver_int_t     nrhs,
600    cuComplex *        dA,
601    cusolver_int_t     ldda,
602    cusolver_int_t *   dipiv,
603    cuComplex *        dB,
604    cusolver_int_t     lddb,
605    cuComplex *        dX,
606    cusolver_int_t     lddx,
607    void *             dWorkspace,
608    size_t *           lwork_bytes);
609
610  cusolverStatus_t CUSOLVERAPI cusolverDnCYgesv_bufferSize(
611    cusolverDnHandle_t handle,
612    cusolver_int_t     n,
613    cusolver_int_t     nrhs,
614    cuComplex *        dA,
615    cusolver_int_t     ldda,
616    cusolver_int_t *   dipiv,
617    cuComplex *        dB,
618    cusolver_int_t     lddb,
619    cuComplex *        dX,
620    cusolver_int_t     lddx,
621    void *             dWorkspace,
622    size_t *           lwork_bytes);
623
624  cusolverStatus_t CUSOLVERAPI cusolverDnDDgesv_bufferSize(
625    cusolverDnHandle_t handle,
626    cusolver_int_t     n,
627    cusolver_int_t     nrhs,
628    double *           dA,
629    cusolver_int_t     ldda,
630    cusolver_int_t *   dipiv,
631    double *           dB,
632    cusolver_int_t     lddb,
633    double *           dX,
634    cusolver_int_t     lddx,
635    void *             dWorkspace,
636    size_t *           lwork_bytes);
637
638  cusolverStatus_t CUSOLVERAPI cusolverDnDSgesv_bufferSize(
639    cusolverDnHandle_t handle,
640    cusolver_int_t     n,
641    cusolver_int_t     nrhs,
642    double *           dA,
643    cusolver_int_t     ldda,
644    cusolver_int_t *   dipiv,
645    double *           dB,
646    cusolver_int_t     lddb,
647    double *           dX,
648    cusolver_int_t     lddx,
649    void *             dWorkspace,
650    size_t *           lwork_bytes);
651
652  cusolverStatus_t CUSOLVERAPI cusolverDnDHgesv_bufferSize(
653    cusolverDnHandle_t handle,
654    cusolver_int_t     n,
655    cusolver_int_t     nrhs,
656    double *           dA,
657    cusolver_int_t     ldda,
658    cusolver_int_t *   dipiv,
659    double *           dB,
660    cusolver_int_t     lddb,
661    double *           dX,
662    cusolver_int_t     lddx,
663    void *             dWorkspace,
664    size_t *           lwork_bytes);
665
666  cusolverStatus_t CUSOLVERAPI cusolverDnDBgesv_bufferSize(
667    cusolverDnHandle_t handle,
668    cusolver_int_t     n,
669    cusolver_int_t     nrhs,
670    double *           dA,
671    cusolver_int_t     ldda,
672    cusolver_int_t *   dipiv,
673    double *           dB,
674    cusolver_int_t     lddb,
675    double *           dX,
676    cusolver_int_t     lddx,
677    void *             dWorkspace,
678    size_t *           lwork_bytes);
679
680  cusolverStatus_t CUSOLVERAPI cusolverDnDXgesv_bufferSize(
681    cusolverDnHandle_t handle,
682    cusolver_int_t     n,
683    cusolver_int_t     nrhs,
684    double *           dA,
685    cusolver_int_t     ldda,
686    cusolver_int_t *   dipiv,
687    double *           dB,
688    cusolver_int_t     lddb,
689    double *           dX,
690    cusolver_int_t     lddx,
691    void *             dWorkspace,
692    size_t *           lwork_bytes);
693
694  cusolverStatus_t CUSOLVERAPI cusolverDnSSgesv_bufferSize(
695    cusolverDnHandle_t handle,
696    cusolver_int_t     n,
697    cusolver_int_t     nrhs,
698    float *            dA,
699    cusolver_int_t     ldda,
700    cusolver_int_t *   dipiv,
701    float *            dB,
702    cusolver_int_t     lddb,
703    float *            dX,
704    cusolver_int_t     lddx,
705    void *             dWorkspace,
706    size_t *           lwork_bytes);
707
708  cusolverStatus_t CUSOLVERAPI cusolverDnSHgesv_bufferSize(
709    cusolverDnHandle_t handle,
710    cusolver_int_t     n,
711    cusolver_int_t     nrhs,
712    float *            dA,
713    cusolver_int_t     ldda,
714    cusolver_int_t *   dipiv,
715    float *            dB,
716    cusolver_int_t     lddb,
717    float *            dX,
718    cusolver_int_t     lddx,
719    void *             dWorkspace,
720    size_t *           lwork_bytes);
721
722  cusolverStatus_t CUSOLVERAPI cusolverDnSBgesv_bufferSize(
723    cusolverDnHandle_t handle,
724    cusolver_int_t     n,
725    cusolver_int_t     nrhs,
726    float *            dA,
727    cusolver_int_t     ldda,
728    cusolver_int_t *   dipiv,
729    float *            dB,
730    cusolver_int_t     lddb,
731    float *            dX,
732    cusolver_int_t     lddx,
733    void *             dWorkspace,
734    size_t *           lwork_bytes);
735
736  cusolverStatus_t CUSOLVERAPI cusolverDnSXgesv_bufferSize(
737    cusolverDnHandle_t handle,
738    cusolver_int_t     n,
739    cusolver_int_t     nrhs,
740    float *            dA,
741    cusolver_int_t     ldda,
742    cusolver_int_t *   dipiv,
743    float *            dB,
744    cusolver_int_t     lddb,
745    float *            dX,
746    cusolver_int_t     lddx,
747    void *             dWorkspace,
748    size_t *           lwork_bytes);
749  /*******************************************************************************/
750
751  /*******************************************************************************/ /*
752                                                                                     * [ZZ, ZC, ZK, ZE, ZY, CC, CK, CE, CY, DD, DS, DH, DB, DX, SS, SH, SB, SX]gels
753                                                                                     * users API Prototypes */
754  /*******************************************************************************/
755  cusolverStatus_t CUSOLVERAPI cusolverDnZZgels(
756    cusolverDnHandle_t handle,
757    cusolver_int_t     m,
758    cusolver_int_t     n,
759    cusolver_int_t     nrhs,
760    cuDoubleComplex *  dA,
761    cusolver_int_t     ldda,
762    cuDoubleComplex *  dB,
763    cusolver_int_t     lddb,
764    cuDoubleComplex *  dX,
765    cusolver_int_t     lddx,
766    void *             dWorkspace,
767    size_t             lwork_bytes,
768    cusolver_int_t *   iter,
769    cusolver_int_t *   d_info);
770
771  cusolverStatus_t CUSOLVERAPI cusolverDnZCgels(
772    cusolverDnHandle_t handle,
773    cusolver_int_t     m,
774    cusolver_int_t     n,
775    cusolver_int_t     nrhs,
776    cuDoubleComplex *  dA,
777    cusolver_int_t     ldda,
778    cuDoubleComplex *  dB,
779    cusolver_int_t     lddb,
780    cuDoubleComplex *  dX,
781    cusolver_int_t     lddx,
782    void *             dWorkspace,
783    size_t             lwork_bytes,
784    cusolver_int_t *   iter,
785    cusolver_int_t *   d_info);
786
787  cusolverStatus_t CUSOLVERAPI cusolverDnZKgels(
788    cusolverDnHandle_t handle,
789    cusolver_int_t     m,
790    cusolver_int_t     n,
791    cusolver_int_t     nrhs,
792    cuDoubleComplex *  dA,
793    cusolver_int_t     ldda,
794    cuDoubleComplex *  dB,
795    cusolver_int_t     lddb,
796    cuDoubleComplex *  dX,
797    cusolver_int_t     lddx,
798    void *             dWorkspace,
799    size_t             lwork_bytes,
800    cusolver_int_t *   iter,
801    cusolver_int_t *   d_info);
802
803  cusolverStatus_t CUSOLVERAPI cusolverDnZEgels(
804    cusolverDnHandle_t handle,
805    cusolver_int_t     m,
806    cusolver_int_t     n,
807    cusolver_int_t     nrhs,
808    cuDoubleComplex *  dA,
809    cusolver_int_t     ldda,
810    cuDoubleComplex *  dB,
811    cusolver_int_t     lddb,
812    cuDoubleComplex *  dX,
813    cusolver_int_t     lddx,
814    void *             dWorkspace,
815    size_t             lwork_bytes,
816    cusolver_int_t *   iter,
817    cusolver_int_t *   d_info);
818
819  cusolverStatus_t CUSOLVERAPI cusolverDnZYgels(
820    cusolverDnHandle_t handle,
821    cusolver_int_t     m,
822    cusolver_int_t     n,
823    cusolver_int_t     nrhs,
824    cuDoubleComplex *  dA,
825    cusolver_int_t     ldda,
826    cuDoubleComplex *  dB,
827    cusolver_int_t     lddb,
828    cuDoubleComplex *  dX,
829    cusolver_int_t     lddx,
830    void *             dWorkspace,
831    size_t             lwork_bytes,
832    cusolver_int_t *   iter,
833    cusolver_int_t *   d_info);
834
835  cusolverStatus_t CUSOLVERAPI cusolverDnCCgels(
836    cusolverDnHandle_t handle,
837    cusolver_int_t     m,
838    cusolver_int_t     n,
839    cusolver_int_t     nrhs,
840    cuComplex *        dA,
841    cusolver_int_t     ldda,
842    cuComplex *        dB,
843    cusolver_int_t     lddb,
844    cuComplex *        dX,
845    cusolver_int_t     lddx,
846    void *             dWorkspace,
847    size_t             lwork_bytes,
848    cusolver_int_t *   iter,
849    cusolver_int_t *   d_info);
850
851  cusolverStatus_t CUSOLVERAPI cusolverDnCKgels(
852    cusolverDnHandle_t handle,
853    cusolver_int_t     m,
854    cusolver_int_t     n,
855    cusolver_int_t     nrhs,
856    cuComplex *        dA,
857    cusolver_int_t     ldda,
858    cuComplex *        dB,
859    cusolver_int_t     lddb,
860    cuComplex *        dX,
861    cusolver_int_t     lddx,
862    void *             dWorkspace,
863    size_t             lwork_bytes,
864    cusolver_int_t *   iter,
865    cusolver_int_t *   d_info);
866
867  cusolverStatus_t CUSOLVERAPI cusolverDnCEgels(
868    cusolverDnHandle_t handle,
869    cusolver_int_t     m,
870    cusolver_int_t     n,
871    cusolver_int_t     nrhs,
872    cuComplex *        dA,
873    cusolver_int_t     ldda,
874    cuComplex *        dB,
875    cusolver_int_t     lddb,
876    cuComplex *        dX,
877    cusolver_int_t     lddx,
878    void *             dWorkspace,
879    size_t             lwork_bytes,
880    cusolver_int_t *   iter,
881    cusolver_int_t *   d_info);
882
883  cusolverStatus_t CUSOLVERAPI cusolverDnCYgels(
884    cusolverDnHandle_t handle,
885    cusolver_int_t     m,
886    cusolver_int_t     n,
887    cusolver_int_t     nrhs,
888    cuComplex *        dA,
889    cusolver_int_t     ldda,
890    cuComplex *        dB,
891    cusolver_int_t     lddb,
892    cuComplex *        dX,
893    cusolver_int_t     lddx,
894    void *             dWorkspace,
895    size_t             lwork_bytes,
896    cusolver_int_t *   iter,
897    cusolver_int_t *   d_info);
898
899  cusolverStatus_t CUSOLVERAPI cusolverDnDDgels(
900    cusolverDnHandle_t handle,
901    cusolver_int_t     m,
902    cusolver_int_t     n,
903    cusolver_int_t     nrhs,
904    double *           dA,
905    cusolver_int_t     ldda,
906    double *           dB,
907    cusolver_int_t     lddb,
908    double *           dX,
909    cusolver_int_t     lddx,
910    void *             dWorkspace,
911    size_t             lwork_bytes,
912    cusolver_int_t *   iter,
913    cusolver_int_t *   d_info);
914
915  cusolverStatus_t CUSOLVERAPI cusolverDnDSgels(
916    cusolverDnHandle_t handle,
917    cusolver_int_t     m,
918    cusolver_int_t     n,
919    cusolver_int_t     nrhs,
920    double *           dA,
921    cusolver_int_t     ldda,
922    double *           dB,
923    cusolver_int_t     lddb,
924    double *           dX,
925    cusolver_int_t     lddx,
926    void *             dWorkspace,
927    size_t             lwork_bytes,
928    cusolver_int_t *   iter,
929    cusolver_int_t *   d_info);
930
931  cusolverStatus_t CUSOLVERAPI cusolverDnDHgels(
932    cusolverDnHandle_t handle,
933    cusolver_int_t     m,
934    cusolver_int_t     n,
935    cusolver_int_t     nrhs,
936    double *           dA,
937    cusolver_int_t     ldda,
938    double *           dB,
939    cusolver_int_t     lddb,
940    double *           dX,
941    cusolver_int_t     lddx,
942    void *             dWorkspace,
943    size_t             lwork_bytes,
944    cusolver_int_t *   iter,
945    cusolver_int_t *   d_info);
946
947  cusolverStatus_t CUSOLVERAPI cusolverDnDBgels(
948    cusolverDnHandle_t handle,
949    cusolver_int_t     m,
950    cusolver_int_t     n,
951    cusolver_int_t     nrhs,
952    double *           dA,
953    cusolver_int_t     ldda,
954    double *           dB,
955    cusolver_int_t     lddb,
956    double *           dX,
957    cusolver_int_t     lddx,
958    void *             dWorkspace,
959    size_t             lwork_bytes,
960    cusolver_int_t *   iter,
961    cusolver_int_t *   d_info);
962
963  cusolverStatus_t CUSOLVERAPI cusolverDnDXgels(
964    cusolverDnHandle_t handle,
965    cusolver_int_t     m,
966    cusolver_int_t     n,
967    cusolver_int_t     nrhs,
968    double *           dA,
969    cusolver_int_t     ldda,
970    double *           dB,
971    cusolver_int_t     lddb,
972    double *           dX,
973    cusolver_int_t     lddx,
974    void *             dWorkspace,
975    size_t             lwork_bytes,
976    cusolver_int_t *   iter,
977    cusolver_int_t *   d_info);
978
979  cusolverStatus_t CUSOLVERAPI cusolverDnSSgels(
980    cusolverDnHandle_t handle,
981    cusolver_int_t     m,
982    cusolver_int_t     n,
983    cusolver_int_t     nrhs,
984    float *            dA,
985    cusolver_int_t     ldda,
986    float *            dB,
987    cusolver_int_t     lddb,
988    float *            dX,
989    cusolver_int_t     lddx,
990    void *             dWorkspace,
991    size_t             lwork_bytes,
992    cusolver_int_t *   iter,
993    cusolver_int_t *   d_info);
994
995  cusolverStatus_t CUSOLVERAPI cusolverDnSHgels(
996    cusolverDnHandle_t handle,
997    cusolver_int_t     m,
998    cusolver_int_t     n,
999    cusolver_int_t     nrhs,
1000    float *            dA,
1001    cusolver_int_t     ldda,
1002    float *            dB,
1003    cusolver_int_t     lddb,
1004    float *            dX,
1005    cusolver_int_t     lddx,
1006    void *             dWorkspace,
1007    size_t             lwork_bytes,
1008    cusolver_int_t *   iter,
1009    cusolver_int_t *   d_info);
1010
1011  cusolverStatus_t CUSOLVERAPI cusolverDnSBgels(
1012    cusolverDnHandle_t handle,
1013    cusolver_int_t     m,
1014    cusolver_int_t     n,
1015    cusolver_int_t     nrhs,
1016    float *            dA,
1017    cusolver_int_t     ldda,
1018    float *            dB,
1019    cusolver_int_t     lddb,
1020    float *            dX,
1021    cusolver_int_t     lddx,
1022    void *             dWorkspace,
1023    size_t             lwork_bytes,
1024    cusolver_int_t *   iter,
1025    cusolver_int_t *   d_info);
1026
1027  cusolverStatus_t CUSOLVERAPI cusolverDnSXgels(
1028    cusolverDnHandle_t handle,
1029    cusolver_int_t     m,
1030    cusolver_int_t     n,
1031    cusolver_int_t     nrhs,
1032    float *            dA,
1033    cusolver_int_t     ldda,
1034    float *            dB,
1035    cusolver_int_t     lddb,
1036    float *            dX,
1037    cusolver_int_t     lddx,
1038    void *             dWorkspace,
1039    size_t             lwork_bytes,
1040    cusolver_int_t *   iter,
1041    cusolver_int_t *   d_info);
1042  /*******************************************************************************/
1043
1044  /*******************************************************************************/ /*
1045                                                                                     * [ZZ, ZC, ZK, ZE, ZY, CC, CK, CE, CY, DD, DS, DH, DB, DX, SS, SH, SB, SX]gels_bufferSize
1046                                                                                     * API prototypes */
1047  /*******************************************************************************/
1048  cusolverStatus_t CUSOLVERAPI cusolverDnZZgels_bufferSize(
1049    cusolverDnHandle_t handle,
1050    cusolver_int_t     m,
1051    cusolver_int_t     n,
1052    cusolver_int_t     nrhs,
1053    cuDoubleComplex *  dA,
1054    cusolver_int_t     ldda,
1055    cuDoubleComplex *  dB,
1056    cusolver_int_t     lddb,
1057    cuDoubleComplex *  dX,
1058    cusolver_int_t     lddx,
1059    void *             dWorkspace,
1060    size_t *           lwork_bytes);
1061
1062  cusolverStatus_t CUSOLVERAPI cusolverDnZCgels_bufferSize(
1063    cusolverDnHandle_t handle,
1064    cusolver_int_t     m,
1065    cusolver_int_t     n,
1066    cusolver_int_t     nrhs,
1067    cuDoubleComplex *  dA,
1068    cusolver_int_t     ldda,
1069    cuDoubleComplex *  dB,
1070    cusolver_int_t     lddb,
1071    cuDoubleComplex *  dX,
1072    cusolver_int_t     lddx,
1073    void *             dWorkspace,
1074    size_t *           lwork_bytes);
1075
1076  cusolverStatus_t CUSOLVERAPI cusolverDnZKgels_bufferSize(
1077    cusolverDnHandle_t handle,
1078    cusolver_int_t     m,
1079    cusolver_int_t     n,
1080    cusolver_int_t     nrhs,
1081    cuDoubleComplex *  dA,
1082    cusolver_int_t     ldda,
1083    cuDoubleComplex *  dB,
1084    cusolver_int_t     lddb,
1085    cuDoubleComplex *  dX,
1086    cusolver_int_t     lddx,
1087    void *             dWorkspace,
1088    size_t *           lwork_bytes);
1089
1090  cusolverStatus_t CUSOLVERAPI cusolverDnZEgels_bufferSize(
1091    cusolverDnHandle_t handle,
1092    cusolver_int_t     m,
1093    cusolver_int_t     n,
1094    cusolver_int_t     nrhs,
1095    cuDoubleComplex *  dA,
1096    cusolver_int_t     ldda,
1097    cuDoubleComplex *  dB,
1098    cusolver_int_t     lddb,
1099    cuDoubleComplex *  dX,
1100    cusolver_int_t     lddx,
1101    void *             dWorkspace,
1102    size_t *           lwork_bytes);
1103
1104  cusolverStatus_t CUSOLVERAPI cusolverDnZYgels_bufferSize(
1105    cusolverDnHandle_t handle,
1106    cusolver_int_t     m,
1107    cusolver_int_t     n,
1108    cusolver_int_t     nrhs,
1109    cuDoubleComplex *  dA,
1110    cusolver_int_t     ldda,
1111    cuDoubleComplex *  dB,
1112    cusolver_int_t     lddb,
1113    cuDoubleComplex *  dX,
1114    cusolver_int_t     lddx,
1115    void *             dWorkspace,
1116    size_t *           lwork_bytes);
1117
1118  cusolverStatus_t CUSOLVERAPI cusolverDnCCgels_bufferSize(
1119    cusolverDnHandle_t handle,
1120    cusolver_int_t     m,
1121    cusolver_int_t     n,
1122    cusolver_int_t     nrhs,
1123    cuComplex *        dA,
1124    cusolver_int_t     ldda,
1125    cuComplex *        dB,
1126    cusolver_int_t     lddb,
1127    cuComplex *        dX,
1128    cusolver_int_t     lddx,
1129    void *             dWorkspace,
1130    size_t *           lwork_bytes);
1131
1132  cusolverStatus_t CUSOLVERAPI cusolverDnCKgels_bufferSize(
1133    cusolverDnHandle_t handle,
1134    cusolver_int_t     m,
1135    cusolver_int_t     n,
1136    cusolver_int_t     nrhs,
1137    cuComplex *        dA,
1138    cusolver_int_t     ldda,
1139    cuComplex *        dB,
1140    cusolver_int_t     lddb,
1141    cuComplex *        dX,
1142    cusolver_int_t     lddx,
1143    void *             dWorkspace,
1144    size_t *           lwork_bytes);
1145
1146  cusolverStatus_t CUSOLVERAPI cusolverDnCEgels_bufferSize(
1147    cusolverDnHandle_t handle,
1148    cusolver_int_t     m,
1149    cusolver_int_t     n,
1150    cusolver_int_t     nrhs,
1151    cuComplex *        dA,
1152    cusolver_int_t     ldda,
1153    cuComplex *        dB,
1154    cusolver_int_t     lddb,
1155    cuComplex *        dX,
1156    cusolver_int_t     lddx,
1157    void *             dWorkspace,
1158    size_t *           lwork_bytes);
1159
1160  cusolverStatus_t CUSOLVERAPI cusolverDnCYgels_bufferSize(
1161    cusolverDnHandle_t handle,
1162    cusolver_int_t     m,
1163    cusolver_int_t     n,
1164    cusolver_int_t     nrhs,
1165    cuComplex *        dA,
1166    cusolver_int_t     ldda,
1167    cuComplex *        dB,
1168    cusolver_int_t     lddb,
1169    cuComplex *        dX,
1170    cusolver_int_t     lddx,
1171    void *             dWorkspace,
1172    size_t *           lwork_bytes);
1173
1174  cusolverStatus_t CUSOLVERAPI cusolverDnDDgels_bufferSize(
1175    cusolverDnHandle_t handle,
1176    cusolver_int_t     m,
1177    cusolver_int_t     n,
1178    cusolver_int_t     nrhs,
1179    double *           dA,
1180    cusolver_int_t     ldda,
1181    double *           dB,
1182    cusolver_int_t     lddb,
1183    double *           dX,
1184    cusolver_int_t     lddx,
1185    void *             dWorkspace,
1186    size_t *           lwork_bytes);
1187
1188  cusolverStatus_t CUSOLVERAPI cusolverDnDSgels_bufferSize(
1189    cusolverDnHandle_t handle,
1190    cusolver_int_t     m,
1191    cusolver_int_t     n,
1192    cusolver_int_t     nrhs,
1193    double *           dA,
1194    cusolver_int_t     ldda,
1195    double *           dB,
1196    cusolver_int_t     lddb,
1197    double *           dX,
1198    cusolver_int_t     lddx,
1199    void *             dWorkspace,
1200    size_t *           lwork_bytes);

Showing the first 1,200 of 4928 lines. Download the file for the rest.

codekingpro/portable-devtools · Team Ai