23 #define PLASMA_SGEBRD PLASMA_FNAME(sgebrd, SGEBRD )
24 #define PLASMA_SGEEV PLASMA_FNAME(sgeev, SGEEV )
25 #define PLASMA_SGEHRD PLASMA_FNAME(sgehrd, SGEHRD )
26 #define PLASMA_SGELQF PLASMA_FNAME(sgelqf, SGELQF )
27 #define PLASMA_SGELQS PLASMA_FNAME(sgelqs, SGELQS )
28 #define PLASMA_SGELS PLASMA_FNAME(sgels, SGELS )
29 #define PLASMA_SGEQRF PLASMA_FNAME(sgeqrf, SGEQRF )
30 #define PLASMA_SGEQRS PLASMA_FNAME(sgeqrs, SGEQRS )
31 #define PLASMA_SGESV PLASMA_FNAME(sgesv, SGESV )
32 #define PLASMA_SGESVD PLASMA_FNAME(sgesvd, SGESVD )
33 #define PLASMA_SGETRF PLASMA_FNAME(sgetrf, SGETRF )
34 #define PLASMA_SGETRS PLASMA_FNAME(sgetrs, SGETRS )
35 #define PLASMA_SGESV_INCPIV PLASMA_FNAME(sgesv_incpiv, SGESV_INCPIV )
36 #define PLASMA_SGETRF_INCPIV PLASMA_FNAME(sgetrf_incpiv, SGETRF_INCPIV )
37 #define PLASMA_SGETRS_INCPIV PLASMA_FNAME(sgetrs_incpiv, SGETRS_INCPIV )
38 #define PLASMA_SSYEV PLASMA_FNAME(ssyev, SSYEV )
39 #define PLASMA_SSYGV PLASMA_FNAME(ssygv, SSYGV )
40 #define PLASMA_SSYGST PLASMA_FNAME(ssygst, SSYGST )
41 #define PLASMA_SSYTRD PLASMA_FNAME(ssytrd, SSYTRD )
42 #define PLASMA_SPOSV PLASMA_FNAME(sposv, SPOSV )
43 #define PLASMA_SPOTRF PLASMA_FNAME(spotrf, SPOTRF )
44 #define PLASMA_SPOTRI PLASMA_FNAME(spotri, SPOTRI )
45 #define PLASMA_SPOTRS PLASMA_FNAME(spotrs, SPOTRS )
46 #define PLASMA_STRSMPL PLASMA_FNAME(strsmpl, STRSMPL)
47 #define PLASMA_SORGBR PLASMA_FNAME(sorgbr, SORGBR )
48 #define PLASMA_SORGHR PLASMA_FNAME(sorghr, SORGHR )
49 #define PLASMA_SORGLQ PLASMA_FNAME(sorglq, SORGLQ )
50 #define PLASMA_SORGQR PLASMA_FNAME(sorgqr, SORGQR )
51 #define PLASMA_SORGTR PLASMA_FNAME(sorgtr, SORGTR )
52 #define PLASMA_SORMLQ PLASMA_FNAME(sormlq, SORMLQ )
53 #define PLASMA_SORMQR PLASMA_FNAME(sormqr, SORMQR )
54 #define PLASMA_STRSM PLASMA_FNAME(strsm, STRSM )
55 #define PLASMA_SGEMM PLASMA_FNAME(sgemm, SGEMM )
56 #define PLASMA_SSYMM PLASMA_FNAME(ssymm, SSYMM )
57 #define PLASMA_SSYRK PLASMA_FNAME(ssyrk, SSYRK )
59 #define PLASMA_SSYMM PLASMA_FNAME(ssymm, SSYMM )
60 #define PLASMA_SSYRK PLASMA_FNAME(ssyrk, SSYRK )
66 #define PLASMA_SGEBRD_TILE PLASMA_TILE_FNAME(sgebrd, SGEBRD )
67 #define PLASMA_SGEEV_TILE PLASMA_TILE_FNAME(sgeev, SGEEV )
68 #define PLASMA_SGEHRD_TILE PLASMA_TILE_FNAME(sgehrd, SGEHRD )
69 #define PLASMA_SGELQF_TILE PLASMA_TILE_FNAME(sgelqf, SGELQF )
70 #define PLASMA_SGELQS_TILE PLASMA_TILE_FNAME(sgelqs, SGELQS )
71 #define PLASMA_SGELS_TILE PLASMA_TILE_FNAME(sgels, SGELS )
72 #define PLASMA_SGEQRF_TILE PLASMA_TILE_FNAME(sgeqrf, SGEQRF )
73 #define PLASMA_SGEQRS_TILE PLASMA_TILE_FNAME(sgeqrs, SGEQRS )
74 #define PLASMA_SGESV_TILE PLASMA_TILE_FNAME(sgesv, SGESV )
75 #define PLASMA_SGESVD_TILE PLASMA_TILE_FNAME(sgesvd, SGESVD )
76 #define PLASMA_SGETRF_TILE PLASMA_TILE_FNAME(sgetrf, SGETRF )
77 #define PLASMA_SGETRS_TILE PLASMA_TILE_FNAME(sgetrs, SGETRS )
78 #define PLASMA_SGESV_INCPIV_TILE PLASMA_TILE_FNAME(sgesv_incpiv, SGESV_INCPIV )
79 #define PLASMA_SGETRF_INCPIV_TILE PLASMA_TILE_FNAME(sgetrf_incpiv, SGETRF_INCPIV )
80 #define PLASMA_SGETRS_INCPIV_TILE PLASMA_TILE_FNAME(sgetrs_incpiv, SGETRS_INCPIV )
81 #define PLASMA_SSYEV_TILE PLASMA_TILE_FNAME(ssyev, SSYEV )
82 #define PLASMA_SSYGV_TILE PLASMA_TILE_FNAME(ssygv, SSYGV )
83 #define PLASMA_SSYGST_TILE PLASMA_TILE_FNAME(ssygst, SSYGST )
84 #define PLASMA_SSYTRD_TILE PLASMA_TILE_FNAME(ssytrd, SSYTRD )
85 #define PLASMA_SPOSV_TILE PLASMA_TILE_FNAME(sposv, SPOSV )
86 #define PLASMA_SPOTRF_TILE PLASMA_TILE_FNAME(spotrf, SPOTRF )
87 #define PLASMA_SPOTRI_TILE PLASMA_TILE_FNAME(spotri, SPOTRI )
88 #define PLASMA_SPOTRS_TILE PLASMA_TILE_FNAME(spotrs, SPOTRS )
89 #define PLASMA_STRSM_TILE PLASMA_TILE_FNAME(strsm, STRSM )
90 #define PLASMA_STRSMPL_TILE PLASMA_TILE_FNAME(strsmpl, STRSMPL)
91 #define PLASMA_SORGBR_TILE PLASMA_TILE_FNAME(sorgbr, SORGBR )
92 #define PLASMA_SORGHR_TILE PLASMA_TILE_FNAME(sorghr, SORGHR )
93 #define PLASMA_SORGLQ_TILE PLASMA_TILE_FNAME(sorglq, SORGLQ )
94 #define PLASMA_SORGQR_TILE PLASMA_TILE_FNAME(sorgqr, SORGQR )
95 #define PLASMA_SORGTR_TILE PLASMA_TILE_FNAME(sorgtr, SORGTR )
96 #define PLASMA_SORMLQ_TILE PLASMA_TILE_FNAME(sormlq, SORMLQ )
97 #define PLASMA_SORMQR_TILE PLASMA_TILE_FNAME(sormqr, SORMQR )
98 #define PLASMA_SGEMM_TILE PLASMA_TILE_FNAME(sgemm, SGEMM )
99 #define PLASMA_SSYMM_TILE PLASMA_TILE_FNAME(ssymm, SSYMM )
100 #define PLASMA_SSYRK_TILE PLASMA_TILE_FNAME(ssyrk, SSYRK )
102 #define PLASMA_SSYMM_TILE PLASMA_TILE_FNAME(ssymm, SSYMM )
103 #define PLASMA_SSYRK_TILE PLASMA_TILE_FNAME(ssyrk, SSYRK )
109 #define PLASMA_ALLOC_WORKSPACE_SGEBRD PLASMA_WS_FNAME(sgehrd, SGEBRD)
110 #define PLASMA_ALLOC_WORKSPACE_SGEEV PLASMA_WS_FNAME(sgeev, SGEEV )
111 #define PLASMA_ALLOC_WORKSPACE_SGEHRD PLASMA_WS_FNAME(sgehrd, SGEHRD)
112 #define PLASMA_ALLOC_WORKSPACE_SGELQF PLASMA_WS_FNAME(sgelqf, SGELQF)
113 #define PLASMA_ALLOC_WORKSPACE_SGELS PLASMA_WS_FNAME(sgels, SGELS )
114 #define PLASMA_ALLOC_WORKSPACE_SGEQRF PLASMA_WS_FNAME(sgeqrf, SGEQRF)
115 #define PLASMA_ALLOC_WORKSPACE_SGESV_INCPIV PLASMA_WS_FNAME(sgesv_incpiv, SGESV_INCPIV )
116 #define PLASMA_ALLOC_WORKSPACE_SGETRF_INCPIV PLASMA_WS_FNAME(sgetrf_incpiv, SGETRF_INCPIV)
117 #define PLASMA_ALLOC_WORKSPACE_SGESVD PLASMA_WS_FNAME(sgesvd, SGESVD)
118 #define PLASMA_ALLOC_WORKSPACE_SSYEV PLASMA_WS_FNAME(ssyev, SSYEV )
119 #define PLASMA_ALLOC_WORKSPACE_SSYGV PLASMA_WS_FNAME(ssygv, SSYGV )
120 #define PLASMA_ALLOC_WORKSPACE_SSYTRD PLASMA_WS_FNAME(ssytrd, SSYTRD)
125 #define PLASMA_ALLOC_WORKSPACE_SGELQF_TILE PLASMA_WST_FNAME(sgelqf, SGELQF )
126 #define PLASMA_ALLOC_WORKSPACE_SGELS_TILE PLASMA_WST_FNAME(sgels, SGELS )
127 #define PLASMA_ALLOC_WORKSPACE_SGEQRF_TILE PLASMA_WST_FNAME(sgeqrf, SGEQRF )
128 #define PLASMA_ALLOC_WORKSPACE_SGESV_INCPIV_TILE PLASMA_WST_FNAME(sgesv_incpiv, SGESV_INCPIV )
129 #define PLASMA_ALLOC_WORKSPACE_SGETRF_INCPIV_TILE PLASMA_WST_FNAME(sgetrf_incpiv, SGETRF_INCPIV)
131 #define PLASMA_SLAPACK_TO_TILE PLASMA_FNAME(slapack_to_tile, SLAPACK_TO_TILE)
132 #define PLASMA_STILE_TO_LAPACK PLASMA_FNAME(stile_to_lapack, STILE_TO_LAPACK)
141 void 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, intptr_t *descT,
int *INFO)
142 { *INFO =
PLASMA_sgebrd(*jobu, *jobvt, *M, *N, A, *LDA, D, E, U, *LDU, VT, *LDVT, (
PLASMA_desc *)(*descT)); }
147 void PLASMA_SGELQS(
int *M,
int *N,
int *NRHS,
float *
A,
int *LDA,
float **
T,
float *
B,
int *LDB,
int *INFO)
148 { *INFO =
PLASMA_sgelqs(*M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
151 { *INFO =
PLASMA_sgels(*trans, *M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
156 void PLASMA_SGEQRS(
int *M,
int *N,
int *NRHS,
float *
A,
int *LDA,
float **
T,
float *
B,
int *LDB,
int *INFO)
157 { *INFO =
PLASMA_sgeqrs(*M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
160 { *INFO =
PLASMA_sgesv(*N, *NRHS, A, *LDA, IPIV, B, *LDB); }
162 void 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, intptr_t *
T,
int *INFO)
163 { *INFO =
PLASMA_sgesvd(*jobu, *jobvt, *M, *N, A, *LDA, S, U, *LDU, VT, *LDVT, (
PLASMA_desc *)(*T)); }
169 { *INFO =
PLASMA_sgetrs(*trans, *N, *NRHS, A, *LDA, IPIV, B, *LDB); }
171 void PLASMA_SGESV_INCPIV(
int *N,
int *NRHS,
float *
A,
int *LDA,
float **LH,
int **IPIVH,
float *
B,
int *LDB,
int *INFO)
183 void PLASMA_SSYGV(
PLASMA_enum *
itype,
PLASMA_enum *jobz,
PLASMA_enum *
uplo,
int *N,
float *
A,
int *LDA,
float *
B,
int *LDB,
float *
W, intptr_t *
T,
float *
Q,
int *LDQ,
int *INFO)
184 { *INFO =
PLASMA_ssygv(*itype, *jobz, *uplo, *N, A, *LDA, B, *LDB, W, (
PLASMA_desc*)(*T), Q, *LDQ); }
187 { *INFO =
PLASMA_ssygst(*itype, *uplo, *N, A, *LDA, B, *LDB); }
189 void PLASMA_SSYTRD(
PLASMA_enum *jobz,
PLASMA_enum *
uplo,
int *N,
float *
A,
int *LDA,
float *D,
float *E, intptr_t *
T,
float *
Q,
int *LDQ,
int *INFO)
193 { *INFO =
PLASMA_sposv(*uplo, *N, *NRHS, A, *LDA, B, *LDB); }
202 { *INFO =
PLASMA_spotrs(*uplo, *N, *NRHS, A, *LDA, B, *LDB); }
204 void PLASMA_STRSMPL(
int *N,
int *NRHS,
float *
A,
int *LDA,
float **LH,
int **IPIVH,
float *
B,
int *LDB,
int *INFO)
205 { *INFO =
PLASMA_strsmpl(*N, *NRHS, A, *LDA, *LH, *IPIVH, B, *LDB); }
207 void PLASMA_SORGLQ(
int *M,
int *N,
int *K,
float *
A,
int *LDA,
float **
T,
float *
B,
int *LDB,
int *INFO)
210 void PLASMA_SORGQR(
int *M,
int *N,
int *K,
float *
A,
int *LDA,
float **
T,
float *
B,
int *LDB,
int *INFO)
213 void PLASMA_SORMLQ(
PLASMA_enum *
side,
PLASMA_enum *
trans,
int *M,
int *N,
int *K,
float *
A,
int *LDA,
float **
T,
float *
B,
int *LDB,
int *INFO)
214 { *INFO =
PLASMA_sormlq(*side, *trans, *M, *N, *K, A, *LDA, *T, B, *LDB); }
216 void PLASMA_SORMQR(
PLASMA_enum *
side,
PLASMA_enum *
trans,
int *M,
int *N,
int *K,
float *
A,
int *LDA,
float **
T,
float *
B,
int *LDB,
int *INFO)
217 { *INFO =
PLASMA_sormqr(*side, *trans, *M, *N, *K, A, *LDA, *T, B, *LDB); }
219 void 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,
int *INFO)
220 { *INFO =
PLASMA_strsm(*side, *uplo, *transA, *diag, *N, *NRHS, *alpha, A, *LDA, B, *LDB); }
222 void 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,
int *INFO)
223 { *INFO =
PLASMA_sgemm(*transA, *transB, *M, *N, *K, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
225 void 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,
int *INFO)
226 { *INFO =
PLASMA_ssymm(*side, *uplo, *M, *N, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
228 void PLASMA_SSYRK(
PLASMA_enum *
uplo,
PLASMA_enum *
trans,
int *N,
int *K,
float *alpha,
float *
A,
int *LDA,
float *beta,
float *
C,
int *LDC,
int *INFO)
229 { *INFO =
PLASMA_ssyrk(*uplo, *trans, *N, *K, *alpha, A, *LDA, *beta, C, *LDC); }
232 void 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,
int *INFO)
233 { *INFO =
PLASMA_ssymm(*side, *uplo, *M, *N, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
235 void PLASMA_SSYRK(
PLASMA_enum *
uplo,
PLASMA_enum *
trans,
int *N,
int *K,
float *alpha,
float *
A,
int *LDA,
float *beta,
float *
C,
int *LDC,
int *INFO)
236 { *INFO =
PLASMA_ssyrk(*uplo, *trans, *N, *K, *alpha, A, *LDA, *beta, C, *LDC); }