23 #define PLASMA_DGEBRD PLASMA_FNAME(dgebrd, DGEBRD )
24 #define PLASMA_DGEEV PLASMA_FNAME(dgeev, DGEEV )
25 #define PLASMA_DGEHRD PLASMA_FNAME(dgehrd, DGEHRD )
26 #define PLASMA_DGELQF PLASMA_FNAME(dgelqf, DGELQF )
27 #define PLASMA_DGELQS PLASMA_FNAME(dgelqs, DGELQS )
28 #define PLASMA_DGELS PLASMA_FNAME(dgels, DGELS )
29 #define PLASMA_DGEQRF PLASMA_FNAME(dgeqrf, DGEQRF )
30 #define PLASMA_DGEQRS PLASMA_FNAME(dgeqrs, DGEQRS )
31 #define PLASMA_DGESV PLASMA_FNAME(dgesv, DGESV )
32 #define PLASMA_DGESVD PLASMA_FNAME(dgesvd, DGESVD )
33 #define PLASMA_DGETRF PLASMA_FNAME(dgetrf, DGETRF )
34 #define PLASMA_DGETRS PLASMA_FNAME(dgetrs, DGETRS )
35 #define PLASMA_DGESV_INCPIV PLASMA_FNAME(dgesv_incpiv, DGESV_INCPIV )
36 #define PLASMA_DGETRF_INCPIV PLASMA_FNAME(dgetrf_incpiv, DGETRF_INCPIV )
37 #define PLASMA_DGETRS_INCPIV PLASMA_FNAME(dgetrs_incpiv, DGETRS_INCPIV )
38 #define PLASMA_DSYEV PLASMA_FNAME(dsyev, DSYEV )
39 #define PLASMA_DSYGV PLASMA_FNAME(dsygv, DSYGV )
40 #define PLASMA_DSYGST PLASMA_FNAME(dsygst, DSYGST )
41 #define PLASMA_DSYTRD PLASMA_FNAME(dsytrd, DSYTRD )
42 #define PLASMA_DPOSV PLASMA_FNAME(dposv, DPOSV )
43 #define PLASMA_DPOTRF PLASMA_FNAME(dpotrf, DPOTRF )
44 #define PLASMA_DPOTRI PLASMA_FNAME(dpotri, DPOTRI )
45 #define PLASMA_DPOTRS PLASMA_FNAME(dpotrs, DPOTRS )
46 #define PLASMA_DTRSMPL PLASMA_FNAME(dtrsmpl, DTRSMPL)
47 #define PLASMA_DORGBR PLASMA_FNAME(dorgbr, DORGBR )
48 #define PLASMA_DORGHR PLASMA_FNAME(dorghr, DORGHR )
49 #define PLASMA_DORGLQ PLASMA_FNAME(dorglq, DORGLQ )
50 #define PLASMA_DORGQR PLASMA_FNAME(dorgqr, DORGQR )
51 #define PLASMA_DORGTR PLASMA_FNAME(dorgtr, DORGTR )
52 #define PLASMA_DORMLQ PLASMA_FNAME(dormlq, DORMLQ )
53 #define PLASMA_DORMQR PLASMA_FNAME(dormqr, DORMQR )
54 #define PLASMA_DTRSM PLASMA_FNAME(dtrsm, DTRSM )
55 #define PLASMA_DGEMM PLASMA_FNAME(dgemm, DGEMM )
56 #define PLASMA_DSYMM PLASMA_FNAME(dsymm, DSYMM )
57 #define PLASMA_DSYRK PLASMA_FNAME(dsyrk, DSYRK )
59 #define PLASMA_DSYMM PLASMA_FNAME(dsymm, DSYMM )
60 #define PLASMA_DSYRK PLASMA_FNAME(dsyrk, DSYRK )
66 #define PLASMA_DGEBRD_TILE PLASMA_TILE_FNAME(dgebrd, DGEBRD )
67 #define PLASMA_DGEEV_TILE PLASMA_TILE_FNAME(dgeev, DGEEV )
68 #define PLASMA_DGEHRD_TILE PLASMA_TILE_FNAME(dgehrd, DGEHRD )
69 #define PLASMA_DGELQF_TILE PLASMA_TILE_FNAME(dgelqf, DGELQF )
70 #define PLASMA_DGELQS_TILE PLASMA_TILE_FNAME(dgelqs, DGELQS )
71 #define PLASMA_DGELS_TILE PLASMA_TILE_FNAME(dgels, DGELS )
72 #define PLASMA_DGEQRF_TILE PLASMA_TILE_FNAME(dgeqrf, DGEQRF )
73 #define PLASMA_DGEQRS_TILE PLASMA_TILE_FNAME(dgeqrs, DGEQRS )
74 #define PLASMA_DGESV_TILE PLASMA_TILE_FNAME(dgesv, DGESV )
75 #define PLASMA_DGESVD_TILE PLASMA_TILE_FNAME(dgesvd, DGESVD )
76 #define PLASMA_DGETRF_TILE PLASMA_TILE_FNAME(dgetrf, DGETRF )
77 #define PLASMA_DGETRS_TILE PLASMA_TILE_FNAME(dgetrs, DGETRS )
78 #define PLASMA_DGESV_INCPIV_TILE PLASMA_TILE_FNAME(dgesv_incpiv, DGESV_INCPIV )
79 #define PLASMA_DGETRF_INCPIV_TILE PLASMA_TILE_FNAME(dgetrf_incpiv, DGETRF_INCPIV )
80 #define PLASMA_DGETRS_INCPIV_TILE PLASMA_TILE_FNAME(dgetrs_incpiv, DGETRS_INCPIV )
81 #define PLASMA_DSYEV_TILE PLASMA_TILE_FNAME(dsyev, DSYEV )
82 #define PLASMA_DSYGV_TILE PLASMA_TILE_FNAME(dsygv, DSYGV )
83 #define PLASMA_DSYGST_TILE PLASMA_TILE_FNAME(dsygst, DSYGST )
84 #define PLASMA_DSYTRD_TILE PLASMA_TILE_FNAME(dsytrd, DSYTRD )
85 #define PLASMA_DPOSV_TILE PLASMA_TILE_FNAME(dposv, DPOSV )
86 #define PLASMA_DPOTRF_TILE PLASMA_TILE_FNAME(dpotrf, DPOTRF )
87 #define PLASMA_DPOTRI_TILE PLASMA_TILE_FNAME(dpotri, DPOTRI )
88 #define PLASMA_DPOTRS_TILE PLASMA_TILE_FNAME(dpotrs, DPOTRS )
89 #define PLASMA_DTRSM_TILE PLASMA_TILE_FNAME(dtrsm, DTRSM )
90 #define PLASMA_DTRSMPL_TILE PLASMA_TILE_FNAME(dtrsmpl, DTRSMPL)
91 #define PLASMA_DORGBR_TILE PLASMA_TILE_FNAME(dorgbr, DORGBR )
92 #define PLASMA_DORGHR_TILE PLASMA_TILE_FNAME(dorghr, DORGHR )
93 #define PLASMA_DORGLQ_TILE PLASMA_TILE_FNAME(dorglq, DORGLQ )
94 #define PLASMA_DORGQR_TILE PLASMA_TILE_FNAME(dorgqr, DORGQR )
95 #define PLASMA_DORGTR_TILE PLASMA_TILE_FNAME(dorgtr, DORGTR )
96 #define PLASMA_DORMLQ_TILE PLASMA_TILE_FNAME(dormlq, DORMLQ )
97 #define PLASMA_DORMQR_TILE PLASMA_TILE_FNAME(dormqr, DORMQR )
98 #define PLASMA_DGEMM_TILE PLASMA_TILE_FNAME(dgemm, DGEMM )
99 #define PLASMA_DSYMM_TILE PLASMA_TILE_FNAME(dsymm, DSYMM )
100 #define PLASMA_DSYRK_TILE PLASMA_TILE_FNAME(dsyrk, DSYRK )
102 #define PLASMA_DSYMM_TILE PLASMA_TILE_FNAME(dsymm, DSYMM )
103 #define PLASMA_DSYRK_TILE PLASMA_TILE_FNAME(dsyrk, DSYRK )
109 #define PLASMA_ALLOC_WORKSPACE_DGEBRD PLASMA_WS_FNAME(dgehrd, DGEBRD)
110 #define PLASMA_ALLOC_WORKSPACE_DGEEV PLASMA_WS_FNAME(dgeev, DGEEV )
111 #define PLASMA_ALLOC_WORKSPACE_DGEHRD PLASMA_WS_FNAME(dgehrd, DGEHRD)
112 #define PLASMA_ALLOC_WORKSPACE_DGELQF PLASMA_WS_FNAME(dgelqf, DGELQF)
113 #define PLASMA_ALLOC_WORKSPACE_DGELS PLASMA_WS_FNAME(dgels, DGELS )
114 #define PLASMA_ALLOC_WORKSPACE_DGEQRF PLASMA_WS_FNAME(dgeqrf, DGEQRF)
115 #define PLASMA_ALLOC_WORKSPACE_DGESV_INCPIV PLASMA_WS_FNAME(dgesv_incpiv, DGESV_INCPIV )
116 #define PLASMA_ALLOC_WORKSPACE_DGETRF_INCPIV PLASMA_WS_FNAME(dgetrf_incpiv, DGETRF_INCPIV)
117 #define PLASMA_ALLOC_WORKSPACE_DGESVD PLASMA_WS_FNAME(dgesvd, DGESVD)
118 #define PLASMA_ALLOC_WORKSPACE_DSYEV PLASMA_WS_FNAME(dsyev, DSYEV )
119 #define PLASMA_ALLOC_WORKSPACE_DSYGV PLASMA_WS_FNAME(dsygv, DSYGV )
120 #define PLASMA_ALLOC_WORKSPACE_DSYTRD PLASMA_WS_FNAME(dsytrd, DSYTRD)
125 #define PLASMA_ALLOC_WORKSPACE_DGELQF_TILE PLASMA_WST_FNAME(dgelqf, DGELQF )
126 #define PLASMA_ALLOC_WORKSPACE_DGELS_TILE PLASMA_WST_FNAME(dgels, DGELS )
127 #define PLASMA_ALLOC_WORKSPACE_DGEQRF_TILE PLASMA_WST_FNAME(dgeqrf, DGEQRF )
128 #define PLASMA_ALLOC_WORKSPACE_DGESV_INCPIV_TILE PLASMA_WST_FNAME(dgesv_incpiv, DGESV_INCPIV )
129 #define PLASMA_ALLOC_WORKSPACE_DGETRF_INCPIV_TILE PLASMA_WST_FNAME(dgetrf_incpiv, DGETRF_INCPIV)
131 #define PLASMA_DLAPACK_TO_TILE PLASMA_FNAME(dlapack_to_tile, DLAPACK_TO_TILE)
132 #define PLASMA_DTILE_TO_LAPACK PLASMA_FNAME(dtile_to_lapack, DTILE_TO_LAPACK)
141 void PLASMA_DGEBRD(
PLASMA_enum *jobu,
PLASMA_enum *jobvt,
int *M,
int *N,
double *
A,
int *LDA,
double *D,
double *E,
double *U,
int *LDU,
double *VT,
int *LDVT, intptr_t *descT,
int *INFO)
142 { *INFO =
PLASMA_dgebrd(*jobu, *jobvt, *M, *N, A, *LDA, D, E, U, *LDU, VT, *LDVT, (
PLASMA_desc *)(*descT)); }
147 void PLASMA_DGELQS(
int *M,
int *N,
int *NRHS,
double *
A,
int *LDA,
double **
T,
double *
B,
int *LDB,
int *INFO)
148 { *INFO =
PLASMA_dgelqs(*M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
151 { *INFO =
PLASMA_dgels(*trans, *M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
156 void PLASMA_DGEQRS(
int *M,
int *N,
int *NRHS,
double *
A,
int *LDA,
double **
T,
double *
B,
int *LDB,
int *INFO)
157 { *INFO =
PLASMA_dgeqrs(*M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
160 { *INFO =
PLASMA_dgesv(*N, *NRHS, A, *LDA, IPIV, B, *LDB); }
162 void PLASMA_DGESVD(
PLASMA_enum *jobu,
PLASMA_enum *jobvt,
int *M,
int *N,
double *
A,
int *LDA,
double *S,
double *U,
int *LDU,
double *VT,
int *LDVT, intptr_t *
T,
int *INFO)
163 { *INFO =
PLASMA_dgesvd(*jobu, *jobvt, *M, *N, A, *LDA, S, U, *LDU, VT, *LDVT, (
PLASMA_desc *)(*T)); }
169 { *INFO =
PLASMA_dgetrs(*trans, *N, *NRHS, A, *LDA, IPIV, B, *LDB); }
171 void PLASMA_DGESV_INCPIV(
int *N,
int *NRHS,
double *
A,
int *LDA,
double **LH,
int **IPIVH,
double *
B,
int *LDB,
int *INFO)
183 void PLASMA_DSYGV(
PLASMA_enum *
itype,
PLASMA_enum *jobz,
PLASMA_enum *
uplo,
int *N,
double *
A,
int *LDA,
double *
B,
int *LDB,
double *
W, intptr_t *
T,
double *
Q,
int *LDQ,
int *INFO)
184 { *INFO =
PLASMA_dsygv(*itype, *jobz, *uplo, *N, A, *LDA, B, *LDB, W, (
PLASMA_desc*)(*T), Q, *LDQ); }
187 { *INFO =
PLASMA_dsygst(*itype, *uplo, *N, A, *LDA, B, *LDB); }
189 void PLASMA_DSYTRD(
PLASMA_enum *jobz,
PLASMA_enum *
uplo,
int *N,
double *
A,
int *LDA,
double *D,
double *E, intptr_t *
T,
double *
Q,
int *LDQ,
int *INFO)
193 { *INFO =
PLASMA_dposv(*uplo, *N, *NRHS, A, *LDA, B, *LDB); }
202 { *INFO =
PLASMA_dpotrs(*uplo, *N, *NRHS, A, *LDA, B, *LDB); }
204 void PLASMA_DTRSMPL(
int *N,
int *NRHS,
double *
A,
int *LDA,
double **LH,
int **IPIVH,
double *
B,
int *LDB,
int *INFO)
205 { *INFO =
PLASMA_dtrsmpl(*N, *NRHS, A, *LDA, *LH, *IPIVH, B, *LDB); }
207 void PLASMA_DORGLQ(
int *M,
int *N,
int *K,
double *
A,
int *LDA,
double **
T,
double *
B,
int *LDB,
int *INFO)
210 void PLASMA_DORGQR(
int *M,
int *N,
int *K,
double *
A,
int *LDA,
double **
T,
double *
B,
int *LDB,
int *INFO)
213 void PLASMA_DORMLQ(
PLASMA_enum *
side,
PLASMA_enum *
trans,
int *M,
int *N,
int *K,
double *
A,
int *LDA,
double **
T,
double *
B,
int *LDB,
int *INFO)
214 { *INFO =
PLASMA_dormlq(*side, *trans, *M, *N, *K, A, *LDA, *T, B, *LDB); }
216 void PLASMA_DORMQR(
PLASMA_enum *
side,
PLASMA_enum *
trans,
int *M,
int *N,
int *K,
double *
A,
int *LDA,
double **
T,
double *
B,
int *LDB,
int *INFO)
217 { *INFO =
PLASMA_dormqr(*side, *trans, *M, *N, *K, A, *LDA, *T, B, *LDB); }
219 void PLASMA_DTRSM(
PLASMA_enum *
side,
PLASMA_enum *
uplo,
PLASMA_enum *transA,
PLASMA_enum *
diag,
int *N,
int *NRHS,
double *alpha,
double *
A,
int *LDA,
double *
B,
int *LDB,
int *INFO)
220 { *INFO =
PLASMA_dtrsm(*side, *uplo, *transA, *diag, *N, *NRHS, *alpha, A, *LDA, B, *LDB); }
222 void PLASMA_DGEMM(
PLASMA_enum *transA,
PLASMA_enum *transB,
int *M,
int *N,
int *K,
double *alpha,
double *
A,
int *LDA,
double *
B,
int *LDB,
double *beta,
double *
C,
int *LDC,
int *INFO)
223 { *INFO =
PLASMA_dgemm(*transA, *transB, *M, *N, *K, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
225 void PLASMA_DSYMM(
PLASMA_enum *
side,
PLASMA_enum *
uplo,
int *M,
int *N,
double *alpha,
double *
A,
int *LDA,
double *
B,
int *LDB,
double *beta,
double *
C,
int *LDC,
int *INFO)
226 { *INFO =
PLASMA_dsymm(*side, *uplo, *M, *N, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
228 void PLASMA_DSYRK(
PLASMA_enum *
uplo,
PLASMA_enum *
trans,
int *N,
int *K,
double *alpha,
double *
A,
int *LDA,
double *beta,
double *
C,
int *LDC,
int *INFO)
229 { *INFO =
PLASMA_dsyrk(*uplo, *trans, *N, *K, *alpha, A, *LDA, *beta, C, *LDC); }
232 void PLASMA_DSYMM(
PLASMA_enum *
side,
PLASMA_enum *
uplo,
int *M,
int *N,
double *alpha,
double *
A,
int *LDA,
double *
B,
int *LDB,
double *beta,
double *
C,
int *LDC,
int *INFO)
233 { *INFO =
PLASMA_dsymm(*side, *uplo, *M, *N, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
235 void PLASMA_DSYRK(
PLASMA_enum *
uplo,
PLASMA_enum *
trans,
int *N,
int *K,
double *alpha,
double *
A,
int *LDA,
double *beta,
double *
C,
int *LDC,
int *INFO)
236 { *INFO =
PLASMA_dsyrk(*uplo, *trans, *N, *K, *alpha, A, *LDA, *beta, C, *LDC); }