|
PLASMA
2.4.5
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
|

Go to the source code of this file.
Macros | |
| #define | plasma_ddesc_alloc(descA, mb, nb, lm, ln, i, j, m, n, free) |
| #define | plasma_dooplap2tile(descA, A, mb, nb, lm, ln, i, j, m, n, free) |
| #define | plasma_diplap2tile(descA, A, mb, nb, lm, ln, i, j, m, n) |
| #define | plasma_dooptile2lap(descA, A, mb, nb, lm, ln) |
| #define | plasma_diptile2lap(descA, A, mb, nb, lm, ln) |
PLASMA auxiliary routines PLASMA is a software package provided by Univ. of Tennessee, Univ. of California Berkeley and Univ. of Colorado Denver
Definition in file compute_d.h.
| #define plasma_ddesc_alloc | ( | descA, | |
| mb, | |||
| nb, | |||
| lm, | |||
| ln, | |||
| i, | |||
| j, | |||
| m, | |||
| n, | |||
| free | |||
| ) |
Macro for matrix conversion / Lapack interface
Definition at line 20 of file compute_d.h.
| #define plasma_diplap2tile | ( | descA, | |
| A, | |||
| mb, | |||
| nb, | |||
| lm, | |||
| ln, | |||
| i, | |||
| j, | |||
| m, | |||
| n | |||
| ) |
Definition at line 47 of file compute_d.h.
| #define plasma_diptile2lap | ( | descA, | |
| A, | |||
| mb, | |||
| nb, | |||
| lm, | |||
| ln | |||
| ) |
Definition at line 65 of file compute_d.h.
| #define plasma_dooplap2tile | ( | descA, | |
| A, | |||
| mb, | |||
| nb, | |||
| lm, | |||
| ln, | |||
| i, | |||
| j, | |||
| m, | |||
| n, | |||
| free | |||
| ) |
Definition at line 30 of file compute_d.h.
| #define plasma_dooptile2lap | ( | descA, | |
| A, | |||
| mb, | |||
| nb, | |||
| lm, | |||
| ln | |||
| ) |
Definition at line 57 of file compute_d.h.
| int plasma_dshift | ( | plasma_context_t * | plasma, |
| int | m, | ||
| int | n, | ||
| double * | A, | ||
| int | nprob, | ||
| int | me, | ||
| int | ne, | ||
| int | L, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Declarations of internal sequential functions
plasma_dgetmi2 Implementation of inplace transposition based on the GKK algorithm by Gustavson, Karlsson, Kagstrom. This algorithm shift some cycles to transpose the matrix.
| [in] | m | Number of rows of matrix A |
| [in] | n | Number of columns of matrix A |
| [in,out] | A | Matrix of size L*m*n |
| [in] | nprob | Number of parallel and independant problems |
| [in] | me | Number of rows of the problem |
| [in] | ne | Number of columns in the problem |
| [in] | L | Size of chunk to use for transformation |
Definition at line 60 of file pdshift.c.
References GKK_BalanceLoad(), GKK_getLeaderNbr(), L, minloc(), plasma_dynamic_call_9, PLASMA_ERR_ILLEGAL_VALUE, plasma_error(), PLASMA_GRPSIZE, plasma_pdshift(), plasma_request_fail(), PLASMA_SCHEDULING, plasma_shared_alloc(), plasma_shared_free(), PLASMA_SIZE, plasma_static_call_9, PLASMA_STATIC_SCHEDULING, PLASMA_SUCCESS, and PlasmaInteger.


| void plasma_pdbarrier_pnl2tl_quark | ( | PLASMA_desc | A, |
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Barrier from panels to tiles
Definition at line 61 of file pdbarrier.c.
References CORE_foo2_quark(), CORE_foo_quark(), INOUT, INPUT, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_Insert_Task(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdbarrier_row2tl_quark | ( | PLASMA_desc | A, |
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Barrier from panels to tiles
Definition at line 128 of file pdbarrier.c.
References CORE_foo2_quark(), CORE_foo_quark(), INOUT, INPUT, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_Insert_Task(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdbarrier_tl2pnl_quark | ( | PLASMA_desc | A, |
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Barrier from tiles to panels
Definition at line 25 of file pdbarrier.c.
References CORE_foo2_quark(), CORE_foo_quark(), GATHERV, INOUT, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_Insert_Task(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdbarrier_tl2row_quark | ( | PLASMA_desc | A, |
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Barrier from tiles to panels
Definition at line 92 of file pdbarrier.c.
References CORE_foo2_quark(), CORE_foo_quark(), GATHERV, INOUT, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_Insert_Task(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdgbrdb_quark | ( | PLASMA_enum | uplo, |
| PLASMA_desc | A, | ||
| double * | D, | ||
| double * | E, | ||
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel Reduction from BAND Bidiagonal to the final condensed form - dynamic scheduler
Definition at line 26 of file pdgbrdb.c.
References A, C, DEP, plasma_desc_t::dtyp, plasma_desc_t::lm, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::n, plasma_context_self(), plasma_element_size(), plasma_sequence_flush(), plasma_shared_alloc(), plasma_shared_free(), PLASMA_SUCCESS, PlasmaInteger, PlasmaLower, PlasmaRealDouble, plasma_context_struct::quark, QUARK_Barrier(), QUARK_CORE_dbrdalg(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, TASK_SEQUENCE, TAU, and V.

| void plasma_pdgeadd | ( | plasma_context_t * | plasma | ) |
Declarations of parallel functions (static scheduling) - alphabetical order
Definition at line 23 of file pdgeadd.c.
References A, B, BLKLDD, CORE_dgeadd(), plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_5, and plasma_sequence_t::status.

| void plasma_pdgeadd_quark | ( | double | alpha, |
| PLASMA_desc | A, | ||
| PLASMA_desc | B, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Declarations of parallel functions (dynamic scheduling) - alphabetical order
Definition at line 72 of file pdgeadd.c.
References B, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_CORE_dgeadd(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdgelqf | ( | plasma_context_t * | plasma | ) |
Parallel tile LQ factorization - static scheduling
Definition at line 24 of file pdgelqf.c.
References A, BLKLDD, CORE_dgelqt(), CORE_dormlq(), CORE_dtslqt(), CORE_dtsmlq(), plasma_desc_t::dtyp, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_IB, plasma_private_alloc(), plasma_private_free(), PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_4, PlasmaRight, PlasmaTrans, ss_cond_set, ss_cond_wait, ss_finalize, ss_init, plasma_sequence_t::status, and T.


| void plasma_pdgelqf_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile LQ factorization - dynamic scheduling
Definition at line 137 of file pdgelqf.c.
References A, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_IB, PLASMA_SUCCESS, PlasmaRight, PlasmaTrans, plasma_context_struct::quark, QUARK_CORE_dgelqt(), QUARK_CORE_dormlq(), QUARK_CORE_dtslqt(), QUARK_CORE_dtsmlq(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, and TASK_SEQUENCE.


| void plasma_pdgelqfrh_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | T, | ||
| int | BS, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile LQ factorization (reduction Householder) - dynamic scheduling
Definition at line 25 of file pdgelqfrh.c.
References A, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_IB, PLASMA_SUCCESS, PlasmaRight, PlasmaTrans, plasma_context_struct::quark, QUARK_CORE_dgelqt(), QUARK_CORE_dormlq(), QUARK_CORE_dtslqt(), QUARK_CORE_dtsmlq(), QUARK_CORE_dttlqt(), QUARK_CORE_dttmlq(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, T2, and TASK_SEQUENCE.

| void plasma_pdgemm | ( | plasma_context_t * | plasma | ) |
Parallel tile matrix-matrix multiplication - static scheduling
Definition at line 24 of file pdgemm.c.
References A, B, BLKLDD, C, CORE_dgemm(), plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_9, PlasmaNoTrans, and plasma_sequence_t::status.


| void plasma_pdgemm_quark | ( | PLASMA_enum | transA, |
| PLASMA_enum | transB, | ||
| double | alpha, | ||
| PLASMA_desc | A, | ||
| PLASMA_desc | B, | ||
| double | beta, | ||
| PLASMA_desc | C, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile matrix-matrix multiplication - dynamic scheduling
Definition at line 149 of file pdgemm.c.
References B, BLKLDD, C, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, PlasmaNoTrans, plasma_context_struct::quark, QUARK_CORE_dgemm(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.


| void plasma_pdgeqrf | ( | plasma_context_t * | plasma | ) |
Parallel tile QR factorization - static scheduling
Definition at line 24 of file pdgeqrf.c.
References A, BLKLDD, CORE_dgeqrt(), CORE_dormqr(), CORE_dtsmqr(), CORE_dtsqrt(), plasma_desc_t::dtyp, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_IB, plasma_private_alloc(), plasma_private_free(), PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_4, PlasmaLeft, PlasmaTrans, ss_cond_set, ss_cond_wait, ss_finalize, ss_init, plasma_sequence_t::status, and T.


| void plasma_pdgeqrf_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile QR factorization - dynamic scheduling
Definition at line 137 of file pdgeqrf.c.
References A, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_IB, PLASMA_SUCCESS, PlasmaLeft, PlasmaTrans, plasma_context_struct::quark, QUARK_CORE_dgeqrt(), QUARK_CORE_dormqr(), QUARK_CORE_dtsmqr(), QUARK_CORE_dtsqrt(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, and TASK_SEQUENCE.


| void plasma_pdgeqrfrh_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | T, | ||
| int | BS, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile QR factorization (reduction Householder) - dynamic scheduling
Definition at line 25 of file pdgeqrfrh.c.
References A, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_IB, PLASMA_SUCCESS, PlasmaLeft, PlasmaTrans, plasma_context_struct::quark, QUARK_CORE_dgeqrt(), QUARK_CORE_dormqr(), QUARK_CORE_dtsmqr(), QUARK_CORE_dtsqrt(), QUARK_CORE_dttmqr(), QUARK_CORE_dttqrt(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, T2, and TASK_SEQUENCE.

| void plasma_pdgerbb | ( | plasma_context_t * | plasma | ) |
Parallel tile BAND Bidiagonal Reduction - dynamic scheduler Could be optimized by using the algorithms from Trefethen book
WARNING: do never call this function because ormqr and unmlq are not implementing all the cases required in static.
Definition at line 26 of file pdgerbb.c.
References A, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_desc_submatrix(), plasma_pdgelqf(), plasma_pdgeqrf(), plasma_pdormlq(), plasma_pdormqr(), plasma_static_call_4, plasma_static_call_7, PLASMA_SUCCESS, plasma_unpack_args_4, PlasmaLeft, PlasmaRight, PlasmaTrans, plasma_sequence_t::status, and T.


| void plasma_pdgerbb_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile BAND Bidiagonal Reduction - dynamic scheduler Could be optimized by using the algorithms from Trefethen book
Definition at line 127 of file pdgerbb.c.
References plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_desc_submatrix(), plasma_pdgelqf_quark(), plasma_pdgeqrf_quark(), plasma_pdormlq_quark(), plasma_pdormqr_quark(), PlasmaLeft, PlasmaRight, and PlasmaTrans.

| void plasma_pdgerbbrh_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
| void plasma_pdgerbh_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
| void plasma_pdgetmi2 | ( | plasma_context_t * | plasma | ) |
plasma_pdgetmi2 - realises nprob independant transpositions. Each subproblem is a tile of mb-by-nb elements. This function use an extra space of PLASMA_SIZE*(mb*nb).
| [in] | plasma | Plasma context to which this call belong to. |
Definition at line 40 of file pdgetmi2.c.
References A, CORE_dgetrip(), plasma_private_alloc(), plasma_private_free(), PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_10, PlasmaRealDouble, plasma_sequence_t::status, and storev.

| void plasma_pdgetmi2_quark | ( | PLASMA_enum | idep, |
| PLASMA_enum | odep, | ||
| PLASMA_enum | storev, | ||
| int | m, | ||
| int | n, | ||
| int | mb, | ||
| int | nb, | ||
| double * | A, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
plasma_pdgetmi2_quark - realises nprob independant transpositions. Each subproblem is a tile of mb-by-nb elements. This function use an extra space of PLASMA_SIZE*(mb*nb). This is a maximum in case of dynamic scheduling.
| [in] | idep | PlasmaIPT_Nodep: No fake dependencies are added. PlasmaIPT_Panel: A gatherv is added on each panel and panel size is m*nb. PlasmaIPT_All: A gatherv is added on the whole matrix. |
| [in] | odep | PlasmaIPT_Nodep: No fake dependencies are added. PlasmaIPT_Panel: A gatherv is added on each panel and panel size is m*nb. PlasmaIPT_All: A gatherv is added on the whole matrix. |
| [in] | storev | PlasmaColumnWise: Data stored in column major. PlasmaRowWise: Data stored in row major. |
| [in] | m | Number of row of A if tiles are sorted in column major format, number of columns otherwise. |
| [in] | n | Number of columns of A if tiles are sorted in column major format, number of rows otherwise. |
| [in] | mb | Number of rows in each individual subproblem if storev == PlasmaColumnWise, number of columns otherwise. mmb must be 0. |
| [in] | nb | Number of columns in each individual subproblem if storev == PlasmaColumnWise, number of rows otherwise. nnb must be 0. |
| [in,out] | A | Matrix of size m*n. |
| [in] | sequence | Identifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes). |
| [out] | request | Identifies this function call (for exception handling purposes). |
Definition at line 128 of file pdgetmi2.c.
References GATHERV, INOUT, INPUT, plasma_context_self(), PLASMA_SUCCESS, PlasmaColumnwise, PlasmaIPT_All, PlasmaIPT_NoDep, PlasmaIPT_Panel, plasma_context_struct::quark, QUARK_CORE_dgetrip(), QUARK_CORE_dgetrip_f1(), QUARK_CORE_dgetrip_f2(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdgetrf_incpiv | ( | plasma_context_t * | plasma | ) |
Parallel tile LU factorization - static scheduling
Definition at line 25 of file pdgetrf_incpiv.c.
References A, BLKLDD, CORE_dgessm(), CORE_dgetrf_incpiv(), CORE_dssssm(), CORE_dtstrf(), plasma_desc_t::dtyp, IPIV, L, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_IB, plasma_private_alloc(), plasma_private_free(), PLASMA_RANK, plasma_request_fail(), PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_5, ss_abort, ss_aborted, ss_cond_set, ss_cond_wait, ss_finalize, ss_init, and plasma_sequence_t::status.


| void plasma_pdgetrf_incpiv_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | L, | ||
| int * | IPIV, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile LU factorization - dynamic scheduling
Definition at line 143 of file pdgetrf_incpiv.c.
References A, BLKLDD, IPIV, L, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_IB, PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_CORE_dgessm(), QUARK_CORE_dgetrf_incpiv(), QUARK_CORE_dssssm(), QUARK_CORE_dtstrf(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdgetrf_reclap_quark | ( | PLASMA_desc | A, |
| int * | IPIV, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
| void plasma_pdgetrf_rectil_quark | ( | PLASMA_desc | A, |
| int * | IPIV, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
| void plasma_pdlacpy | ( | plasma_context_t * | plasma | ) |
Definition at line 23 of file pdlacpy.c.
References A, B, BLKLDD, CORE_dlacpy(), plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_5, PlasmaLower, PlasmaUpper, PlasmaUpperLower, plasma_sequence_t::status, and uplo.


| void plasma_pdlacpy_quark | ( | PLASMA_enum | uplo, |
| PLASMA_desc | A, | ||
| PLASMA_desc | B, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Definition at line 153 of file pdlacpy.c.
References B, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, PlasmaLower, PlasmaUpper, PlasmaUpperLower, plasma_context_struct::quark, QUARK_CORE_dlacpy(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdlag2s | ( | plasma_context_t * | plasma | ) |
Definition at line 25 of file pdlag2s.c.
References A, BLKLDD, CORE_dlag2s(), plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_RANK, plasma_request_fail(), PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_4, SB, and plasma_sequence_t::status.

| void plasma_pdlag2s_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | SB, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Definition at line 77 of file pdlag2s.c.
References BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_CORE_dlag2s(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, SB, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdlange | ( | plasma_context_t * | plasma | ) |
Definition at line 24 of file pdlange.c.
References A, BLKLDD, CORE_dasum(), CORE_dlange(), plasma_desc_t::i, plasma_desc_t::j, plasma_desc_t::m, max, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, norm, plasma_desc_t::nt, plasma_private_alloc(), plasma_private_free(), PLASMA_RANK, PLASMA_SIZE, plasma_unpack_args_6, PlasmaColumnwise, PlasmaFrobeniusNorm, PlasmaInfNorm, PlasmaMaxNorm, PlasmaOneNorm, PlasmaRealDouble, PlasmaRowwise, PlasmaUpperLower, ss_cond_set, ss_cond_wait, ss_finalize, and ss_init.


| void plasma_pdlange_quark | ( | PLASMA_enum | norm, |
| PLASMA_desc | A, | ||
| double * | work, | ||
| double * | result, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Definition at line 202 of file pdlange.c.
References BLKLDD, plasma_desc_t::i, plasma_desc_t::j, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), plasma_shared_alloc(), PLASMA_SUCCESS, PlasmaColumnwise, PlasmaFrobeniusNorm, PlasmaInfNorm, PlasmaMaxNorm, PlasmaOneNorm, PlasmaRealDouble, PlasmaRowwise, PlasmaUpperLower, plasma_context_struct::quark, QUARK_CORE_dasum_f1(), QUARK_CORE_dlange(), QUARK_CORE_dlange_f1(), QUARK_CORE_free(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdlansy | ( | plasma_context_t * | plasma | ) |
Definition at line 24 of file pdlansy.c.
References A, BLKLDD, CORE_dasum(), CORE_dlange(), CORE_dlansy(), plasma_desc_t::i, plasma_desc_t::j, plasma_desc_t::m, max, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, norm, plasma_desc_t::nt, plasma_private_alloc(), plasma_private_free(), PLASMA_RANK, PLASMA_SIZE, plasma_unpack_args_7, PlasmaColumnwise, PlasmaFrobeniusNorm, PlasmaInfNorm, PlasmaLower, PlasmaMaxNorm, PlasmaOneNorm, PlasmaRealDouble, PlasmaRowwise, PlasmaUpperLower, ss_cond_set, ss_cond_wait, ss_finalize, ss_init, and uplo.


| void plasma_pdlansy_quark | ( | PLASMA_enum | norm, |
| PLASMA_enum | uplo, | ||
| PLASMA_desc | A, | ||
| double * | work, | ||
| double * | result, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Definition at line 219 of file pdlansy.c.
References BLKLDD, plasma_desc_t::i, plasma_desc_t::j, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), plasma_shared_alloc(), PLASMA_SUCCESS, PlasmaColumnwise, PlasmaFrobeniusNorm, PlasmaInfNorm, PlasmaLower, PlasmaMaxNorm, PlasmaOneNorm, PlasmaRealDouble, PlasmaRowwise, PlasmaUpperLower, plasma_context_struct::quark, QUARK_CORE_dasum_f1(), QUARK_CORE_dlange(), QUARK_CORE_dlange_f1(), QUARK_CORE_dlansy_f1(), QUARK_CORE_free(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdlaset2_quark | ( | PLASMA_enum | uplo, |
| double | alpha, | ||
| PLASMA_desc | A, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel initializztion a 2-D array A to ALPHA on the offdiagonals.
Definition at line 22 of file pdlaset2.c.
References BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, PlasmaLower, PlasmaUpper, PlasmaUpperLower, plasma_context_struct::quark, QUARK_CORE_dlaset2(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdlaset_quark | ( | PLASMA_enum | uplo, |
| double | alpha, | ||
| double | beta, | ||
| PLASMA_desc | A, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel initialization a 2-D array A to BETA on the diagonal and ALPHA on the offdiagonals.
Definition at line 22 of file pdlaset.c.
References BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, PlasmaLower, PlasmaUpper, PlasmaUpperLower, plasma_context_struct::quark, QUARK_CORE_dlaset(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdlaswp_quark | ( | PLASMA_desc | B, |
| int * | IPIV, | ||
| int | inc, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile row interchanges - dynamic scheduling
Definition at line 23 of file pdlaswp.c.
References B, IPIV, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), plasma_desc_submatrix(), PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_CORE_dlaswp_ontile(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdlaswpc_quark | ( | PLASMA_desc | B, |
| int * | IPIV, | ||
| int | inc, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile column interchanges - dynamic scheduling
Definition at line 23 of file pdlaswpc.c.
References B, IPIV, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), plasma_desc_submatrix(), PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_CORE_dlaswpc_ontile(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdlauum_quark | ( | PLASMA_enum | uplo, |
| PLASMA_desc | A, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel UU' or L'L operation - dynamic scheduling
Definition at line 23 of file pdlauum.c.
References A, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, PlasmaLeft, PlasmaLower, PlasmaNonUnit, PlasmaNoTrans, PlasmaRight, PlasmaTrans, plasma_context_struct::quark, QUARK_CORE_dgemm(), QUARK_CORE_dlauum(), QUARK_CORE_dsyrk(), QUARK_CORE_dtrmm(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdorgbr_quark | ( | PLASMA_enum | side, |
| PLASMA_desc | A, | ||
| PLASMA_desc | O, | ||
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
| void plasma_pdorgbrrh_quark | ( | PLASMA_enum | side, |
| PLASMA_desc | A, | ||
| PLASMA_desc | O, | ||
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
| void plasma_pdorglq | ( | plasma_context_t * | plasma | ) |

| void plasma_pdorglq_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | Q, | ||
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel construction of Q using tile V (application to identity) - dynamic scheduling
Definition at line 25 of file pdorglq.c.
References A, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_IB, PLASMA_SUCCESS, PlasmaNoTrans, PlasmaRight, Q, plasma_context_struct::quark, QUARK_CORE_dormlq(), QUARK_CORE_dtsmlq(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, and TASK_SEQUENCE.

| void plasma_pdorglqrh_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | Q, | ||
| PLASMA_desc | T, | ||
| int | BS, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel construction of Q using tile V (application to identity; reduction Householder) - dynamic scheduling
Definition at line 25 of file pdorglqrh.c.
References A, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_IB, PLASMA_SUCCESS, PlasmaNoTrans, PlasmaRight, Q, plasma_context_struct::quark, QUARK_CORE_dormlq(), QUARK_CORE_dtsmlq(), QUARK_CORE_dttmlq(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, T2, and TASK_SEQUENCE.

| void plasma_pdorgqr | ( | plasma_context_t * | plasma | ) |

| void plasma_pdorgqr_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | Q, | ||
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel construction of Q using tile V (application to identity) - dynamic scheduling
Definition at line 25 of file pdorgqr.c.
References A, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_IB, PLASMA_SUCCESS, PlasmaLeft, PlasmaNoTrans, Q, plasma_context_struct::quark, QUARK_CORE_dormqr(), QUARK_CORE_dtsmqr(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, and TASK_SEQUENCE.

| void plasma_pdorgqrrh | ( | plasma_context_t * | plasma | ) |

| void plasma_pdorgqrrh_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | Q, | ||
| PLASMA_desc | T, | ||
| int | BS, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel construction of Q using tile V (application to identity; reduction Householder) - dynamic scheduling
Definition at line 27 of file pdorgqrrh.c.
References A, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_IB, PLASMA_SUCCESS, PlasmaLeft, PlasmaNoTrans, Q, plasma_context_struct::quark, QUARK_CORE_dormqr(), QUARK_CORE_dtsmqr(), QUARK_CORE_dttmqr(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, T2, and TASK_SEQUENCE.

| void plasma_pdorgtr_quark | ( | PLASMA_enum | uplo, |
| PLASMA_desc | A, | ||
| PLASMA_desc | Q, | ||
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
| void plasma_pdormlq | ( | plasma_context_t * | plasma | ) |
Parallel application of Q using tile V - LQ factorization - static scheduling
Definition at line 26 of file pdormlq.c.
References A, B, BLKLDD, CORE_dormlq(), CORE_dtsmlq(), plasma_desc_t::dtyp, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_ERR_NOT_SUPPORTED, PLASMA_IB, plasma_private_alloc(), plasma_private_free(), PLASMA_RANK, plasma_request_fail(), PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_7, PlasmaLeft, PlasmaTrans, side, ss_cond_set, ss_cond_wait, ss_finalize, ss_init, plasma_sequence_t::status, T, and trans.


| void plasma_pdormlq_quark | ( | PLASMA_enum | side, |
| PLASMA_enum | trans, | ||
| PLASMA_desc | A, | ||
| PLASMA_desc | B, | ||
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel application of Q using tile V - LQ factorization - dynamic scheduling
Definition at line 135 of file pdormlq.c.
References A, B, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_IB, PLASMA_SUCCESS, PlasmaLeft, PlasmaNoTrans, plasma_context_struct::quark, QUARK_CORE_dormlq(), QUARK_CORE_dtsmlq(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, and TASK_SEQUENCE.


| void plasma_pdormlqrh_quark | ( | PLASMA_enum | side, |
| PLASMA_enum | trans, | ||
| PLASMA_desc | A, | ||
| PLASMA_desc | B, | ||
| PLASMA_desc | T, | ||
| int | BS, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel application of Q using tile V - LQ factorization (reduction Householder) - dynamic scheduling
Definition at line 27 of file pdormlqrh.c.
References A, B, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_IB, PLASMA_SUCCESS, PlasmaLeft, PlasmaNoTrans, plasma_context_struct::quark, QUARK_CORE_dormlq(), QUARK_CORE_dtsmlq(), QUARK_CORE_dttmlq(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, T2, and TASK_SEQUENCE.

| void plasma_pdormqr | ( | plasma_context_t * | plasma | ) |
Parallel application of Q using tile V - QR factorization - static scheduling
Definition at line 26 of file pdormqr.c.
References A, B, BLKLDD, CORE_dormqr(), CORE_dtsmqr(), plasma_desc_t::dtyp, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_ERR_NOT_SUPPORTED, PLASMA_IB, plasma_private_alloc(), plasma_private_free(), PLASMA_RANK, plasma_request_fail(), PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_7, PlasmaLeft, PlasmaTrans, side, ss_cond_set, ss_cond_wait, ss_finalize, ss_init, plasma_sequence_t::status, T, and trans.


| void plasma_pdormqr_quark | ( | PLASMA_enum | side, |
| PLASMA_enum | trans, | ||
| PLASMA_desc | A, | ||
| PLASMA_desc | B, | ||
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel application of Q using tile V - QR factorization - dynamic scheduling
Definition at line 137 of file pdormqr.c.
References A, B, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_IB, PLASMA_SUCCESS, PlasmaLeft, PlasmaTrans, plasma_context_struct::quark, QUARK_CORE_dormqr(), QUARK_CORE_dtsmqr(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, and TASK_SEQUENCE.


| void plasma_pdormqrrh_quark | ( | PLASMA_enum | side, |
| PLASMA_enum | trans, | ||
| PLASMA_desc | A, | ||
| PLASMA_desc | B, | ||
| PLASMA_desc | T, | ||
| int | BS, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel application of Q using tile V - QR factorization (reduction Householder) - dynamic scheduling
Definition at line 27 of file pdormqrrh.c.
References A, B, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_IB, PLASMA_SUCCESS, PlasmaLeft, PlasmaTrans, plasma_context_struct::quark, QUARK_CORE_dormqr(), QUARK_CORE_dtsmqr(), QUARK_CORE_dttmqr(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, T2, and TASK_SEQUENCE.

| void plasma_pdpack | ( | plasma_context_t * | plasma | ) |
plasma_pdpack pack all extra elements at the end of the matrix
+—————+ | | | | | A11 | | | | | +—————+ | A21 | +—————+
This matrix is initially stored as (example of Column Major, it's the same for row major. We just consider the transpose matrix) : A11(:,0), A21(:,0), A11(:,1), A21(:,1), ...
On exit, it's stored as follow. A11(:,:), A12(:,:)
| [in] | plasma | Plasma context |
| [in] | m | Number of rows in matrix A |
| [in] | n | Number of columns in matrix A |
| [in,out] | A | Matrix A to pack. (see above for entry and exit format) |
| [in] | m0 | Number of rows of A21 |
Definition at line 65 of file pdpack.c.
References A, CORE_dlacpy(), min, plasma_barrier(), plasma_private_alloc(), plasma_private_free(), PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_6, PlasmaRealDouble, PlasmaUpperLower, plasma_sequence_t::status, and W.


| void plasma_pdplgsy | ( | plasma_context_t * | plasma | ) |
Parallel tile Cholesky factorization - static scheduling
Definition at line 21 of file pdplgsy.c.
References A, BLKLDD, CORE_dplgsy(), plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_5, and plasma_sequence_t::status.


| void plasma_pdplgsy_quark | ( | double | bump, |
| PLASMA_desc | A, | ||
| unsigned long long int | seed, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile Cholesky factorization - dynamic scheduling
Definition at line 72 of file pdplgsy.c.
References BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_CORE_dplgsy(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdplrnt | ( | plasma_context_t * | plasma | ) |
Parallel tile Cholesky factorization - static scheduling
Definition at line 21 of file pdplrnt.c.
References A, BLKLDD, CORE_dplrnt(), plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_4, and plasma_sequence_t::status.


| void plasma_pdplrnt_quark | ( | PLASMA_desc | A, |
| unsigned long long int | seed, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile Cholesky factorization - dynamic scheduling
Definition at line 71 of file pdplrnt.c.
References BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_CORE_dplrnt(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdpotrf | ( | plasma_context_t * | plasma | ) |
Parallel tile Cholesky factorization - static scheduling
Definition at line 23 of file pdpotrf.c.
References A, BLKLDD, CORE_dgemm(), CORE_dpotrf(), CORE_dsyrk(), CORE_dtrsm(), plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_RANK, plasma_request_fail(), PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_4, PlasmaLeft, PlasmaLower, PlasmaNonUnit, PlasmaNoTrans, PlasmaRight, PlasmaTrans, PlasmaUpper, ss_abort, ss_aborted, ss_cond_set, ss_cond_wait, ss_finalize, ss_init, plasma_sequence_t::status, and uplo.


| void plasma_pdpotrf_quark | ( | PLASMA_enum | uplo, |
| PLASMA_desc | A, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile Cholesky factorization - dynamic scheduling
Definition at line 190 of file pdpotrf.c.
References A, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, PlasmaLeft, PlasmaLower, PlasmaNonUnit, PlasmaNoTrans, PlasmaRight, PlasmaTrans, PlasmaUpper, plasma_context_struct::quark, QUARK_CORE_dgemm(), QUARK_CORE_dpotrf(), QUARK_CORE_dsyrk(), QUARK_CORE_dtrsm(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdsbrdt_quark | ( | PLASMA_enum | uplo, |
| PLASMA_desc | A, | ||
| double * | D, | ||
| double * | E, | ||
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel Reduction from BAND tridiagonal to the final condensed form - dynamic scheduler
Definition at line 28 of file pdsbrdt.c.
References A, C, DEP, plasma_desc_t::dtyp, lapack_const, plasma_desc_t::lm, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_context_self(), plasma_element_size(), plasma_sequence_flush(), plasma_shared_alloc(), plasma_shared_free(), PLASMA_SUCCESS, PlasmaInteger, PlasmaLower, PlasmaRealDouble, plasma_context_struct::quark, QUARK_Barrier(), QUARK_CORE_dtrdalg(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdshift | ( | plasma_context_t * | plasma | ) |
plasma_pdshift shifts a batch of cycles in parallel.
| [in] | plasma | Plasma context |
| [in] | m | Number of rows of the panel to shift. |
| [in] | n | Number of columns of the panel to shift |
| [in] | L | Size of each chunk to shift (Usually mb) |
| [in,out] | A | |
| [in] | leaders | |
| [in] | nleaders | |
| [in] | thrdbypb |
Definition at line 231 of file pdshift.c.
References A, CORE_dshiftw(), L, modpow(), plasma_barrier(), plasma_private_alloc(), plasma_private_free(), PLASMA_RANK, PLASMA_SUCCESS, plasma_unpack_args_9, PlasmaRealDouble, plasma_sequence_t::status, and W.


| void plasma_pdshift_quark | ( | int | , |
| int | , | ||
| int | , | ||
| double * | , | ||
| int * | , | ||
| int | , | ||
| int | , | ||
| PLASMA_sequence * | , | ||
| PLASMA_request * | |||
| ) |
Definition at line 289 of file pdshift.c.
References CORE_foo_quark(), INOUT, L, plasma_context_self(), PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_CORE_dshift(), QUARK_Insert_Task(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, TASK_SEQUENCE, TASKCOLOR, TASKLABEL, and VALUE.

| void plasma_pdsygst_quark | ( | PLASMA_enum | itype, |
| PLASMA_enum | uplo, | ||
| PLASMA_desc | A, | ||
| PLASMA_desc | B, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel Transformation to standard eigenvalue problem - dynamic scheduler
Definition at line 22 of file pdsygst.c.
References B, BLKLDD, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), plasma_desc_submatrix(), plasma_pdsymm_quark(), plasma_pdsyr2k_quark(), plasma_pdtrmm_quark(), plasma_pdtrsm_quark(), PLASMA_SUCCESS, PlasmaLeft, PlasmaLower, PlasmaNonUnit, PlasmaNoTrans, PlasmaRight, PlasmaTrans, plasma_context_struct::quark, QUARK_CORE_dsygst(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdsymm | ( | plasma_context_t * | plasma | ) |
Parallel tile symmetric matrix-matrix multiplication - static scheduling
Definition at line 24 of file pdsymm.c.
References A, B, BLKLDD, C, CORE_dgemm(), CORE_dsymm(), plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_9, PlasmaLeft, PlasmaLower, PlasmaNoTrans, PlasmaTrans, side, plasma_sequence_t::status, and uplo.


| void plasma_pdsymm_quark | ( | PLASMA_enum | side, |
| PLASMA_enum | uplo, | ||
| double | alpha, | ||
| PLASMA_desc | A, | ||
| PLASMA_desc | B, | ||
| double | beta, | ||
| PLASMA_desc | C, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile symmetric matrix-matrix multiplication - dynamic scheduling
Definition at line 231 of file pdsymm.c.
References A, B, BLKLDD, C, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, PlasmaLeft, PlasmaLower, PlasmaNoTrans, PlasmaTrans, plasma_context_struct::quark, QUARK_CORE_dgemm(), QUARK_CORE_dsymm(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.


| void plasma_pdsyr2k | ( | plasma_context_t * | plasma | ) |
Parallel tile Hermitian rank-k update - static scheduling
Definition at line 23 of file pdsyr2k.c.
References A, B, BLKLDD, C, CORE_dgemm(), CORE_dsyr2k(), plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_9, PlasmaLower, PlasmaNoTrans, PlasmaTrans, plasma_sequence_t::status, trans, and uplo.


| void plasma_pdsyr2k_quark | ( | PLASMA_enum | uplo, |
| PLASMA_enum | trans, | ||
| double | alpha, | ||
| PLASMA_desc | A, | ||
| PLASMA_desc | B, | ||
| double | beta, | ||
| PLASMA_desc | C, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile Hermitian rank-k update - dynamic scheduling
Definition at line 217 of file pdsyr2k.c.
References A, B, BLKLDD, C, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, PlasmaLower, PlasmaNoTrans, PlasmaTrans, plasma_context_struct::quark, QUARK_CORE_dgemm(), QUARK_CORE_dsyr2k(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.


| void plasma_pdsyrbt_quark | ( | PLASMA_enum | uplo, |
| PLASMA_desc | A, | ||
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile BAND Tridiagonal Reduction - dynamic scheduler
Definition at line 23 of file pdsyrbt.c.
References A, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_IB, PLASMA_SUCCESS, PlasmaLeft, PlasmaLower, PlasmaNoTrans, PlasmaRight, PlasmaTrans, PlasmaUpper, plasma_context_struct::quark, QUARK_CORE_dgelqt(), QUARK_CORE_dgeqrt(), QUARK_CORE_dormlq(), QUARK_CORE_dormqr(), QUARK_CORE_dsyrfb(), QUARK_CORE_dtslqt(), QUARK_CORE_dtsmlq(), QUARK_CORE_dtsmlq_corner(), QUARK_CORE_dtsmlq_sytra1(), QUARK_CORE_dtsmqr(), QUARK_CORE_dtsmqr_corner(), QUARK_CORE_dtsmqr_sytra1(), QUARK_CORE_dtsqrt(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, and TASK_SEQUENCE.

| void plasma_pdsyrk | ( | plasma_context_t * | plasma | ) |
Parallel tile symmetric rank-k update - static scheduling
Definition at line 23 of file pdsyrk.c.
References A, BLKLDD, C, CORE_dgemm(), CORE_dsyrk(), plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_8, PlasmaLower, PlasmaNoTrans, PlasmaTrans, plasma_sequence_t::status, trans, and uplo.


| void plasma_pdsyrk_quark | ( | PLASMA_enum | uplo, |
| PLASMA_enum | trans, | ||
| double | alpha, | ||
| PLASMA_desc | A, | ||
| double | beta, | ||
| PLASMA_desc | C, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile symmetric rank-k update - dynamic scheduling
Definition at line 180 of file pdsyrk.c.
References A, BLKLDD, C, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, PlasmaLower, PlasmaNoTrans, PlasmaTrans, plasma_context_struct::quark, QUARK_CORE_dgemm(), QUARK_CORE_dsyrk(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdtrmm | ( | plasma_context_t * | plasma | ) |

| void plasma_pdtrmm_quark | ( | PLASMA_enum | side, |
| PLASMA_enum | uplo, | ||
| PLASMA_enum | trans, | ||
| PLASMA_enum | diag, | ||
| double | alpha, | ||
| PLASMA_desc | A, | ||
| PLASMA_desc | B, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile triangular matrix-matrix multiplication - dynamic scheduling
Definition at line 269 of file pdtrmm.c.
References A, B, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, PlasmaLeft, PlasmaNoTrans, PlasmaUpper, plasma_context_struct::quark, QUARK_CORE_dgemm(), QUARK_CORE_dtrmm(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.


| void plasma_pdtrsm | ( | plasma_context_t * | plasma | ) |
Parallel tile triangular solve - static scheduling
Definition at line 24 of file pdtrsm.c.
References A, B, BLKLDD, CORE_dgemm(), CORE_dtrsm(), diag, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_9, PlasmaLeft, PlasmaLower, PlasmaNoTrans, PlasmaUpper, side, ss_cond_set, ss_cond_wait, ss_finalize, ss_init, plasma_sequence_t::status, trans, and uplo.


| void plasma_pdtrsm_quark | ( | PLASMA_enum | side, |
| PLASMA_enum | uplo, | ||
| PLASMA_enum | trans, | ||
| PLASMA_enum | diag, | ||
| double | alpha, | ||
| PLASMA_desc | A, | ||
| PLASMA_desc | B, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile triangular solve - dynamic scheduling
Definition at line 347 of file pdtrsm.c.
References A, B, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, PlasmaLeft, PlasmaNoTrans, PlasmaUpper, plasma_context_struct::quark, QUARK_CORE_dgemm(), QUARK_CORE_dtrsm(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.


| void plasma_pdtrsmpl | ( | plasma_context_t * | plasma | ) |
Parallel forward substitution for tile LU - static scheduling
Definition at line 26 of file pdtrsmpl.c.
References A, B, BLKLDD, CORE_dgessm(), CORE_dssssm(), IPIV, L, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, PLASMA_IB, PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_6, ss_cond_set, ss_cond_wait, ss_finalize, ss_init, and plasma_sequence_t::status.


| void plasma_pdtrsmpl_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | B, | ||
| PLASMA_desc | L, | ||
| int * | IPIV, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel forward substitution for tile LU - dynamic scheduling
Definition at line 113 of file pdtrsmpl.c.
References A, B, BLKLDD, IPIV, L, plasma_desc_t::m, plasma_desc_t::mb, min, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_IB, PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_CORE_dgessm(), QUARK_CORE_dssssm(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdtrsmrv | ( | plasma_context_t * | plasma | ) |

| void plasma_pdtrsmrv_quark | ( | PLASMA_enum | side, |
| PLASMA_enum | uplo, | ||
| PLASMA_enum | trans, | ||
| PLASMA_enum | diag, | ||
| double | alpha, | ||
| PLASMA_desc | A, | ||
| PLASMA_desc | W, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile ReVerse triangular solve - dynamic scheduling
Definition at line 25 of file pdtrsmrv.c.
References BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), plasma_desc_submatrix(), plasma_pdgemm_quark(), plasma_pdtrsm_quark(), PLASMA_SUCCESS, PlasmaLower, PlasmaNoTrans, PlasmaRight, PlasmaUnit, PlasmaUpperLower, plasma_context_struct::quark, QUARK_CORE_dlacpy(), QUARK_CORE_dlaset(), QUARK_CORE_dlaset2(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, TASK_SEQUENCE, and W.

| void plasma_pdtrtri_quark | ( | PLASMA_enum | uplo, |
| PLASMA_enum | diag, | ||
| PLASMA_desc | A, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile triangular matrix inverse - dynamic scheduling
Definition at line 23 of file pdtrtri.c.
References A, BLKLDD, plasma_desc_t::m, plasma_desc_t::mb, plasma_desc_t::mt, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), PLASMA_SUCCESS, PlasmaLeft, PlasmaLower, PlasmaNoTrans, PlasmaRight, plasma_context_struct::quark, QUARK_CORE_dgemm(), QUARK_CORE_dtrsm(), QUARK_CORE_dtrtri(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pdunpack | ( | plasma_context_t * | plasma | ) |
plasma_pdunpack unpack all extra elements from the end of the matrix
+—————+ | | | | | A11 | | | | | +—————+ | A21 | +—————+
This matrix is initially stored as (example of Column Major, it's the same for row major. We just consider the transpose matrix) : A11(:,:), A12(:,:)
On exit, it's stored as follow. A11(:,0), A21(:,0), A11(:,1), A21(:,1), ...
| [in] | plasma | Plasma context |
| [in] | m | Number of rows in matrix A |
| [in] | n | Number of columns in matrix A |
| [in,out] | A | Matrix A to pack. (see above for entry and exit format) |
| [in] | m0 | Number of rows of A21 |
Definition at line 166 of file pdpack.c.
References A, CORE_dlacpy(), min, plasma_barrier(), plasma_private_alloc(), plasma_private_free(), PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_6, PlasmaRealDouble, PlasmaUpperLower, plasma_sequence_t::status, and W.

