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_s.h
Go to the documentation of this file.
1 
18 #ifndef _PLASMA_S_H_
19 #define _PLASMA_S_H_
20 
21 #undef COMPLEX
22 #define REAL
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
31 int PLASMA_sgebrd(PLASMA_enum jobu, PLASMA_enum jobvt, int M, int N, float *A, int LDA, float *D, float *E, float *U, int LDU, float *VT, int LDVT, PLASMA_desc *T);
32 int PLASMA_sgeev(PLASMA_enum jobvl, PLASMA_enum jobvr, int N, float *A, int LDA, float *W, float *VL, int LDVL, float *VR, int LDVR, float *T);
33 int PLASMA_sgehrd(int N, int ILO, int IHI, float *A, int LDA, float *T);
34 int PLASMA_sgelqf(int M, int N, float *A, int LDA, float *T);
35 int PLASMA_sgelqs(int M, int N, int NRHS, float *A, int LDA, float *T, float *B, int LDB);
36 int PLASMA_sgels(PLASMA_enum trans, int M, int N, int NRHS, float *A, int LDA, float *T, float *B, int LDB);
37 int PLASMA_sgemm(PLASMA_enum transA, PLASMA_enum transB, int M, int N, int K, float alpha, float *A, int LDA, float *B, int LDB, float beta, float *C, int LDC);
38 int PLASMA_sgeqrf(int M, int N, float *A, int LDA, float *T);
39 int PLASMA_sgeqrs(int M, int N, int NRHS, float *A, int LDA, float *T, float *B, int LDB);
40 int PLASMA_sgesv(int N, int NRHS, float *A, int LDA, int *IPIV, float *B, int LDB);
41 int PLASMA_sgesv_incpiv(int N, int NRHS, float *A, int LDA, float *L, int *IPIV, float *B, int LDB);
42 int PLASMA_sgesvd(PLASMA_enum jobu, PLASMA_enum jobvt, int M, int N, float *A, int LDA, float *S, float *U, int LDU, float *VT, int LDVT, PLASMA_desc *T);
43 int PLASMA_sgetrf(int M, int N, float *A, int LDA, int *IPIV);
44 int PLASMA_sgetrf_incpiv(int M, int N, float *A, int LDA, float *L, int *IPIV);
45 int PLASMA_sgetri(int N, float *A, int LDA, int *IPIV);
46 int PLASMA_sgetrs(PLASMA_enum trans, int N, int NRHS, float *A, int LDA, int *IPIV, float *B, int LDB);
47 int PLASMA_sgetrs_incpiv(PLASMA_enum trans, int N, int NRHS, float *A, int LDA, float *L, int *IPIV, float *B, int LDB);
48 #ifdef COMPLEX
49 int PLASMA_ssymm(PLASMA_enum side, PLASMA_enum uplo, int M, int N, float alpha, float *A, int LDA, float *B, int LDB, float beta, float *C, int LDC);
50 int PLASMA_ssyrk(PLASMA_enum uplo, PLASMA_enum trans, int N, int K, float alpha, float *A, int LDA, float beta, float *C, int LDC);
51 int PLASMA_ssyr2k(PLASMA_enum uplo, PLASMA_enum trans, int N, int K, float alpha, float *A, int LDA, float *B, int LDB, float beta, float *C, int LDC);
52 #endif
53 int PLASMA_ssyev(PLASMA_enum jobz, PLASMA_enum uplo, int N, float *A, int LDA, float *W, PLASMA_desc *T, float *Q, int LDQ);
54 int PLASMA_ssygv(PLASMA_enum itype, PLASMA_enum jobz, PLASMA_enum uplo, int N, float *A, int LDA, float *B, int LDB, float *W, PLASMA_desc *T, float *Q, int LDQ);
55 int PLASMA_ssygst(PLASMA_enum itype, PLASMA_enum uplo, int N, float *A, int LDA, float *B, int LDB);
56 int PLASMA_ssytrd(PLASMA_enum jobz, PLASMA_enum uplo, int N, float *A, int LDA, float *D, float *E, PLASMA_desc *T, float *Q, int LDQ);
57 int PLASMA_slacpy(PLASMA_enum uplo, int M, int N, float *A, int LDA, float *B, int LDB);
58 float PLASMA_slange(PLASMA_enum norm, int M, int N, float *A, int LDA, float *work);
59 #ifdef COMPLEX
60 float PLASMA_slansy(PLASMA_enum norm, PLASMA_enum uplo, int N, float *A, int LDA, float *work);
61 #endif
62 float PLASMA_slansy(PLASMA_enum norm, PLASMA_enum uplo, int N, float *A, int LDA, float *work);
63 int PLASMA_slaset(PLASMA_enum uplo, int M, int N, float alpha, float beta, float *A, int LDA);
64 int PLASMA_slaswp(int N, float *A, int LDA, int K1, int K2, int *IPIV, int INCX);
65 int PLASMA_slaswpc(int N, float *A, int LDA, int K1, int K2, int *IPIV, int INCX);
66 int PLASMA_slauum(PLASMA_enum uplo, int N, float *A, int LDA);
67 #ifdef COMPLEX
68 int PLASMA_splgsy( float bump, int N, float *A, int LDA, unsigned long long int seed );
69 #endif
70 int PLASMA_splgsy( float bump, int N, float *A, int LDA, unsigned long long int seed );
71 int PLASMA_splrnt( int M, int N, float *A, int LDA, unsigned long long int seed );
72 int PLASMA_sposv(PLASMA_enum uplo, int N, int NRHS, float *A, int LDA, float *B, int LDB);
73 int PLASMA_spotrf(PLASMA_enum uplo, int N, float *A, int LDA);
74 int PLASMA_spotri(PLASMA_enum uplo, int N, float *A, int LDA);
75 int PLASMA_spotrs(PLASMA_enum uplo, int N, int NRHS, float *A, int LDA, float *B, int LDB);
76 int PLASMA_ssymm(PLASMA_enum side, PLASMA_enum uplo, int M, int N, float alpha, float *A, int LDA, float *B, int LDB, float beta, float *C, int LDC);
77 int PLASMA_ssyrk(PLASMA_enum uplo, PLASMA_enum trans, int N, int K, float alpha, float *A, int LDA, float beta, float *C, int LDC);
78 int PLASMA_ssyr2k(PLASMA_enum uplo, PLASMA_enum trans, int N, int K, float alpha, float *A, int LDA, float *B, int LDB, float beta, float *C, int LDC);
79 int PLASMA_strmm(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, int N, int NRHS, float alpha, float *A, int LDA, float *B, int LDB);
80 int PLASMA_strsm(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, int N, int NRHS, float alpha, float *A, int LDA, float *B, int LDB);
81 int PLASMA_strsmpl(int N, int NRHS, float *A, int LDA, float *L, int *IPIV, float *B, int LDB);
82 int PLASMA_strsmrv(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, int N, int NRHS, float alpha, float *A, int LDA, float *B, int LDB);
83 int PLASMA_strtri(PLASMA_enum uplo, PLASMA_enum diag, int N, float *A, int LDA);
84 int PLASMA_sorgbr(PLASMA_enum side, int M, int N, int K, float *A, int LDA, float *T, float *Q, int LDQ);
85 int PLASMA_sorghr(int N, int ILO, int IHI, float *A, int LDA, float *T, float *Q, int LDQ);
86 int PLASMA_sorglq(int M, int N, int K, float *A, int LDA, float *T, float *B, int LDB);
87 int PLASMA_sorgqr(int M, int N, int K, float *A, int LDA, float *T, float *B, int LDB);
88 int PLASMA_sorgtr(PLASMA_enum uplo, int N, float *A, int LDA, float *T, float *B, int LDB);
89 int PLASMA_sormlq(PLASMA_enum side, PLASMA_enum trans, int M, int N, int K, float *A, int LDA, float *T, float *B, int LDB);
90 int PLASMA_sormqr(PLASMA_enum side, PLASMA_enum trans, int M, int N, int K, float *A, int LDA, float *T, float *B, int LDB);
91 
92 int PLASMA_sgecfi(int m, int n, float *A, PLASMA_enum fin, int imb, int inb, PLASMA_enum fout, int omb, int onb);
93 int PLASMA_sgetmi(int m, int n, float *A, PLASMA_enum fin, int mb, int nb);
94 
98 int PLASMA_sgebrd_Tile(PLASMA_enum jobu, PLASMA_enum jobvt, PLASMA_desc *A, float *D, float *E, PLASMA_desc *U, PLASMA_desc *VT, PLASMA_desc *T);
99 int PLASMA_sgeev_Tile(PLASMA_enum jobvl, PLASMA_enum jobvr, PLASMA_desc *A, float *W, PLASMA_desc *VL, PLASMA_desc *VR, PLASMA_desc *T);
104 int PLASMA_sgemm_Tile(PLASMA_enum transA, PLASMA_enum transB, float alpha, PLASMA_desc *A, PLASMA_desc *B, float beta, PLASMA_desc *C);
107 int PLASMA_sgesv_Tile(PLASMA_desc *A, int *IPIV, PLASMA_desc *B);
109 int PLASMA_sgesvd_Tile(PLASMA_enum jobu, PLASMA_enum jobvt, PLASMA_desc *A, float *S, PLASMA_desc *U, PLASMA_desc *VT, PLASMA_desc *T);
110 int PLASMA_sgetrf_Tile(PLASMA_desc *A, int *IPIV);
111 int PLASMA_sgetrf_incpiv_Tile(PLASMA_desc *A, PLASMA_desc *L, int *IPIV);
112 int PLASMA_sgetri_Tile(PLASMA_desc *A, int *IPIV);
113 int PLASMA_sgetrs_Tile(PLASMA_enum trans, PLASMA_desc *A, int *IPIV, PLASMA_desc *B);
115 #ifdef COMPLEX
116 int PLASMA_ssymm_Tile(PLASMA_enum side, PLASMA_enum uplo, float alpha, PLASMA_desc *A, PLASMA_desc *B, float beta, PLASMA_desc *C);
117 int PLASMA_ssyrk_Tile(PLASMA_enum uplo, PLASMA_enum trans, float alpha, PLASMA_desc *A, float beta, PLASMA_desc *C);
118 int PLASMA_ssyr2k_Tile(PLASMA_enum uplo, PLASMA_enum trans, float alpha, PLASMA_desc *A, PLASMA_desc *B, float beta, PLASMA_desc *C);
119 #endif
120 int PLASMA_ssyev_Tile(PLASMA_enum jobz, PLASMA_enum uplo, PLASMA_desc *A, float *W, PLASMA_desc *T, PLASMA_desc *Q);
121 int PLASMA_ssygv_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_ssytrd_Tile(PLASMA_enum jobz, PLASMA_enum uplo, PLASMA_desc *A, float *D, float *E, PLASMA_desc *T, PLASMA_desc *Q);
125 float PLASMA_slange_Tile(PLASMA_enum norm, PLASMA_desc *A, float *work);
126 #ifdef COMPLEX
127 float PLASMA_slansy_Tile(PLASMA_enum norm, PLASMA_enum uplo, PLASMA_desc *A, float *work);
128 #endif
129 float PLASMA_slansy_Tile(PLASMA_enum norm, PLASMA_enum uplo, PLASMA_desc *A, float *work);
130 int PLASMA_slaset_Tile(PLASMA_enum uplo, float alpha, float beta, PLASMA_desc *A);
131 int PLASMA_slaswp_Tile(PLASMA_desc *A, int K1, int K2, int *IPIV, int INCX);
132 int PLASMA_slaswpc_Tile(PLASMA_desc *A, int K1, int K2, int *IPIV, int INCX);
134 #ifdef COMPLEX
135 int PLASMA_splgsy_Tile(float bump, PLASMA_desc *A, unsigned long long int seed );
136 #endif
137 int PLASMA_splgsy_Tile(float bump, PLASMA_desc *A, unsigned long long int seed );
138 int PLASMA_splrnt_Tile(PLASMA_desc *A, unsigned long long int seed );
143 int PLASMA_ssymm_Tile(PLASMA_enum side, PLASMA_enum uplo, float alpha, PLASMA_desc *A, PLASMA_desc *B, float beta, PLASMA_desc *C);
144 int PLASMA_ssyrk_Tile(PLASMA_enum uplo, PLASMA_enum trans, float alpha, PLASMA_desc *A, float beta, PLASMA_desc *C);
145 int PLASMA_ssyr2k_Tile(PLASMA_enum uplo, PLASMA_enum trans, float alpha, PLASMA_desc *A, PLASMA_desc *B, float beta, PLASMA_desc *C);
146 int PLASMA_strmm_Tile(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, float alpha, PLASMA_desc *A, PLASMA_desc *B);
147 int PLASMA_strsm_Tile(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, float alpha, PLASMA_desc *A, PLASMA_desc *B);
148 int PLASMA_strsmpl_Tile(PLASMA_desc *A, PLASMA_desc *L, int *IPIV, PLASMA_desc *B);
149 int PLASMA_strsmrv_Tile(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, float alpha, PLASMA_desc *A, PLASMA_desc *B);
158 
162 int PLASMA_sgebrd_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);
163 int PLASMA_sgeev_Tile_Async(PLASMA_enum jobvl, PLASMA_enum jobvr, PLASMA_desc *A, float *W, PLASMA_desc *VL, PLASMA_desc *VR, PLASMA_desc *T, PLASMA_sequence *sequence, PLASMA_request *request);
168 int PLASMA_sgemm_Tile_Async(PLASMA_enum transA, PLASMA_enum transB, float alpha, PLASMA_desc *A, PLASMA_desc *B, float beta, PLASMA_desc *C, PLASMA_sequence *sequence, PLASMA_request *request);
171 int PLASMA_sgesv_Tile_Async(PLASMA_desc *A, int *IPIV, PLASMA_desc *B, PLASMA_sequence *sequence, PLASMA_request *request);
173 int PLASMA_sgesvd_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_sgetrf_Tile_Async(PLASMA_desc *A, int *IPIV, PLASMA_sequence *sequence, PLASMA_request *request);
175 int PLASMA_sgetrf_incpiv_Tile_Async(PLASMA_desc *A, PLASMA_desc *L, int *IPIV, PLASMA_sequence *sequence, PLASMA_request *request);
176 int PLASMA_sgetri_Tile_Async(PLASMA_desc *A, int *IPIV, PLASMA_desc *W, PLASMA_sequence *sequence, PLASMA_request *request);
177 int PLASMA_sgetrs_Tile_Async(PLASMA_enum trans, PLASMA_desc *A, int *IPIV, PLASMA_desc *B, PLASMA_sequence *sequence, PLASMA_request *request);
179 #ifdef COMPLEX
180 int PLASMA_ssymm_Tile_Async(PLASMA_enum side, PLASMA_enum uplo, float alpha, PLASMA_desc *A, PLASMA_desc *B, float beta, PLASMA_desc *C, PLASMA_sequence *sequence, PLASMA_request *request);
181 int PLASMA_ssyrk_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_ssyr2k_Tile_Async(PLASMA_enum uplo, PLASMA_enum trans, float alpha, PLASMA_desc *A, PLASMA_desc *B, float beta, PLASMA_desc *C, PLASMA_sequence *sequence, PLASMA_request *request);
183 #endif
184 int PLASMA_ssyev_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_ssygv_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_ssytrd_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_slange_Tile_Async(PLASMA_enum norm, PLASMA_desc *A, float *work, float *value, PLASMA_sequence *sequence, PLASMA_request *request);
190 #ifdef COMPLEX
191 int PLASMA_slansy_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_slansy_Tile_Async(PLASMA_enum norm, PLASMA_enum uplo, PLASMA_desc *A, float *work, float *value, PLASMA_sequence *sequence, PLASMA_request *request);
194 int PLASMA_slaset_Tile_Async(PLASMA_enum uplo, float alpha, float beta, PLASMA_desc *A, PLASMA_sequence *sequence, PLASMA_request *request);
195 int PLASMA_slaswp_Tile_Async(PLASMA_desc *A, int K1, int K2, int *IPIV, int INCX, PLASMA_sequence *sequence, PLASMA_request *request);
196 int PLASMA_slaswpc_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_splgsy_Tile_Async(float bump, PLASMA_desc *A, unsigned long long int seed, PLASMA_sequence *sequence, PLASMA_request *request );
200 #endif
201 int PLASMA_splgsy_Tile_Async(float bump, PLASMA_desc *A, unsigned long long int seed, PLASMA_sequence *sequence, PLASMA_request *request );
202 int PLASMA_splrnt_Tile_Async(PLASMA_desc *A, unsigned long long int seed, PLASMA_sequence *sequence, PLASMA_request *request );
207 int PLASMA_ssymm_Tile_Async(PLASMA_enum side, PLASMA_enum uplo, float alpha, PLASMA_desc *A, PLASMA_desc *B, float beta, PLASMA_desc *C, PLASMA_sequence *sequence, PLASMA_request *request);
208 int PLASMA_ssyrk_Tile_Async(PLASMA_enum uplo, PLASMA_enum trans, float alpha, PLASMA_desc *A, float beta, PLASMA_desc *C, PLASMA_sequence *sequence, PLASMA_request *request);
209 int PLASMA_ssyr2k_Tile_Async(PLASMA_enum uplo, PLASMA_enum trans, float alpha, PLASMA_desc *A, PLASMA_desc *B, float beta, PLASMA_desc *C, PLASMA_sequence *sequence, PLASMA_request *request);
210 int PLASMA_strmm_Tile_Async(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, float alpha, PLASMA_desc *A, PLASMA_desc *B, PLASMA_sequence *sequence, PLASMA_request *request);
211 int PLASMA_strsm_Tile_Async(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, float alpha, PLASMA_desc *A, PLASMA_desc *B, PLASMA_sequence *sequence, PLASMA_request *request);
212 int PLASMA_strsmpl_Tile_Async(PLASMA_desc *A, PLASMA_desc *L, int *IPIV, PLASMA_desc *B, PLASMA_sequence *sequence, PLASMA_request *request);
213 int PLASMA_strsmrv_Tile_Async(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, float alpha, PLASMA_desc *A, PLASMA_desc *B, PLASMA_sequence *sequence, PLASMA_request *request);
222 
223 int PLASMA_sgecfi_Async(int m, int n, float *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_sgetmi_Async(int m, int n, float *A, PLASMA_enum f_in, int mb, int inb, PLASMA_sequence *sequence, PLASMA_request *request);
225 
229 int PLASMA_Alloc_Workspace_sgelqf(int M, int N, float **T);
230 int PLASMA_Alloc_Workspace_sgels( int M, int N, float **T);
231 int PLASMA_Alloc_Workspace_sgeqrf(int M, int N, float **T);
232 int PLASMA_Alloc_Workspace_sgesv_incpiv( int N, float **L, int **IPIV);
233 int PLASMA_Alloc_Workspace_sgetrf_incpiv(int M, int N, float **L, int **IPIV);
234 
235 int PLASMA_Alloc_Workspace_sgebrd(int M, int N, PLASMA_desc **descT);
236 int PLASMA_Alloc_Workspace_sgeev( int N, PLASMA_desc **descT);
237 int PLASMA_Alloc_Workspace_sgehrd(int N, PLASMA_desc **descT);
238 int PLASMA_Alloc_Workspace_sgesvd(int M, int N, PLASMA_desc **descT);
239 int PLASMA_Alloc_Workspace_ssyev( int M, int N, PLASMA_desc **descT);
240 int PLASMA_Alloc_Workspace_ssygv( int M, int N, PLASMA_desc **descT);
241 int PLASMA_Alloc_Workspace_ssytrd(int M, int N, PLASMA_desc **descT);
242 
246 int PLASMA_Alloc_Workspace_sgelqf_Tile(int M, int N, PLASMA_desc **descT);
247 int PLASMA_Alloc_Workspace_sgels_Tile( int M, int N, PLASMA_desc **descT);
248 int PLASMA_Alloc_Workspace_sgeqrf_Tile(int M, int N, PLASMA_desc **descT);
249 int PLASMA_Alloc_Workspace_sgesv_incpiv_Tile (int N, PLASMA_desc **descL, int **IPIV);
250 int PLASMA_Alloc_Workspace_sgetrf_incpiv_Tile(int N, PLASMA_desc **descL, int **IPIV);
252 
256 int PLASMA_sLapack_to_Tile(float *Af77, int LDA, PLASMA_desc *A);
257 int PLASMA_sTile_to_Lapack(PLASMA_desc *A, float *Af77, int LDA);
258 int PLASMA_sLapack_to_Tile_Async(float *Af77, int LDA, PLASMA_desc *A, PLASMA_sequence *sequence, PLASMA_request *request);
259 int PLASMA_sTile_to_Lapack_Async(PLASMA_desc *A, float *Af77, int LDA, PLASMA_sequence *sequence, PLASMA_request *request);
260 
261 #ifdef __cplusplus
262 }
263 #endif
264 
265 #undef COMPLEX
266 
267 #endif