13 #ifndef ICL_PLASMA_D_H
14 #define ICL_PLASMA_D_H
16 #include "plasma_async.h"
17 #include "plasma_barrier.h"
18 #include "plasma_descriptor.h"
19 #include "plasma_workspace.h"
28 int plasma_damax(plasma_enum_t colrow,
30 double *pA,
int lda,
double *values);
32 int plasma_dgbsv(
int n,
int kl,
int ku,
int nrhs,
33 double *pAB,
int ldab,
int *ipiv,
36 int plasma_dgbtrf(
int m,
int n,
int kl,
int ku,
37 double *pA,
int lda,
int *ipiv);
39 int plasma_dgbtrs(plasma_enum_t transa,
int n,
int kl,
int ku,
int nrhs,
40 double *pAB,
int ldab,
46 double alpha,
double *pA,
int lda,
47 double beta,
double *pB,
int ldb);
49 int plasma_dgeinv(
int m,
int n,
double *pA,
int lda,
int *ipiv);
61 int m,
int n,
int nrhs,
66 int plasma_dgemm(plasma_enum_t transa, plasma_enum_t transb,
68 double alpha,
double *pA,
int lda,
70 double beta,
double *pC,
int ldc);
81 int plasma_dgesv(
int n,
int nrhs,
82 double *pA,
int lda,
int *ipiv,
85 int plasma_dgetrf(
int m,
int n,
86 double *pA,
int lda,
int *ipiv);
92 int plasma_dgetrs(
int n,
int nrhs,
93 double *pA,
int lda,
int *ipiv,
98 double alpha,
double *pA,
int lda,
100 double beta,
double *pC,
int ldc);
104 double alpha,
double *pA,
int lda,
106 double beta,
double *pC,
int ldc);
108 int plasma_dsyrk(plasma_enum_t uplo, plasma_enum_t trans,
110 double alpha,
double *pA,
int lda,
111 double beta,
double *pC,
int ldc);
115 double *pA,
int lda,
int *ipiv,
116 double *pT,
int ldt,
int *ipiv2);
123 double *pB,
int ldb);
130 double *pB,
int ldb);
135 double *pB,
int ldb);
139 double *pA,
int lda);
141 double plasma_dlansy(plasma_enum_t norm, plasma_enum_t uplo,
143 double *pA,
int lda);
145 double plasma_dlansy(plasma_enum_t norm, plasma_enum_t uplo,
147 double *pA,
int lda);
149 double plasma_dlantr(plasma_enum_t norm, plasma_enum_t uplo, plasma_enum_t diag,
151 double *pA,
int lda);
153 int plasma_dlascl(plasma_enum_t uplo,
154 double cfrom,
double cto,
156 double *pA,
int lda);
158 int plasma_dlaset(plasma_enum_t uplo,
160 double alpha,
double beta,
161 double *pA,
int lda);
163 int plasma_dgeswp(plasma_enum_t colrow,
166 int *ipiv,
int incx);
169 double *pA,
int lda);
171 int plasma_dpbsv(plasma_enum_t uplo,
172 int n,
int kd,
int nrhs,
173 double *pAB,
int ldab,
174 double *pB,
int ldb);
176 int plasma_dpbtrf(plasma_enum_t uplo,
178 double *pAB,
int ldab);
180 int plasma_dpbtrs(plasma_enum_t uplo,
181 int n,
int kd,
int nrhs,
182 double *pAB,
int ldab,
183 double *pB,
int ldb);
185 int plasma_dpoinv(plasma_enum_t uplo,
187 double *pA,
int lda);
192 double *pB,
int ldb);
196 double *pA,
int lda);
200 double *pA,
int lda);
205 double *pB,
int ldb);
207 int plasma_dsymm(plasma_enum_t side, plasma_enum_t uplo,
209 double alpha,
double *pA,
int lda,
211 double beta,
double *pC,
int ldc);
215 double alpha,
double *pA,
int lda,
217 double beta,
double *pC,
int ldc);
219 int plasma_dsyrk(plasma_enum_t uplo, plasma_enum_t trans,
221 double alpha,
double *pA,
int lda,
222 double beta,
double *pC,
int ldc);
224 int plasma_dtradd(plasma_enum_t uplo, plasma_enum_t transa,
226 double alpha,
double *pA,
int lda,
227 double beta,
double *pB,
int ldb);
229 int plasma_dtrmm(plasma_enum_t side, plasma_enum_t uplo,
230 plasma_enum_t transa, plasma_enum_t diag,
232 double alpha,
double *pA,
int lda,
233 double *pB,
int ldb);
235 int plasma_dtrsm(plasma_enum_t side, plasma_enum_t uplo,
236 plasma_enum_t transa, plasma_enum_t diag,
238 double alpha,
double *pA,
int lda,
239 double *pB,
int ldb);
242 int n,
double *pA,
int lda);
247 double *pQ,
int ldq);
252 double *pQ,
int ldq);
258 double *pC,
int ldc);
264 double *pC,
int ldc);
270 double *work,
double *values,
271 plasma_sequence_t *sequence, plasma_request_t *request);
274 plasma_sequence_t *sequence, plasma_request_t *request);
277 plasma_sequence_t *sequence, plasma_request_t *request);
279 void plasma_omp_dgbtrs(plasma_enum_t transa,
plasma_desc_t AB,
int *ipiv,
281 plasma_sequence_t *sequence, plasma_request_t *request);
285 plasma_sequence_t *sequence,
286 plasma_request_t *request);
290 plasma_sequence_t *sequence,
291 plasma_request_t *request);
295 plasma_sequence_t *sequence,
296 plasma_request_t *request);
300 plasma_sequence_t *sequence,
301 plasma_request_t *request);
306 plasma_sequence_t *sequence, plasma_request_t *request);
309 plasma_sequence_t *sequence, plasma_request_t *request);
312 plasma_workspace_t work,
313 plasma_sequence_t *sequence, plasma_request_t *request);
317 plasma_sequence_t *sequence, plasma_request_t *request);
322 plasma_sequence_t *sequence, plasma_request_t *request);
328 plasma_sequence_t *sequence, plasma_request_t *request);
331 plasma_workspace_t work,
332 plasma_sequence_t *sequence, plasma_request_t *request);
336 plasma_sequence_t *sequence, plasma_request_t *request);
340 plasma_sequence_t *sequence, plasma_request_t *request);
343 plasma_sequence_t *sequence, plasma_request_t *request);
346 plasma_sequence_t *sequence, plasma_request_t *request);
349 plasma_sequence_t *sequence, plasma_request_t *request);
353 plasma_sequence_t *sequence, plasma_request_t *request);
359 plasma_sequence_t *sequence, plasma_request_t *request);
365 plasma_sequence_t *sequence, plasma_request_t *request);
370 plasma_sequence_t *sequence, plasma_request_t *request);
376 plasma_sequence_t *sequence,
377 plasma_request_t *request);
384 plasma_sequence_t *sequence,
385 plasma_request_t *request);
391 plasma_sequence_t *sequence,
392 plasma_request_t *request);
396 plasma_sequence_t *sequence, plasma_request_t *request);
399 double *work,
double *value,
400 plasma_sequence_t *sequence, plasma_request_t *request);
402 void plasma_omp_dlansy(plasma_enum_t norm, plasma_enum_t uplo,
plasma_desc_t A,
403 double *work,
double *value,
404 plasma_sequence_t *sequence, plasma_request_t *request);
406 void plasma_omp_dlansy(plasma_enum_t norm, plasma_enum_t uplo,
plasma_desc_t A,
407 double *work,
double *value,
408 plasma_sequence_t *sequence, plasma_request_t *request);
412 double *work,
double *value,
413 plasma_sequence_t *sequence, plasma_request_t *request);
415 void plasma_omp_dlascl(plasma_enum_t uplo,
416 double cfrom,
double cto,
418 plasma_sequence_t *sequence, plasma_request_t *request);
420 void plasma_omp_dlaset(plasma_enum_t uplo,
421 double alpha,
double beta,
423 plasma_sequence_t *sequence, plasma_request_t *request);
425 void plasma_omp_dgeswp(plasma_enum_t colrow,
428 plasma_sequence_t *sequence, plasma_request_t *request);
432 plasma_sequence_t *sequence, plasma_request_t *request);
436 plasma_sequence_t *sequence,
437 plasma_request_t *request);
440 plasma_sequence_t *sequence, plasma_request_t *request);
443 plasma_sequence_t *sequence, plasma_request_t *request);
446 plasma_sequence_t *sequence, plasma_request_t *request);
449 plasma_sequence_t *sequence, plasma_request_t *request);
452 plasma_sequence_t *sequence, plasma_request_t *request);
455 plasma_sequence_t *sequence, plasma_request_t *request);
458 plasma_sequence_t *sequence, plasma_request_t *request);
461 plasma_sequence_t *sequence, plasma_request_t *request);
467 plasma_sequence_t *sequence, plasma_request_t *request);
473 plasma_sequence_t *sequence, plasma_request_t *request);
478 plasma_sequence_t *sequence, plasma_request_t *request);
482 plasma_sequence_t *sequence,
483 plasma_request_t *request);
485 void plasma_omp_dtradd(plasma_enum_t uplo, plasma_enum_t transa,
488 plasma_sequence_t *sequence, plasma_request_t *request);
491 plasma_enum_t transa, plasma_enum_t diag,
494 plasma_sequence_t *sequence, plasma_request_t *request);
497 plasma_enum_t transa, plasma_enum_t diag,
500 plasma_sequence_t *sequence, plasma_request_t *request);
504 plasma_sequence_t *sequence, plasma_request_t *request);
508 plasma_sequence_t *sequence, plasma_request_t *request);
512 plasma_sequence_t *sequence, plasma_request_t *request);
517 plasma_sequence_t *sequence, plasma_request_t *request);
522 plasma_sequence_t *sequence, plasma_request_t *request);
528 #endif // ICL_PLASMA_D_H
int plasma_dsyr2k(plasma_enum_t uplo, plasma_enum_t trans, int n, int k, double alpha, double *pA, int lda, double *pB, int ldb, double beta, double *pC, int ldc)
Definition: dsyr2k.c:101
int plasma_dposv(plasma_enum_t uplo, int n, int nrhs, double *pA, int lda, double *pB, int ldb)
Definition: dposv.c:90
int plasma_dsyrk(plasma_enum_t uplo, plasma_enum_t trans, int n, int k, double alpha, double *pA, int lda, double beta, double *pC, int ldc)
Definition: dsyrk.c:89
void plasma_omp_dgemm(plasma_enum_t transa, plasma_enum_t transb, double alpha, plasma_desc_t A, plasma_desc_t B, double beta, plasma_desc_t C, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dgemm.c:319
void plasma_omp_dpotri(plasma_enum_t uplo, plasma_desc_t A, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dpotri.c:191
int plasma_dormqr(plasma_enum_t side, plasma_enum_t trans, int m, int n, int k, double *pA, int lda, plasma_desc_t T, double *pC, int ldc)
Definition: dormqr.c:97
void plasma_omp_dpotrs(plasma_enum_t uplo, plasma_desc_t A, plasma_desc_t B, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dpotrs.c:230
int plasma_dsytrf(plasma_enum_t uplo, int n, double *pA, int lda, int *ipiv, double *pT, int ldt, int *ipiv2)
Definition: dsytrf.c:91
void plasma_omp_dtrtri(plasma_enum_t uplo, plasma_enum_t diag, plasma_desc_t A, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dtrtri.c:204
int plasma_dorgqr(int m, int n, int k, double *pA, int lda, plasma_desc_t T, double *pQ, int ldq)
Definition: dorgqr.c:73
void plasma_omp_dsytrs(plasma_enum_t uplo, plasma_desc_t A, int *ipiv, plasma_desc_t T, int *ipiv2, plasma_desc_t B, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dsytrs.c:264
void plasma_omp_dgeqrs(plasma_desc_t A, plasma_desc_t T, plasma_desc_t B, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dgeqrs.c:237
int plasma_dtrtri(plasma_enum_t uplo, plasma_enum_t diag, int n, double *pA, int lda)
Definition: dtrtri.c:70
void plasma_omp_dormqr(plasma_enum_t side, plasma_enum_t trans, plasma_desc_t A, plasma_desc_t T, plasma_desc_t C, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dormqr.c:290
double plasma_dlange(plasma_enum_t norm, int m, int n, double *pA, int lda)
Definition: dlange.c:76
void plasma_omp_dlacpy(plasma_enum_t uplo, plasma_enum_t transa, plasma_desc_t A, plasma_desc_t B, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dlacpy.c:234
int plasma_dgeadd(plasma_enum_t transa, int m, int n, double alpha, double *pA, int lda, double beta, double *pB, int ldb)
Definition: dgeadd.c:90
void plasma_omp_dtr2desc(double *pA, int lda, plasma_desc_t A, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dtr2desc.c:26
void plasma_omp_dorgqr(plasma_desc_t A, plasma_desc_t T, plasma_desc_t Q, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dorgqr.c:234
int plasma_dpotrs(plasma_enum_t uplo, int n, int nrhs, double *pA, int lda, double *pB, int ldb)
Definition: dpotrs.c:77
void plasma_omp_dsymm(plasma_enum_t side, plasma_enum_t uplo, double alpha, plasma_desc_t A, plasma_desc_t B, double beta, plasma_desc_t C, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dsymm.c:283
void plasma_omp_dtrmm(plasma_enum_t side, plasma_enum_t uplo, plasma_enum_t transa, plasma_enum_t diag, double alpha, plasma_desc_t A, plasma_desc_t B, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dtrmm.c:303
int plasma_dgelqf(int m, int n, double *pA, int lda, plasma_desc_t *T)
Definition: dgelqf.c:71
int plasma_dlauum(plasma_enum_t uplo, int n, double *pA, int lda)
Definition: dlauum.c:67
void plasma_omp_dsyr2k(plasma_enum_t uplo, plasma_enum_t trans, double alpha, plasma_desc_t A, plasma_desc_t B, double beta, plasma_desc_t C, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dsyr2k.c:304
void plasma_omp_dsyrk(plasma_enum_t uplo, plasma_enum_t trans, double alpha, plasma_desc_t A, double beta, plasma_desc_t C, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dsyrk.c:267
void plasma_omp_ddesc2tr(plasma_desc_t A, double *pA, int lda, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: ddesc2tr.c:26
void plasma_omp_ddesc2pb(plasma_desc_t A, double *pA, int lda, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: ddesc2pb.c:26
void plasma_omp_dge2desc(double *pA, int lda, plasma_desc_t A, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dge2desc.c:26
int plasma_dgeqrs(int m, int n, int nrhs, double *pA, int lda, plasma_desc_t T, double *pB, int ldb)
Definition: dgeqrs.c:72
int plasma_dpotri(plasma_enum_t uplo, int n, double *pA, int lda)
Definition: dpotri.c:65
int plasma_dgeqrf(int m, int n, double *pA, int lda, plasma_desc_t *T)
Definition: dgeqrf.c:73
void plasma_omp_dpotrf(plasma_enum_t uplo, plasma_desc_t A, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dpotrf.c:210
int plasma_dorglq(int m, int n, int k, double *pA, int lda, plasma_desc_t T, double *pQ, int ldq)
Definition: dorglq.c:73
void plasma_omp_dorglq(plasma_desc_t A, plasma_desc_t T, plasma_desc_t Q, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dorglq.c:234
int plasma_dsytrs(plasma_enum_t uplo, int n, int nrhs, double *pA, int lda, int *ipiv, double *pT, int ldt, int *ipiv2, double *pB, int ldb)
Definition: dsytrs.c:86
int plasma_dgetri(int n, double *pA, int lda, int *ipiv)
Definition: dgetri.c:58
void plasma_omp_dgetri_aux(plasma_desc_t A, plasma_desc_t W, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dgetri_aux.c:175
void plasma_omp_dsytrf(plasma_enum_t uplo, plasma_desc_t A, int *ipiv, plasma_desc_t T, int *ipiv2, plasma_desc_t W, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dsytrf.c:271
void plasma_omp_ddesc2ge(plasma_desc_t A, double *pA, int lda, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: ddesc2ge.c:26
int plasma_dpotrf(plasma_enum_t uplo, int n, double *pA, int lda)
Definition: dpotrf.c:74
int plasma_dsysv(plasma_enum_t uplo, int n, int nrhs, double *pA, int lda, int *ipiv, double *pT, int ldt, int *ipiv2, double *pB, int ldb)
Definition: dsysv.c:87
void plasma_omp_dlange(plasma_enum_t norm, plasma_desc_t A, double *work, double *value, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dlange.c:239
void plasma_omp_dlantr(plasma_enum_t norm, plasma_enum_t uplo, plasma_enum_t diag, plasma_desc_t A, double *work, double *value, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dlantr.c:267
int plasma_dsymm(plasma_enum_t side, plasma_enum_t uplo, int m, int n, double alpha, double *pA, int lda, double *pB, int ldb, double beta, double *pC, int ldc)
Definition: dsymm.c:96
void plasma_omp_dlauum(plasma_enum_t uplo, plasma_desc_t A, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dlauum.c:188
int plasma_dormlq(plasma_enum_t side, plasma_enum_t trans, int m, int n, int k, double *pA, int lda, plasma_desc_t T, double *pC, int ldc)
Definition: dormlq.c:95
void plasma_omp_dpb2desc(double *pA, int lda, plasma_desc_t A, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dpb2desc.c:26
int plasma_dgels(plasma_enum_t trans, int m, int n, int nrhs, double *pA, int lda, plasma_desc_t *T, double *pB, int ldb)
Definition: dgels.c:103
void plasma_omp_dgels(plasma_enum_t trans, plasma_desc_t A, plasma_desc_t T, plasma_desc_t B, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dgels.c:303
void plasma_omp_dgelqf(plasma_desc_t A, plasma_desc_t T, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dgelqf.c:220
int plasma_dtrmm(plasma_enum_t side, plasma_enum_t uplo, plasma_enum_t transa, plasma_enum_t diag, int m, int n, double alpha, double *pA, int lda, double *pB, int ldb)
Definition: dtrmm.c:111
double plasma_dlantr(plasma_enum_t norm, plasma_enum_t uplo, plasma_enum_t diag, int m, int n, double *pA, int lda)
Definition: dlantr.c:84
int plasma_dgetri_aux(int n, double *pA, int lda)
Definition: dgetri_aux.c:53
int plasma_dtrsm(plasma_enum_t side, plasma_enum_t uplo, plasma_enum_t transa, plasma_enum_t diag, int m, int n, double alpha, double *pA, int lda, double *pB, int ldb)
Definition: dtrsm.c:104
void plasma_omp_dtrsm(plasma_enum_t side, plasma_enum_t uplo, plasma_enum_t transa, plasma_enum_t diag, double alpha, plasma_desc_t A, plasma_desc_t B, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dtrsm.c:294
int plasma_dgemm(plasma_enum_t transa, plasma_enum_t transb, int m, int n, int k, double alpha, double *pA, int lda, double *pB, int ldb, double beta, double *pC, int ldc)
Definition: dgemm.c:105
int plasma_dlacpy(plasma_enum_t uplo, plasma_enum_t transa, int m, int n, double *pA, int lda, double *pB, int ldb)
Definition: dlacpy.c:69
Definition: plasma_descriptor.h:40
void plasma_omp_dposv(plasma_enum_t uplo, plasma_desc_t A, plasma_desc_t B, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dposv.c:248
void plasma_omp_dgeadd(plasma_enum_t transa, double alpha, plasma_desc_t A, double beta, plasma_desc_t B, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dgeadd.c:272
void plasma_omp_dgeqrf(plasma_desc_t A, plasma_desc_t T, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dgeqrf.c:227
void plasma_omp_dsysv(plasma_enum_t uplo, plasma_desc_t A, int *ipiv, plasma_desc_t T, int *ipiv2, plasma_desc_t B, plasma_desc_t W, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dsysv.c:284
int plasma_dgelqs(int m, int n, int nrhs, double *pA, int lda, plasma_desc_t T, double *pB, int ldb)
Definition: dgelqs.c:71
void plasma_omp_dormlq(plasma_enum_t side, plasma_enum_t trans, plasma_desc_t A, plasma_desc_t T, plasma_desc_t C, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dormlq.c:289
void plasma_omp_dgelqs(plasma_desc_t A, plasma_desc_t T, plasma_desc_t B, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dgelqs.c:235