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(plasma_enum_t trans,
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);
137 double plasma_dlangb(plasma_enum_t norm,
138 int m,
int n,
int kl,
int ku,
139 double *pAB,
int ldab);
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_dlansy(plasma_enum_t norm, plasma_enum_t uplo,
151 double *pA,
int lda);
153 double plasma_dlantr(plasma_enum_t norm, plasma_enum_t uplo, plasma_enum_t diag,
155 double *pA,
int lda);
157 double plasma_dlangb(plasma_enum_t norm,
158 int m,
int n,
int kl,
int ku,
159 double *pAB,
int ldab);
161 int plasma_dlascl(plasma_enum_t uplo,
162 double cfrom,
double cto,
164 double *pA,
int lda);
166 int plasma_dlaset(plasma_enum_t uplo,
168 double alpha,
double beta,
169 double *pA,
int lda);
171 int plasma_dgeswp(plasma_enum_t colrow,
174 int *ipiv,
int incx);
177 double *pA,
int lda);
179 int plasma_dpbsv(plasma_enum_t uplo,
180 int n,
int kd,
int nrhs,
181 double *pAB,
int ldab,
182 double *pB,
int ldb);
184 int plasma_dpbtrf(plasma_enum_t uplo,
186 double *pAB,
int ldab);
188 int plasma_dpbtrs(plasma_enum_t uplo,
189 int n,
int kd,
int nrhs,
190 double *pAB,
int ldab,
191 double *pB,
int ldb);
193 int plasma_dpoinv(plasma_enum_t uplo,
195 double *pA,
int lda);
200 double *pB,
int ldb);
204 double *pA,
int lda);
208 double *pA,
int lda);
213 double *pB,
int ldb);
215 int plasma_dsymm(plasma_enum_t side, plasma_enum_t uplo,
217 double alpha,
double *pA,
int lda,
219 double beta,
double *pC,
int ldc);
223 double alpha,
double *pA,
int lda,
225 double beta,
double *pC,
int ldc);
227 int plasma_dsyrk(plasma_enum_t uplo, plasma_enum_t trans,
229 double alpha,
double *pA,
int lda,
230 double beta,
double *pC,
int ldc);
232 int plasma_dtradd(plasma_enum_t uplo, plasma_enum_t transa,
234 double alpha,
double *pA,
int lda,
235 double beta,
double *pB,
int ldb);
237 int plasma_dtrmm(plasma_enum_t side, plasma_enum_t uplo,
238 plasma_enum_t transa, plasma_enum_t diag,
240 double alpha,
double *pA,
int lda,
241 double *pB,
int ldb);
243 int plasma_dtrsm(plasma_enum_t side, plasma_enum_t uplo,
244 plasma_enum_t transa, plasma_enum_t diag,
246 double alpha,
double *pA,
int lda,
247 double *pB,
int ldb);
250 int n,
double *pA,
int lda);
255 double *pQ,
int ldq);
260 double *pQ,
int ldq);
266 double *pC,
int ldc);
272 double *pC,
int ldc);
278 double *work,
double *values,
279 plasma_sequence_t *sequence, plasma_request_t *request);
282 plasma_sequence_t *sequence, plasma_request_t *request);
285 plasma_sequence_t *sequence, plasma_request_t *request);
287 void plasma_omp_dgbtrs(plasma_enum_t transa,
plasma_desc_t AB,
int *ipiv,
289 plasma_sequence_t *sequence, plasma_request_t *request);
293 plasma_sequence_t *sequence,
294 plasma_request_t *request);
298 plasma_sequence_t *sequence,
299 plasma_request_t *request);
303 plasma_sequence_t *sequence,
304 plasma_request_t *request);
308 plasma_sequence_t *sequence,
309 plasma_request_t *request);
314 plasma_sequence_t *sequence, plasma_request_t *request);
317 plasma_sequence_t *sequence, plasma_request_t *request);
320 plasma_workspace_t work,
321 plasma_sequence_t *sequence, plasma_request_t *request);
325 plasma_sequence_t *sequence, plasma_request_t *request);
330 plasma_sequence_t *sequence, plasma_request_t *request);
336 plasma_sequence_t *sequence, plasma_request_t *request);
339 plasma_workspace_t work,
340 plasma_sequence_t *sequence, plasma_request_t *request);
344 plasma_sequence_t *sequence, plasma_request_t *request);
348 plasma_sequence_t *sequence, plasma_request_t *request);
351 plasma_sequence_t *sequence, plasma_request_t *request);
354 plasma_sequence_t *sequence, plasma_request_t *request);
357 plasma_sequence_t *sequence, plasma_request_t *request);
359 void plasma_omp_dgetrs(plasma_enum_t trans,
plasma_desc_t A,
int *ipiv,
361 plasma_sequence_t *sequence, plasma_request_t *request);
367 plasma_sequence_t *sequence, plasma_request_t *request);
373 plasma_sequence_t *sequence, plasma_request_t *request);
378 plasma_sequence_t *sequence, plasma_request_t *request);
384 plasma_sequence_t *sequence,
385 plasma_request_t *request);
392 plasma_sequence_t *sequence,
393 plasma_request_t *request);
399 plasma_sequence_t *sequence,
400 plasma_request_t *request);
404 plasma_sequence_t *sequence, plasma_request_t *request);
407 double *work,
double *value,
408 plasma_sequence_t *sequence, plasma_request_t *request);
411 double *work,
double *value,
412 plasma_sequence_t *sequence, plasma_request_t *request);
414 void plasma_omp_dlansy(plasma_enum_t norm, plasma_enum_t uplo,
plasma_desc_t A,
415 double *work,
double *value,
416 plasma_sequence_t *sequence, plasma_request_t *request);
418 void plasma_omp_dlansy(plasma_enum_t norm, plasma_enum_t uplo,
plasma_desc_t A,
419 double *work,
double *value,
420 plasma_sequence_t *sequence, plasma_request_t *request);
424 double *work,
double *value,
425 plasma_sequence_t *sequence, plasma_request_t *request);
428 double *work,
double *value,
429 plasma_sequence_t *sequence, plasma_request_t *request);
431 void plasma_omp_dlascl(plasma_enum_t uplo,
432 double cfrom,
double cto,
434 plasma_sequence_t *sequence, plasma_request_t *request);
436 void plasma_omp_dlaset(plasma_enum_t uplo,
437 double alpha,
double beta,
439 plasma_sequence_t *sequence, plasma_request_t *request);
441 void plasma_omp_dgeswp(plasma_enum_t colrow,
444 plasma_sequence_t *sequence, plasma_request_t *request);
448 plasma_sequence_t *sequence, plasma_request_t *request);
452 plasma_sequence_t *sequence,
453 plasma_request_t *request);
456 plasma_sequence_t *sequence, plasma_request_t *request);
459 plasma_sequence_t *sequence, plasma_request_t *request);
462 plasma_sequence_t *sequence, plasma_request_t *request);
465 plasma_sequence_t *sequence, plasma_request_t *request);
468 plasma_sequence_t *sequence, plasma_request_t *request);
471 plasma_sequence_t *sequence, plasma_request_t *request);
474 plasma_sequence_t *sequence, plasma_request_t *request);
477 plasma_sequence_t *sequence, plasma_request_t *request);
483 plasma_sequence_t *sequence, plasma_request_t *request);
489 plasma_sequence_t *sequence, plasma_request_t *request);
494 plasma_sequence_t *sequence, plasma_request_t *request);
498 plasma_sequence_t *sequence,
499 plasma_request_t *request);
501 void plasma_omp_dtradd(plasma_enum_t uplo, plasma_enum_t transa,
504 plasma_sequence_t *sequence, plasma_request_t *request);
507 plasma_enum_t transa, plasma_enum_t diag,
510 plasma_sequence_t *sequence, plasma_request_t *request);
513 plasma_enum_t transa, plasma_enum_t diag,
516 plasma_sequence_t *sequence, plasma_request_t *request);
520 plasma_sequence_t *sequence, plasma_request_t *request);
524 plasma_sequence_t *sequence, plasma_request_t *request);
528 plasma_sequence_t *sequence, plasma_request_t *request);
533 plasma_sequence_t *sequence, plasma_request_t *request);
538 plasma_sequence_t *sequence, plasma_request_t *request);
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:315
void plasma_omp_dpotri(plasma_enum_t uplo, plasma_desc_t A, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dpotri.c:187
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:226
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:201
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:260
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:233
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:286
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:27
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:230
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:279
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:294
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:300
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:263
void plasma_omp_ddesc2tr(plasma_desc_t A, double *pA, int lda, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: ddesc2tr.c:27
void plasma_omp_ddesc2pb(plasma_desc_t A, double *pA, int lda, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: ddesc2pb.c:27
void plasma_omp_dge2desc(double *pA, int lda, plasma_desc_t A, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: dge2desc.c:27
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:206
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:230
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:171
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:280
void plasma_omp_ddesc2ge(plasma_desc_t A, double *pA, int lda, plasma_sequence_t *sequence, plasma_request_t *request)
Definition: ddesc2ge.c:27
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:233
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:261
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:184
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:27
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:116
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:313
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:216
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:290
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:74
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:244
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:268
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:223
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:293
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:285
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:231