23 #define PLASMA_ZGEBRD PLASMA_FNAME(zgebrd, ZGEBRD )
24 #define PLASMA_ZGEEV PLASMA_FNAME(zgeev, ZGEEV )
25 #define PLASMA_ZGEHRD PLASMA_FNAME(zgehrd, ZGEHRD )
26 #define PLASMA_ZGELQF PLASMA_FNAME(zgelqf, ZGELQF )
27 #define PLASMA_ZGELQS PLASMA_FNAME(zgelqs, ZGELQS )
28 #define PLASMA_ZGELS PLASMA_FNAME(zgels, ZGELS )
29 #define PLASMA_ZGEQRF PLASMA_FNAME(zgeqrf, ZGEQRF )
30 #define PLASMA_ZGEQRS PLASMA_FNAME(zgeqrs, ZGEQRS )
31 #define PLASMA_ZGESV PLASMA_FNAME(zgesv, ZGESV )
32 #define PLASMA_ZGESVD PLASMA_FNAME(zgesvd, ZGESVD )
33 #define PLASMA_ZGETRF PLASMA_FNAME(zgetrf, ZGETRF )
34 #define PLASMA_ZGETRS PLASMA_FNAME(zgetrs, ZGETRS )
35 #define PLASMA_ZGESV_INCPIV PLASMA_FNAME(zgesv_incpiv, ZGESV_INCPIV )
36 #define PLASMA_ZGETRF_INCPIV PLASMA_FNAME(zgetrf_incpiv, ZGETRF_INCPIV )
37 #define PLASMA_ZGETRS_INCPIV PLASMA_FNAME(zgetrs_incpiv, ZGETRS_INCPIV )
38 #define PLASMA_ZHEEV PLASMA_FNAME(zheev, ZHEEV )
39 #define PLASMA_ZHEGV PLASMA_FNAME(zhegv, ZHEGV )
40 #define PLASMA_ZHEGST PLASMA_FNAME(zhegst, ZHEGST )
41 #define PLASMA_ZHETRD PLASMA_FNAME(zhetrd, ZHETRD )
42 #define PLASMA_ZPOSV PLASMA_FNAME(zposv, ZPOSV )
43 #define PLASMA_ZPOTRF PLASMA_FNAME(zpotrf, ZPOTRF )
44 #define PLASMA_ZPOTRI PLASMA_FNAME(zpotri, ZPOTRI )
45 #define PLASMA_ZPOTRS PLASMA_FNAME(zpotrs, ZPOTRS )
46 #define PLASMA_ZTRSMPL PLASMA_FNAME(ztrsmpl, ZTRSMPL)
47 #define PLASMA_ZUNGBR PLASMA_FNAME(zungbr, ZUNGBR )
48 #define PLASMA_ZUNGHR PLASMA_FNAME(zunghr, ZUNGHR )
49 #define PLASMA_ZUNGLQ PLASMA_FNAME(zunglq, ZUNGLQ )
50 #define PLASMA_ZUNGQR PLASMA_FNAME(zungqr, ZUNGQR )
51 #define PLASMA_ZUNGTR PLASMA_FNAME(zungtr, ZUNGTR )
52 #define PLASMA_ZUNMLQ PLASMA_FNAME(zunmlq, ZUNMLQ )
53 #define PLASMA_ZUNMQR PLASMA_FNAME(zunmqr, ZUNMQR )
54 #define PLASMA_ZTRSM PLASMA_FNAME(ztrsm, ZTRSM )
55 #define PLASMA_ZGEMM PLASMA_FNAME(zgemm, ZGEMM )
56 #define PLASMA_ZSYMM PLASMA_FNAME(zsymm, ZSYMM )
57 #define PLASMA_ZSYRK PLASMA_FNAME(zsyrk, ZSYRK )
59 #define PLASMA_ZHEMM PLASMA_FNAME(zhemm, ZHEMM )
60 #define PLASMA_ZHERK PLASMA_FNAME(zherk, ZHERK )
66 #define PLASMA_ZGEBRD_TILE PLASMA_TILE_FNAME(zgebrd, ZGEBRD )
67 #define PLASMA_ZGEEV_TILE PLASMA_TILE_FNAME(zgeev, ZGEEV )
68 #define PLASMA_ZGEHRD_TILE PLASMA_TILE_FNAME(zgehrd, ZGEHRD )
69 #define PLASMA_ZGELQF_TILE PLASMA_TILE_FNAME(zgelqf, ZGELQF )
70 #define PLASMA_ZGELQS_TILE PLASMA_TILE_FNAME(zgelqs, ZGELQS )
71 #define PLASMA_ZGELS_TILE PLASMA_TILE_FNAME(zgels, ZGELS )
72 #define PLASMA_ZGEQRF_TILE PLASMA_TILE_FNAME(zgeqrf, ZGEQRF )
73 #define PLASMA_ZGEQRS_TILE PLASMA_TILE_FNAME(zgeqrs, ZGEQRS )
74 #define PLASMA_ZGESV_TILE PLASMA_TILE_FNAME(zgesv, ZGESV )
75 #define PLASMA_ZGESVD_TILE PLASMA_TILE_FNAME(zgesvd, ZGESVD )
76 #define PLASMA_ZGETRF_TILE PLASMA_TILE_FNAME(zgetrf, ZGETRF )
77 #define PLASMA_ZGETRS_TILE PLASMA_TILE_FNAME(zgetrs, ZGETRS )
78 #define PLASMA_ZGESV_INCPIV_TILE PLASMA_TILE_FNAME(zgesv_incpiv, ZGESV_INCPIV )
79 #define PLASMA_ZGETRF_INCPIV_TILE PLASMA_TILE_FNAME(zgetrf_incpiv, ZGETRF_INCPIV )
80 #define PLASMA_ZGETRS_INCPIV_TILE PLASMA_TILE_FNAME(zgetrs_incpiv, ZGETRS_INCPIV )
81 #define PLASMA_ZHEEV_TILE PLASMA_TILE_FNAME(zheev, ZHEEV )
82 #define PLASMA_ZHEGV_TILE PLASMA_TILE_FNAME(zhegv, ZHEGV )
83 #define PLASMA_ZHEGST_TILE PLASMA_TILE_FNAME(zhegst, ZHEGST )
84 #define PLASMA_ZHETRD_TILE PLASMA_TILE_FNAME(zhetrd, ZHETRD )
85 #define PLASMA_ZPOSV_TILE PLASMA_TILE_FNAME(zposv, ZPOSV )
86 #define PLASMA_ZPOTRF_TILE PLASMA_TILE_FNAME(zpotrf, ZPOTRF )
87 #define PLASMA_ZPOTRI_TILE PLASMA_TILE_FNAME(zpotri, ZPOTRI )
88 #define PLASMA_ZPOTRS_TILE PLASMA_TILE_FNAME(zpotrs, ZPOTRS )
89 #define PLASMA_ZTRSM_TILE PLASMA_TILE_FNAME(ztrsm, ZTRSM )
90 #define PLASMA_ZTRSMPL_TILE PLASMA_TILE_FNAME(ztrsmpl, ZTRSMPL)
91 #define PLASMA_ZUNGBR_TILE PLASMA_TILE_FNAME(zungbr, ZUNGBR )
92 #define PLASMA_ZUNGHR_TILE PLASMA_TILE_FNAME(zunghr, ZUNGHR )
93 #define PLASMA_ZUNGLQ_TILE PLASMA_TILE_FNAME(zunglq, ZUNGLQ )
94 #define PLASMA_ZUNGQR_TILE PLASMA_TILE_FNAME(zungqr, ZUNGQR )
95 #define PLASMA_ZUNGTR_TILE PLASMA_TILE_FNAME(zungtr, ZUNGTR )
96 #define PLASMA_ZUNMLQ_TILE PLASMA_TILE_FNAME(zunmlq, ZUNMLQ )
97 #define PLASMA_ZUNMQR_TILE PLASMA_TILE_FNAME(zunmqr, ZUNMQR )
98 #define PLASMA_ZGEMM_TILE PLASMA_TILE_FNAME(zgemm, ZGEMM )
99 #define PLASMA_ZSYMM_TILE PLASMA_TILE_FNAME(zsymm, ZSYMM )
100 #define PLASMA_ZSYRK_TILE PLASMA_TILE_FNAME(zsyrk, ZSYRK )
102 #define PLASMA_ZHEMM_TILE PLASMA_TILE_FNAME(zhemm, ZHEMM )
103 #define PLASMA_ZHERK_TILE PLASMA_TILE_FNAME(zherk, ZHERK )
109 #define PLASMA_ALLOC_WORKSPACE_ZGEBRD PLASMA_WS_FNAME(zgehrd, ZGEBRD)
110 #define PLASMA_ALLOC_WORKSPACE_ZGEEV PLASMA_WS_FNAME(zgeev, ZGEEV )
111 #define PLASMA_ALLOC_WORKSPACE_ZGEHRD PLASMA_WS_FNAME(zgehrd, ZGEHRD)
112 #define PLASMA_ALLOC_WORKSPACE_ZGELQF PLASMA_WS_FNAME(zgelqf, ZGELQF)
113 #define PLASMA_ALLOC_WORKSPACE_ZGELS PLASMA_WS_FNAME(zgels, ZGELS )
114 #define PLASMA_ALLOC_WORKSPACE_ZGEQRF PLASMA_WS_FNAME(zgeqrf, ZGEQRF)
115 #define PLASMA_ALLOC_WORKSPACE_ZGESV_INCPIV PLASMA_WS_FNAME(zgesv_incpiv, ZGESV_INCPIV )
116 #define PLASMA_ALLOC_WORKSPACE_ZGETRF_INCPIV PLASMA_WS_FNAME(zgetrf_incpiv, ZGETRF_INCPIV)
117 #define PLASMA_ALLOC_WORKSPACE_ZGESVD PLASMA_WS_FNAME(zgesvd, ZGESVD)
118 #define PLASMA_ALLOC_WORKSPACE_ZHEEV PLASMA_WS_FNAME(zheev, ZHEEV )
119 #define PLASMA_ALLOC_WORKSPACE_ZHEGV PLASMA_WS_FNAME(zhegv, ZHEGV )
120 #define PLASMA_ALLOC_WORKSPACE_ZHETRD PLASMA_WS_FNAME(zhetrd, ZHETRD)
125 #define PLASMA_ALLOC_WORKSPACE_ZGELQF_TILE PLASMA_WST_FNAME(zgelqf, ZGELQF )
126 #define PLASMA_ALLOC_WORKSPACE_ZGELS_TILE PLASMA_WST_FNAME(zgels, ZGELS )
127 #define PLASMA_ALLOC_WORKSPACE_ZGEQRF_TILE PLASMA_WST_FNAME(zgeqrf, ZGEQRF )
128 #define PLASMA_ALLOC_WORKSPACE_ZGESV_INCPIV_TILE PLASMA_WST_FNAME(zgesv_incpiv, ZGESV_INCPIV )
129 #define PLASMA_ALLOC_WORKSPACE_ZGETRF_INCPIV_TILE PLASMA_WST_FNAME(zgetrf_incpiv, ZGETRF_INCPIV)
131 #define PLASMA_ZLAPACK_TO_TILE PLASMA_FNAME(zlapack_to_tile, ZLAPACK_TO_TILE)
132 #define PLASMA_ZTILE_TO_LAPACK PLASMA_FNAME(ztile_to_lapack, ZTILE_TO_LAPACK)
141 void PLASMA_ZGEBRD(
PLASMA_enum *jobu,
PLASMA_enum *jobvt,
int *M,
int *N,
PLASMA_Complex64_t *
A,
int *LDA,
double *D,
double *E,
PLASMA_Complex64_t *U,
int *LDU,
PLASMA_Complex64_t *VT,
int *LDVT, intptr_t *descT,
int *INFO)
142 { *INFO =
PLASMA_zgebrd(*jobu, *jobvt, *M, *N, A, *LDA, D, E, U, *LDU, VT, *LDVT, (
PLASMA_desc *)(*descT)); }
148 { *INFO =
PLASMA_zgelqs(*M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
151 { *INFO =
PLASMA_zgels(*trans, *M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
157 { *INFO =
PLASMA_zgeqrs(*M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
160 { *INFO =
PLASMA_zgesv(*N, *NRHS, A, *LDA, IPIV, B, *LDB); }
162 void PLASMA_ZGESVD(
PLASMA_enum *jobu,
PLASMA_enum *jobvt,
int *M,
int *N,
PLASMA_Complex64_t *
A,
int *LDA,
double *S,
PLASMA_Complex64_t *U,
int *LDU,
PLASMA_Complex64_t *VT,
int *LDVT, intptr_t *
T,
int *INFO)
163 { *INFO =
PLASMA_zgesvd(*jobu, *jobvt, *M, *N, A, *LDA, S, U, *LDU, VT, *LDVT, (
PLASMA_desc *)(*T)); }
169 { *INFO =
PLASMA_zgetrs(*trans, *N, *NRHS, A, *LDA, IPIV, B, *LDB); }
183 void PLASMA_ZHEGV(
PLASMA_enum *
itype,
PLASMA_enum *jobz,
PLASMA_enum *
uplo,
int *N,
PLASMA_Complex64_t *
A,
int *LDA,
PLASMA_Complex64_t *
B,
int *LDB,
double *
W, intptr_t *
T,
PLASMA_Complex64_t *
Q,
int *LDQ,
int *INFO)
184 { *INFO =
PLASMA_zhegv(*itype, *jobz, *uplo, *N, A, *LDA, B, *LDB, W, (
PLASMA_desc*)(*T), Q, *LDQ); }
187 { *INFO =
PLASMA_zhegst(*itype, *uplo, *N, A, *LDA, B, *LDB); }
189 void PLASMA_ZHETRD(
PLASMA_enum *jobz,
PLASMA_enum *
uplo,
int *N,
PLASMA_Complex64_t *
A,
int *LDA,
double *D,
double *E, intptr_t *
T,
PLASMA_Complex64_t *
Q,
int *LDQ,
int *INFO)
193 { *INFO =
PLASMA_zposv(*uplo, *N, *NRHS, A, *LDA, B, *LDB); }
202 { *INFO =
PLASMA_zpotrs(*uplo, *N, *NRHS, A, *LDA, B, *LDB); }
205 { *INFO =
PLASMA_ztrsmpl(*N, *NRHS, A, *LDA, *LH, *IPIVH, B, *LDB); }
213 void PLASMA_ZUNMLQ(
PLASMA_enum *
side,
PLASMA_enum *
trans,
int *M,
int *N,
int *K,
PLASMA_Complex64_t *
A,
int *LDA,
PLASMA_Complex64_t **
T,
PLASMA_Complex64_t *
B,
int *LDB,
int *INFO)
214 { *INFO =
PLASMA_zunmlq(*side, *trans, *M, *N, *K, A, *LDA, *T, B, *LDB); }
216 void PLASMA_ZUNMQR(
PLASMA_enum *
side,
PLASMA_enum *
trans,
int *M,
int *N,
int *K,
PLASMA_Complex64_t *
A,
int *LDA,
PLASMA_Complex64_t **
T,
PLASMA_Complex64_t *
B,
int *LDB,
int *INFO)
217 { *INFO =
PLASMA_zunmqr(*side, *trans, *M, *N, *K, A, *LDA, *T, B, *LDB); }
219 void PLASMA_ZTRSM(
PLASMA_enum *
side,
PLASMA_enum *
uplo,
PLASMA_enum *transA,
PLASMA_enum *
diag,
int *N,
int *NRHS,
PLASMA_Complex64_t *alpha,
PLASMA_Complex64_t *
A,
int *LDA,
PLASMA_Complex64_t *
B,
int *LDB,
int *INFO)
220 { *INFO =
PLASMA_ztrsm(*side, *uplo, *transA, *diag, *N, *NRHS, *alpha, A, *LDA, B, *LDB); }
222 void PLASMA_ZGEMM(
PLASMA_enum *transA,
PLASMA_enum *transB,
int *M,
int *N,
int *K,
PLASMA_Complex64_t *alpha,
PLASMA_Complex64_t *
A,
int *LDA,
PLASMA_Complex64_t *
B,
int *LDB,
PLASMA_Complex64_t *beta,
PLASMA_Complex64_t *
C,
int *LDC,
int *INFO)
223 { *INFO =
PLASMA_zgemm(*transA, *transB, *M, *N, *K, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
225 void PLASMA_ZSYMM(
PLASMA_enum *
side,
PLASMA_enum *
uplo,
int *M,
int *N,
PLASMA_Complex64_t *alpha,
PLASMA_Complex64_t *
A,
int *LDA,
PLASMA_Complex64_t *
B,
int *LDB,
PLASMA_Complex64_t *beta,
PLASMA_Complex64_t *
C,
int *LDC,
int *INFO)
226 { *INFO =
PLASMA_zsymm(*side, *uplo, *M, *N, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
228 void PLASMA_ZSYRK(
PLASMA_enum *
uplo,
PLASMA_enum *
trans,
int *N,
int *K,
PLASMA_Complex64_t *alpha,
PLASMA_Complex64_t *
A,
int *LDA,
PLASMA_Complex64_t *beta,
PLASMA_Complex64_t *
C,
int *LDC,
int *INFO)
229 { *INFO =
PLASMA_zsyrk(*uplo, *trans, *N, *K, *alpha, A, *LDA, *beta, C, *LDC); }
232 void PLASMA_ZHEMM(
PLASMA_enum *
side,
PLASMA_enum *
uplo,
int *M,
int *N,
PLASMA_Complex64_t *alpha,
PLASMA_Complex64_t *
A,
int *LDA,
PLASMA_Complex64_t *
B,
int *LDB,
PLASMA_Complex64_t *beta,
PLASMA_Complex64_t *
C,
int *LDC,
int *INFO)
233 { *INFO =
PLASMA_zhemm(*side, *uplo, *M, *N, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
235 void PLASMA_ZHERK(
PLASMA_enum *
uplo,
PLASMA_enum *
trans,
int *N,
int *K,
PLASMA_Complex64_t *alpha,
PLASMA_Complex64_t *
A,
int *LDA,
double *beta,
PLASMA_Complex64_t *
C,
int *LDC,
int *INFO)
236 { *INFO =
PLASMA_zherk(*uplo, *trans, *N, *K, *alpha, A, *LDA, *beta, C, *LDC); }