PLASMA  2.4.5
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
plasma_c.h
Go to the documentation of this file.
1 
18 #ifndef _PLASMA_C_H_
19 #define _PLASMA_C_H_
20 
21 #undef REAL
22 #define COMPLEX
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
31 int PLASMA_cgebrd(PLASMA_enum jobu, PLASMA_enum jobvt, int M, int N, PLASMA_Complex32_t *A, int LDA, float *D, float *E, PLASMA_Complex32_t *U, int LDU, PLASMA_Complex32_t *VT, int LDVT, PLASMA_desc *T);
32 int PLASMA_cgeev(PLASMA_enum jobvl, PLASMA_enum jobvr, int N, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *W, PLASMA_Complex32_t *VL, int LDVL, PLASMA_Complex32_t *VR, int LDVR, PLASMA_Complex32_t *T);
33 int PLASMA_cgehrd(int N, int ILO, int IHI, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T);
34 int PLASMA_cgelqf(int M, int N, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T);
35 int PLASMA_cgelqs(int M, int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *B, int LDB);
36 int PLASMA_cgels(PLASMA_enum trans, int M, int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *B, int LDB);
37 int PLASMA_cgemm(PLASMA_enum transA, PLASMA_enum transB, int M, int N, int K, PLASMA_Complex32_t alpha, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *B, int LDB, PLASMA_Complex32_t beta, PLASMA_Complex32_t *C, int LDC);
38 int PLASMA_cgeqrf(int M, int N, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T);
39 int PLASMA_cgeqrs(int M, int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *B, int LDB);
40 int PLASMA_cgesv(int N, int NRHS, PLASMA_Complex32_t *A, int LDA, int *IPIV, PLASMA_Complex32_t *B, int LDB);
41 int PLASMA_cgesv_incpiv(int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *L, int *IPIV, PLASMA_Complex32_t *B, int LDB);
42 int PLASMA_cgesvd(PLASMA_enum jobu, PLASMA_enum jobvt, int M, int N, PLASMA_Complex32_t *A, int LDA, float *S, PLASMA_Complex32_t *U, int LDU, PLASMA_Complex32_t *VT, int LDVT, PLASMA_desc *T);
43 int PLASMA_cgetrf(int M, int N, PLASMA_Complex32_t *A, int LDA, int *IPIV);
44 int PLASMA_cgetrf_incpiv(int M, int N, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *L, int *IPIV);
45 int PLASMA_cgetri(int N, PLASMA_Complex32_t *A, int LDA, int *IPIV);
46 int PLASMA_cgetrs(PLASMA_enum trans, int N, int NRHS, PLASMA_Complex32_t *A, int LDA, int *IPIV, PLASMA_Complex32_t *B, int LDB);
47 int PLASMA_cgetrs_incpiv(PLASMA_enum trans, int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *L, int *IPIV, PLASMA_Complex32_t *B, int LDB);
48 #ifdef COMPLEX
50 int PLASMA_cherk(PLASMA_enum uplo, PLASMA_enum trans, int N, int K, float alpha, PLASMA_Complex32_t *A, int LDA, float beta, PLASMA_Complex32_t *C, int LDC);
51 int PLASMA_cher2k(PLASMA_enum uplo, PLASMA_enum trans, int N, int K, PLASMA_Complex32_t alpha, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *B, int LDB, float beta, PLASMA_Complex32_t *C, int LDC);
52 #endif
53 int PLASMA_cheev(PLASMA_enum jobz, PLASMA_enum uplo, int N, PLASMA_Complex32_t *A, int LDA, float *W, PLASMA_desc *T, PLASMA_Complex32_t *Q, int LDQ);
54 int PLASMA_chegv(PLASMA_enum itype, PLASMA_enum jobz, PLASMA_enum uplo, int N, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *B, int LDB, float *W, PLASMA_desc *T, PLASMA_Complex32_t *Q, int LDQ);
55 int PLASMA_chegst(PLASMA_enum itype, PLASMA_enum uplo, int N, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *B, int LDB);
56 int PLASMA_chetrd(PLASMA_enum jobz, PLASMA_enum uplo, int N, PLASMA_Complex32_t *A, int LDA, float *D, float *E, PLASMA_desc *T, PLASMA_Complex32_t *Q, int LDQ);
57 int PLASMA_clacpy(PLASMA_enum uplo, int M, int N, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *B, int LDB);
58 float PLASMA_clange(PLASMA_enum norm, int M, int N, PLASMA_Complex32_t *A, int LDA, float *work);
59 #ifdef COMPLEX
60 float PLASMA_clanhe(PLASMA_enum norm, PLASMA_enum uplo, int N, PLASMA_Complex32_t *A, int LDA, float *work);
61 #endif
62 float PLASMA_clansy(PLASMA_enum norm, PLASMA_enum uplo, int N, PLASMA_Complex32_t *A, int LDA, float *work);
63 int PLASMA_claset(PLASMA_enum uplo, int M, int N, PLASMA_Complex32_t alpha, PLASMA_Complex32_t beta, PLASMA_Complex32_t *A, int LDA);
64 int PLASMA_claswp(int N, PLASMA_Complex32_t *A, int LDA, int K1, int K2, int *IPIV, int INCX);
65 int PLASMA_claswpc(int N, PLASMA_Complex32_t *A, int LDA, int K1, int K2, int *IPIV, int INCX);
66 int PLASMA_clauum(PLASMA_enum uplo, int N, PLASMA_Complex32_t *A, int LDA);
67 #ifdef COMPLEX
68 int PLASMA_cplghe( float bump, int N, PLASMA_Complex32_t *A, int LDA, unsigned long long int seed );
69 #endif
70 int PLASMA_cplgsy( PLASMA_Complex32_t bump, int N, PLASMA_Complex32_t *A, int LDA, unsigned long long int seed );
71 int PLASMA_cplrnt( int M, int N, PLASMA_Complex32_t *A, int LDA, unsigned long long int seed );
72 int PLASMA_cposv(PLASMA_enum uplo, int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *B, int LDB);
73 int PLASMA_cpotrf(PLASMA_enum uplo, int N, PLASMA_Complex32_t *A, int LDA);
74 int PLASMA_cpotri(PLASMA_enum uplo, int N, PLASMA_Complex32_t *A, int LDA);
75 int PLASMA_cpotrs(PLASMA_enum uplo, int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *B, int LDB);
76 int PLASMA_csymm(PLASMA_enum side, PLASMA_enum uplo, int M, int N, PLASMA_Complex32_t alpha, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *B, int LDB, PLASMA_Complex32_t beta, PLASMA_Complex32_t *C, int LDC);
77 int PLASMA_csyrk(PLASMA_enum uplo, PLASMA_enum trans, int N, int K, PLASMA_Complex32_t alpha, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t beta, PLASMA_Complex32_t *C, int LDC);
78 int PLASMA_csyr2k(PLASMA_enum uplo, PLASMA_enum trans, int N, int K, PLASMA_Complex32_t alpha, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *B, int LDB, PLASMA_Complex32_t beta, PLASMA_Complex32_t *C, int LDC);
79 int PLASMA_ctrmm(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, int N, int NRHS, PLASMA_Complex32_t alpha, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *B, int LDB);
80 int PLASMA_ctrsm(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, int N, int NRHS, PLASMA_Complex32_t alpha, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *B, int LDB);
81 int PLASMA_ctrsmpl(int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *L, int *IPIV, PLASMA_Complex32_t *B, int LDB);
82 int PLASMA_ctrsmrv(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, int N, int NRHS, PLASMA_Complex32_t alpha, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *B, int LDB);
83 int PLASMA_ctrtri(PLASMA_enum uplo, PLASMA_enum diag, int N, PLASMA_Complex32_t *A, int LDA);
84 int PLASMA_cungbr(PLASMA_enum side, int M, int N, int K, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *Q, int LDQ);
85 int PLASMA_cunghr(int N, int ILO, int IHI, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *Q, int LDQ);
86 int PLASMA_cunglq(int M, int N, int K, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *B, int LDB);
87 int PLASMA_cungqr(int M, int N, int K, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *B, int LDB);
88 int PLASMA_cungtr(PLASMA_enum uplo, int N, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *B, int LDB);
89 int PLASMA_cunmlq(PLASMA_enum side, PLASMA_enum trans, int M, int N, int K, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *B, int LDB);
90 int PLASMA_cunmqr(PLASMA_enum side, PLASMA_enum trans, int M, int N, int K, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *B, int LDB);
91 
92 int PLASMA_cgecfi(int m, int n, PLASMA_Complex32_t *A, PLASMA_enum fin, int imb, int inb, PLASMA_enum fout, int omb, int onb);
93 int PLASMA_cgetmi(int m, int n, PLASMA_Complex32_t *A, PLASMA_enum fin, int mb, int nb);
94 
98 int PLASMA_cgebrd_Tile(PLASMA_enum jobu, PLASMA_enum jobvt, PLASMA_desc *A, float *D, float *E, PLASMA_desc *U, PLASMA_desc *VT, PLASMA_desc *T);
107 int PLASMA_cgesv_Tile(PLASMA_desc *A, int *IPIV, PLASMA_desc *B);
109 int PLASMA_cgesvd_Tile(PLASMA_enum jobu, PLASMA_enum jobvt, PLASMA_desc *A, float *S, PLASMA_desc *U, PLASMA_desc *VT, PLASMA_desc *T);
110 int PLASMA_cgetrf_Tile(PLASMA_desc *A, int *IPIV);
111 int PLASMA_cgetrf_incpiv_Tile(PLASMA_desc *A, PLASMA_desc *L, int *IPIV);
112 int PLASMA_cgetri_Tile(PLASMA_desc *A, int *IPIV);
113 int PLASMA_cgetrs_Tile(PLASMA_enum trans, PLASMA_desc *A, int *IPIV, PLASMA_desc *B);
115 #ifdef COMPLEX
117 int PLASMA_cherk_Tile(PLASMA_enum uplo, PLASMA_enum trans, float alpha, PLASMA_desc *A, float beta, PLASMA_desc *C);
118 int PLASMA_cher2k_Tile(PLASMA_enum uplo, PLASMA_enum trans, PLASMA_Complex32_t alpha, PLASMA_desc *A, PLASMA_desc *B, float beta, PLASMA_desc *C);
119 #endif
120 int PLASMA_cheev_Tile(PLASMA_enum jobz, PLASMA_enum uplo, PLASMA_desc *A, float *W, PLASMA_desc *T, PLASMA_desc *Q);
121 int PLASMA_chegv_Tile(PLASMA_enum itype, PLASMA_enum jobz, PLASMA_enum uplo, PLASMA_desc *A, PLASMA_desc *B, float *W, PLASMA_desc *T, PLASMA_desc *Q);
123 int PLASMA_chetrd_Tile(PLASMA_enum jobz, PLASMA_enum uplo, PLASMA_desc *A, float *D, float *E, PLASMA_desc *T, PLASMA_desc *Q);
125 float PLASMA_clange_Tile(PLASMA_enum norm, PLASMA_desc *A, float *work);
126 #ifdef COMPLEX
127 float PLASMA_clanhe_Tile(PLASMA_enum norm, PLASMA_enum uplo, PLASMA_desc *A, float *work);
128 #endif
129 float PLASMA_clansy_Tile(PLASMA_enum norm, PLASMA_enum uplo, PLASMA_desc *A, float *work);
131 int PLASMA_claswp_Tile(PLASMA_desc *A, int K1, int K2, int *IPIV, int INCX);
132 int PLASMA_claswpc_Tile(PLASMA_desc *A, int K1, int K2, int *IPIV, int INCX);
134 #ifdef COMPLEX
135 int PLASMA_cplghe_Tile(float bump, PLASMA_desc *A, unsigned long long int seed );
136 #endif
137 int PLASMA_cplgsy_Tile(PLASMA_Complex32_t bump, PLASMA_desc *A, unsigned long long int seed );
138 int PLASMA_cplrnt_Tile(PLASMA_desc *A, unsigned long long int seed );
148 int PLASMA_ctrsmpl_Tile(PLASMA_desc *A, PLASMA_desc *L, int *IPIV, PLASMA_desc *B);
158 
162 int PLASMA_cgebrd_Tile_Async(PLASMA_enum jobu, PLASMA_enum jobvt, PLASMA_desc *A, float *D, float *E, PLASMA_desc *U, PLASMA_desc *VT, PLASMA_desc *T, PLASMA_sequence *sequence, PLASMA_request *request);
171 int PLASMA_cgesv_Tile_Async(PLASMA_desc *A, int *IPIV, PLASMA_desc *B, PLASMA_sequence *sequence, PLASMA_request *request);
173 int PLASMA_cgesvd_Tile_Async(PLASMA_enum jobu, PLASMA_enum jobvt, PLASMA_desc *A, float *S, PLASMA_desc *U, PLASMA_desc *VT, PLASMA_desc *T, PLASMA_sequence *sequence, PLASMA_request *request);
174 int PLASMA_cgetrf_Tile_Async(PLASMA_desc *A, int *IPIV, PLASMA_sequence *sequence, PLASMA_request *request);
175 int PLASMA_cgetrf_incpiv_Tile_Async(PLASMA_desc *A, PLASMA_desc *L, int *IPIV, PLASMA_sequence *sequence, PLASMA_request *request);
176 int PLASMA_cgetri_Tile_Async(PLASMA_desc *A, int *IPIV, PLASMA_desc *W, PLASMA_sequence *sequence, PLASMA_request *request);
177 int PLASMA_cgetrs_Tile_Async(PLASMA_enum trans, PLASMA_desc *A, int *IPIV, PLASMA_desc *B, PLASMA_sequence *sequence, PLASMA_request *request);
179 #ifdef COMPLEX
181 int PLASMA_cherk_Tile_Async(PLASMA_enum uplo, PLASMA_enum trans, float alpha, PLASMA_desc *A, float beta, PLASMA_desc *C, PLASMA_sequence *sequence, PLASMA_request *request);
182 int PLASMA_cher2k_Tile_Async(PLASMA_enum uplo, PLASMA_enum trans, PLASMA_Complex32_t alpha, PLASMA_desc *A, PLASMA_desc *B, float beta, PLASMA_desc *C, PLASMA_sequence *sequence, PLASMA_request *request);
183 #endif
184 int PLASMA_cheev_Tile_Async(PLASMA_enum jobz, PLASMA_enum uplo, PLASMA_desc *A, float *W, PLASMA_desc *T, PLASMA_desc *Q, PLASMA_sequence *sequence, PLASMA_request *request);
185 int PLASMA_chegv_Tile_Async(PLASMA_enum itype, PLASMA_enum jobz, PLASMA_enum uplo, PLASMA_desc *A, PLASMA_desc *B, float *W, PLASMA_desc *T, PLASMA_desc *Q, PLASMA_sequence *sequence, PLASMA_request *request);
187 int PLASMA_chetrd_Tile_Async(PLASMA_enum jobz, PLASMA_enum uplo, PLASMA_desc *A, float *D, float *E, PLASMA_desc *T, PLASMA_desc *Q, PLASMA_sequence *sequence, PLASMA_request *request);
189 int PLASMA_clange_Tile_Async(PLASMA_enum norm, PLASMA_desc *A, float *work, float *value, PLASMA_sequence *sequence, PLASMA_request *request);
190 #ifdef COMPLEX
191 int PLASMA_clanhe_Tile_Async(PLASMA_enum norm, PLASMA_enum uplo, PLASMA_desc *A, float *work, float *value, PLASMA_sequence *sequence, PLASMA_request *request);
192 #endif
193 int PLASMA_clansy_Tile_Async(PLASMA_enum norm, PLASMA_enum uplo, PLASMA_desc *A, float *work, float *value, PLASMA_sequence *sequence, PLASMA_request *request);
195 int PLASMA_claswp_Tile_Async(PLASMA_desc *A, int K1, int K2, int *IPIV, int INCX, PLASMA_sequence *sequence, PLASMA_request *request);
196 int PLASMA_claswpc_Tile_Async(PLASMA_desc *A, int K1, int K2, int *IPIV, int INCX, PLASMA_sequence *sequence, PLASMA_request *request);
198 #ifdef COMPLEX
199 int PLASMA_cplghe_Tile_Async(float bump, PLASMA_desc *A, unsigned long long int seed, PLASMA_sequence *sequence, PLASMA_request *request );
200 #endif
201 int PLASMA_cplgsy_Tile_Async(PLASMA_Complex32_t bump, PLASMA_desc *A, unsigned long long int seed, PLASMA_sequence *sequence, PLASMA_request *request );
202 int PLASMA_cplrnt_Tile_Async(PLASMA_desc *A, unsigned long long int seed, PLASMA_sequence *sequence, PLASMA_request *request );
212 int PLASMA_ctrsmpl_Tile_Async(PLASMA_desc *A, PLASMA_desc *L, int *IPIV, PLASMA_desc *B, PLASMA_sequence *sequence, PLASMA_request *request);
222 
223 int PLASMA_cgecfi_Async(int m, int n, PLASMA_Complex32_t *A, PLASMA_enum f_in, int imb, int inb, PLASMA_enum f_out, int omb, int onb, PLASMA_sequence *sequence, PLASMA_request *request);
224 int PLASMA_cgetmi_Async(int m, int n, PLASMA_Complex32_t *A, PLASMA_enum f_in, int mb, int inb, PLASMA_sequence *sequence, PLASMA_request *request);
225 
230 int PLASMA_Alloc_Workspace_cgels( int M, int N, PLASMA_Complex32_t **T);
232 int PLASMA_Alloc_Workspace_cgesv_incpiv( int N, PLASMA_Complex32_t **L, int **IPIV);
233 int PLASMA_Alloc_Workspace_cgetrf_incpiv(int M, int N, PLASMA_Complex32_t **L, int **IPIV);
234 
235 int PLASMA_Alloc_Workspace_cgebrd(int M, int N, PLASMA_desc **descT);
236 int PLASMA_Alloc_Workspace_cgeev( int N, PLASMA_desc **descT);
237 int PLASMA_Alloc_Workspace_cgehrd(int N, PLASMA_desc **descT);
238 int PLASMA_Alloc_Workspace_cgesvd(int M, int N, PLASMA_desc **descT);
239 int PLASMA_Alloc_Workspace_cheev( int M, int N, PLASMA_desc **descT);
240 int PLASMA_Alloc_Workspace_chegv( int M, int N, PLASMA_desc **descT);
241 int PLASMA_Alloc_Workspace_chetrd(int M, int N, PLASMA_desc **descT);
242 
246 int PLASMA_Alloc_Workspace_cgelqf_Tile(int M, int N, PLASMA_desc **descT);
247 int PLASMA_Alloc_Workspace_cgels_Tile( int M, int N, PLASMA_desc **descT);
248 int PLASMA_Alloc_Workspace_cgeqrf_Tile(int M, int N, PLASMA_desc **descT);
249 int PLASMA_Alloc_Workspace_cgesv_incpiv_Tile (int N, PLASMA_desc **descL, int **IPIV);
250 int PLASMA_Alloc_Workspace_cgetrf_incpiv_Tile(int N, PLASMA_desc **descL, int **IPIV);
252 
260 
261 #ifdef __cplusplus
262 }
263 #endif
264 
265 #undef COMPLEX
266 
267 #endif