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

Go to the source code of this file.
Macros | |
| #define | plasma_cdesc_alloc(descA, mb, nb, lm, ln, i, j, m, n, free) |
| #define | plasma_cooplap2tile(descA, A, mb, nb, lm, ln, i, j, m, n, free) |
| #define | plasma_ciplap2tile(descA, A, mb, nb, lm, ln, i, j, m, n) |
| #define | plasma_cooptile2lap(descA, A, mb, nb, lm, ln) |
| #define | plasma_ciptile2lap(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_c.h.
| #define plasma_cdesc_alloc | ( | descA, | |
| mb, | |||
| nb, | |||
| lm, | |||
| ln, | |||
| i, | |||
| j, | |||
| m, | |||
| n, | |||
| free | |||
| ) |
Macro for matrix conversion / Lapack interface
Definition at line 20 of file compute_c.h.
| #define plasma_ciplap2tile | ( | descA, | |
| A, | |||
| mb, | |||
| nb, | |||
| lm, | |||
| ln, | |||
| i, | |||
| j, | |||
| m, | |||
| n | |||
| ) |
Definition at line 47 of file compute_c.h.
| #define plasma_ciptile2lap | ( | descA, | |
| A, | |||
| mb, | |||
| nb, | |||
| lm, | |||
| ln | |||
| ) |
Definition at line 65 of file compute_c.h.
| #define plasma_cooplap2tile | ( | descA, | |
| A, | |||
| mb, | |||
| nb, | |||
| lm, | |||
| ln, | |||
| i, | |||
| j, | |||
| m, | |||
| n, | |||
| free | |||
| ) |
Definition at line 30 of file compute_c.h.
| #define plasma_cooptile2lap | ( | descA, | |
| A, | |||
| mb, | |||
| nb, | |||
| lm, | |||
| ln | |||
| ) |
Definition at line 57 of file compute_c.h.
| int plasma_cshift | ( | plasma_context_t * | plasma, |
| int | m, | ||
| int | n, | ||
| PLASMA_Complex32_t * | A, | ||
| int | nprob, | ||
| int | me, | ||
| int | ne, | ||
| int | L, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Declarations of internal sequential functions
plasma_cgetmi2 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 pcshift.c.
References GKK_BalanceLoad(), GKK_getLeaderNbr(), L, minloc(), plasma_dynamic_call_9, PLASMA_ERR_ILLEGAL_VALUE, plasma_error(), PLASMA_GRPSIZE, plasma_pcshift(), 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_pcbarrier_pnl2tl_quark | ( | PLASMA_desc | A, |
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Barrier from panels to tiles
Definition at line 61 of file pcbarrier.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_pcbarrier_row2tl_quark | ( | PLASMA_desc | A, |
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Barrier from panels to tiles
Definition at line 128 of file pcbarrier.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_pcbarrier_tl2pnl_quark | ( | PLASMA_desc | A, |
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Barrier from tiles to panels
Definition at line 25 of file pcbarrier.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_pcbarrier_tl2row_quark | ( | PLASMA_desc | A, |
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Barrier from tiles to panels
Definition at line 92 of file pcbarrier.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_pcgbrdb_quark | ( | PLASMA_enum | uplo, |
| PLASMA_desc | A, | ||
| float * | D, | ||
| float * | 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 pcgbrdb.c.
References A, C, cabsf(), 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, PlasmaComplexFloat, PlasmaInteger, PlasmaLower, plasma_context_struct::quark, QUARK_Barrier(), QUARK_CORE_cbrdalg(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, TASK_SEQUENCE, TAU, and V.

| void plasma_pcgeadd | ( | plasma_context_t * | plasma | ) |
Declarations of parallel functions (static scheduling) - alphabetical order
Definition at line 23 of file pcgeadd.c.
References A, B, BLKLDD, CORE_cgeadd(), 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_pcgeadd_quark | ( | PLASMA_Complex32_t | 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 pcgeadd.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_cgeadd(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pcgelqf | ( | plasma_context_t * | plasma | ) |
Parallel tile LQ factorization - static scheduling
Definition at line 24 of file pcgelqf.c.
References A, BLKLDD, CORE_cgelqt(), CORE_ctslqt(), CORE_ctsmlq(), CORE_cunmlq(), 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, PlasmaConjTrans, PlasmaRight, ss_cond_set, ss_cond_wait, ss_finalize, ss_init, plasma_sequence_t::status, and T.


| void plasma_pcgelqf_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 pcgelqf.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, PlasmaConjTrans, PlasmaRight, plasma_context_struct::quark, QUARK_CORE_cgelqt(), QUARK_CORE_ctslqt(), QUARK_CORE_ctsmlq(), QUARK_CORE_cunmlq(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, and TASK_SEQUENCE.


| void plasma_pcgelqfrh_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 pcgelqfrh.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, PlasmaConjTrans, PlasmaRight, plasma_context_struct::quark, QUARK_CORE_cgelqt(), QUARK_CORE_ctslqt(), QUARK_CORE_ctsmlq(), QUARK_CORE_cttlqt(), QUARK_CORE_cttmlq(), QUARK_CORE_cunmlq(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, T2, and TASK_SEQUENCE.

| void plasma_pcgemm | ( | plasma_context_t * | plasma | ) |
Parallel tile matrix-matrix multiplication - static scheduling
Definition at line 24 of file pcgemm.c.
References A, B, BLKLDD, C, CORE_cgemm(), 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_pcgemm_quark | ( | PLASMA_enum | transA, |
| PLASMA_enum | transB, | ||
| PLASMA_Complex32_t | alpha, | ||
| PLASMA_desc | A, | ||
| PLASMA_desc | B, | ||
| PLASMA_Complex32_t | beta, | ||
| PLASMA_desc | C, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile matrix-matrix multiplication - dynamic scheduling
Definition at line 149 of file pcgemm.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_cgemm(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.


| void plasma_pcgeqrf | ( | plasma_context_t * | plasma | ) |
Parallel tile QR factorization - static scheduling
Definition at line 24 of file pcgeqrf.c.
References A, BLKLDD, CORE_cgeqrt(), CORE_ctsmqr(), CORE_ctsqrt(), CORE_cunmqr(), 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, PlasmaConjTrans, PlasmaLeft, ss_cond_set, ss_cond_wait, ss_finalize, ss_init, plasma_sequence_t::status, and T.


| void plasma_pcgeqrf_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 pcgeqrf.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, PlasmaConjTrans, PlasmaLeft, plasma_context_struct::quark, QUARK_CORE_cgeqrt(), QUARK_CORE_ctsmqr(), QUARK_CORE_ctsqrt(), QUARK_CORE_cunmqr(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, and TASK_SEQUENCE.


| void plasma_pcgeqrfrh_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 pcgeqrfrh.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, PlasmaConjTrans, PlasmaLeft, plasma_context_struct::quark, QUARK_CORE_cgeqrt(), QUARK_CORE_ctsmqr(), QUARK_CORE_ctsqrt(), QUARK_CORE_cttmqr(), QUARK_CORE_cttqrt(), QUARK_CORE_cunmqr(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, T2, and TASK_SEQUENCE.

| void plasma_pcgerbb | ( | 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 unmqr and unmlq are not implementing all the cases required in static.
Definition at line 26 of file pcgerbb.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_pcgelqf(), plasma_pcgeqrf(), plasma_pcunmlq(), plasma_pcunmqr(), plasma_static_call_4, plasma_static_call_7, PLASMA_SUCCESS, plasma_unpack_args_4, PlasmaConjTrans, PlasmaLeft, PlasmaRight, plasma_sequence_t::status, and T.


| void plasma_pcgerbb_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 pcgerbb.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_pcgelqf_quark(), plasma_pcgeqrf_quark(), plasma_pcunmlq_quark(), plasma_pcunmqr_quark(), PlasmaConjTrans, PlasmaLeft, and PlasmaRight.

| void plasma_pcgerbbrh_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
| void plasma_pcgerbh_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
| void plasma_pcgetmi2 | ( | plasma_context_t * | plasma | ) |
plasma_pcgetmi2 - 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 pcgetmi2.c.
References A, CORE_cgetrip(), plasma_private_alloc(), plasma_private_free(), PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_10, PlasmaComplexFloat, plasma_sequence_t::status, and storev.

| void plasma_pcgetmi2_quark | ( | PLASMA_enum | idep, |
| PLASMA_enum | odep, | ||
| PLASMA_enum | storev, | ||
| int | m, | ||
| int | n, | ||
| int | mb, | ||
| int | nb, | ||
| PLASMA_Complex32_t * | A, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
plasma_pcgetmi2_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 pcgetmi2.c.
References GATHERV, INOUT, INPUT, plasma_context_self(), PLASMA_SUCCESS, PlasmaColumnwise, PlasmaIPT_All, PlasmaIPT_NoDep, PlasmaIPT_Panel, plasma_context_struct::quark, QUARK_CORE_cgetrip(), QUARK_CORE_cgetrip_f1(), QUARK_CORE_cgetrip_f2(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pcgetrf_incpiv | ( | plasma_context_t * | plasma | ) |
Parallel tile LU factorization - static scheduling
Definition at line 25 of file pcgetrf_incpiv.c.
References A, BLKLDD, CORE_cgessm(), CORE_cgetrf_incpiv(), CORE_cssssm(), CORE_ctstrf(), 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_pcgetrf_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 pcgetrf_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_cgessm(), QUARK_CORE_cgetrf_incpiv(), QUARK_CORE_cssssm(), QUARK_CORE_ctstrf(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pcgetrf_reclap_quark | ( | PLASMA_desc | A, |
| int * | IPIV, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
| void plasma_pcgetrf_rectil_quark | ( | PLASMA_desc | A, |
| int * | IPIV, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
| void plasma_pchbrdt_quark | ( | PLASMA_enum | uplo, |
| PLASMA_desc | A, | ||
| float * | D, | ||
| float * | 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 pchbrdt.c.
References A, C, cabsf(), 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, PlasmaComplexFloat, PlasmaInteger, PlasmaLower, plasma_context_struct::quark, QUARK_Barrier(), QUARK_CORE_ctrdalg(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pchegst_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 pchegst.c.
References B, BLKLDD, plasma_desc_t::n, plasma_desc_t::nb, plasma_desc_t::nt, plasma_context_self(), plasma_desc_submatrix(), plasma_pchemm_quark(), plasma_pcher2k_quark(), plasma_pctrmm_quark(), plasma_pctrsm_quark(), PLASMA_SUCCESS, PlasmaConjTrans, PlasmaLeft, PlasmaLower, PlasmaNonUnit, PlasmaNoTrans, PlasmaRight, plasma_context_struct::quark, QUARK_CORE_chegst(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pcherbt_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 pcherbt.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, PlasmaConjTrans, PlasmaLeft, PlasmaLower, PlasmaNoTrans, PlasmaRight, PlasmaUpper, plasma_context_struct::quark, QUARK_CORE_cgelqt(), QUARK_CORE_cgeqrt(), QUARK_CORE_cherfb(), QUARK_CORE_ctslqt(), QUARK_CORE_ctsmlq(), QUARK_CORE_ctsmlq_corner(), QUARK_CORE_ctsmlq_hetra1(), QUARK_CORE_ctsmqr(), QUARK_CORE_ctsmqr_corner(), QUARK_CORE_ctsmqr_hetra1(), QUARK_CORE_ctsqrt(), QUARK_CORE_cunmlq(), QUARK_CORE_cunmqr(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, and TASK_SEQUENCE.

| void plasma_pclacpy | ( | plasma_context_t * | plasma | ) |
Definition at line 23 of file pclacpy.c.
References A, B, BLKLDD, CORE_clacpy(), 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_pclacpy_quark | ( | PLASMA_enum | uplo, |
| PLASMA_desc | A, | ||
| PLASMA_desc | B, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Definition at line 153 of file pclacpy.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_clacpy(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pclag2z | ( | plasma_context_t * | plasma | ) |
Definition at line 111 of file pzlag2c.c.
References B, BLKLDD, CORE_clag2z(), 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, SA, and plasma_sequence_t::status.

| void plasma_pclag2z_quark | ( | PLASMA_desc | A, |
| PLASMA_desc | SB, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Definition at line 159 of file pzlag2c.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_clag2z(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pclange | ( | plasma_context_t * | plasma | ) |
Definition at line 24 of file pclange.c.
References A, BLKLDD, CORE_clange(), CORE_scasum(), CORE_slange(), 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_pclange_quark | ( | PLASMA_enum | norm, |
| PLASMA_desc | A, | ||
| float * | work, | ||
| float * | result, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Definition at line 202 of file pclange.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_clange_f1(), QUARK_CORE_free(), QUARK_CORE_scasum_f1(), QUARK_CORE_slange(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pclansy | ( | plasma_context_t * | plasma | ) |
Definition at line 24 of file pclansy.c.
References A, BLKLDD, CORE_clange(), CORE_clansy(), CORE_scasum(), CORE_slange(), 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_pclansy_quark | ( | PLASMA_enum | norm, |
| PLASMA_enum | uplo, | ||
| PLASMA_desc | A, | ||
| float * | work, | ||
| float * | result, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Definition at line 219 of file pclansy.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_clange_f1(), QUARK_CORE_clansy_f1(), QUARK_CORE_free(), QUARK_CORE_scasum_f1(), QUARK_CORE_slange(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pclaset2_quark | ( | PLASMA_enum | uplo, |
| PLASMA_Complex32_t | 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 pclaset2.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_claset2(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pclaset_quark | ( | PLASMA_enum | uplo, |
| PLASMA_Complex32_t | alpha, | ||
| PLASMA_Complex32_t | 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 pclaset.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_claset(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pclaswp_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 pclaswp.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_claswp_ontile(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pclaswpc_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 pclaswpc.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_claswpc_ontile(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pclauum_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 pclauum.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, PlasmaConjTrans, PlasmaLeft, PlasmaLower, PlasmaNonUnit, PlasmaNoTrans, PlasmaRight, plasma_context_struct::quark, QUARK_CORE_cgemm(), QUARK_CORE_cherk(), QUARK_CORE_clauum(), QUARK_CORE_ctrmm(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pcpack | ( | plasma_context_t * | plasma | ) |
plasma_pcpack 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 pcpack.c.
References A, CORE_clacpy(), min, plasma_barrier(), plasma_private_alloc(), plasma_private_free(), PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_6, PlasmaComplexFloat, PlasmaUpperLower, plasma_sequence_t::status, and W.


| void plasma_pcplghe | ( | plasma_context_t * | plasma | ) |
Parallel tile Cholesky factorization - static scheduling
Definition at line 21 of file pcplghe.c.
References A, BLKLDD, CORE_cplghe(), 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_pcplghe_quark | ( | float | 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 pcplghe.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_cplghe(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pcplgsy | ( | plasma_context_t * | plasma | ) |
Parallel tile Cholesky factorization - static scheduling
Definition at line 21 of file pcplgsy.c.
References A, BLKLDD, CORE_cplgsy(), 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_pcplgsy_quark | ( | PLASMA_Complex32_t | 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 pcplgsy.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_cplgsy(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pcplrnt | ( | plasma_context_t * | plasma | ) |
Parallel tile Cholesky factorization - static scheduling
Definition at line 21 of file pcplrnt.c.
References A, BLKLDD, CORE_cplrnt(), 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_pcplrnt_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 pcplrnt.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_cplrnt(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pcpotrf | ( | plasma_context_t * | plasma | ) |
Parallel tile Cholesky factorization - static scheduling
Definition at line 23 of file pcpotrf.c.
References A, BLKLDD, CORE_cgemm(), CORE_cherk(), CORE_cpotrf(), CORE_ctrsm(), 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, PlasmaConjTrans, PlasmaLeft, PlasmaLower, PlasmaNonUnit, PlasmaNoTrans, PlasmaRight, PlasmaUpper, ss_abort, ss_aborted, ss_cond_set, ss_cond_wait, ss_finalize, ss_init, plasma_sequence_t::status, and uplo.


| void plasma_pcpotrf_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 pcpotrf.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, PlasmaConjTrans, PlasmaLeft, PlasmaLower, PlasmaNonUnit, PlasmaNoTrans, PlasmaRight, PlasmaUpper, plasma_context_struct::quark, QUARK_CORE_cgemm(), QUARK_CORE_cherk(), QUARK_CORE_cpotrf(), QUARK_CORE_ctrsm(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pcshift | ( | plasma_context_t * | plasma | ) |
plasma_pcshift 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 pcshift.c.
References A, CORE_cshiftw(), L, modpow(), plasma_barrier(), plasma_private_alloc(), plasma_private_free(), PLASMA_RANK, PLASMA_SUCCESS, plasma_unpack_args_9, PlasmaComplexFloat, plasma_sequence_t::status, and W.


| void plasma_pcshift_quark | ( | int | , |
| int | , | ||
| int | , | ||
| PLASMA_Complex32_t * | , | ||
| int * | , | ||
| int | , | ||
| int | , | ||
| PLASMA_sequence * | , | ||
| PLASMA_request * | |||
| ) |
Definition at line 289 of file pcshift.c.
References CORE_foo_quark(), INOUT, L, plasma_context_self(), PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_CORE_cshift(), 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_pcsymm | ( | plasma_context_t * | plasma | ) |
Parallel tile symmetric matrix-matrix multiplication - static scheduling
Definition at line 24 of file pcsymm.c.
References A, B, BLKLDD, C, CORE_cgemm(), CORE_csymm(), 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_pcsymm_quark | ( | PLASMA_enum | side, |
| PLASMA_enum | uplo, | ||
| PLASMA_Complex32_t | alpha, | ||
| PLASMA_desc | A, | ||
| PLASMA_desc | B, | ||
| PLASMA_Complex32_t | beta, | ||
| PLASMA_desc | C, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile symmetric matrix-matrix multiplication - dynamic scheduling
Definition at line 231 of file pcsymm.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_cgemm(), QUARK_CORE_csymm(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pcsyr2k | ( | plasma_context_t * | plasma | ) |
Parallel tile Hermitian rank-k update - static scheduling
Definition at line 23 of file pcsyr2k.c.
References A, B, BLKLDD, C, CORE_cgemm(), CORE_csyr2k(), 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_pcsyr2k_quark | ( | PLASMA_enum | uplo, |
| PLASMA_enum | trans, | ||
| PLASMA_Complex32_t | alpha, | ||
| PLASMA_desc | A, | ||
| PLASMA_desc | B, | ||
| PLASMA_Complex32_t | beta, | ||
| PLASMA_desc | C, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile Hermitian rank-k update - dynamic scheduling
Definition at line 217 of file pcsyr2k.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_cgemm(), QUARK_CORE_csyr2k(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pcsyrk | ( | plasma_context_t * | plasma | ) |
Parallel tile symmetric rank-k update - static scheduling
Definition at line 23 of file pcsyrk.c.
References A, BLKLDD, C, CORE_cgemm(), CORE_csyrk(), 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_pcsyrk_quark | ( | PLASMA_enum | uplo, |
| PLASMA_enum | trans, | ||
| PLASMA_Complex32_t | alpha, | ||
| PLASMA_desc | A, | ||
| PLASMA_Complex32_t | beta, | ||
| PLASMA_desc | C, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Parallel tile symmetric rank-k update - dynamic scheduling
Definition at line 180 of file pcsyrk.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_cgemm(), QUARK_CORE_csyrk(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pctrmm | ( | plasma_context_t * | plasma | ) |

| void plasma_pctrmm_quark | ( | PLASMA_enum | side, |
| PLASMA_enum | uplo, | ||
| PLASMA_enum | trans, | ||
| PLASMA_enum | diag, | ||
| PLASMA_Complex32_t | 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 pctrmm.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_cgemm(), QUARK_CORE_ctrmm(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.


| void plasma_pctrsm | ( | plasma_context_t * | plasma | ) |
Parallel tile triangular solve - static scheduling
Definition at line 24 of file pctrsm.c.
References A, B, BLKLDD, CORE_cgemm(), CORE_ctrsm(), 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_pctrsm_quark | ( | PLASMA_enum | side, |
| PLASMA_enum | uplo, | ||
| PLASMA_enum | trans, | ||
| PLASMA_enum | diag, | ||
| PLASMA_Complex32_t | 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 pctrsm.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_cgemm(), QUARK_CORE_ctrsm(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.


| void plasma_pctrsmpl | ( | plasma_context_t * | plasma | ) |
Parallel forward substitution for tile LU - static scheduling
Definition at line 26 of file pctrsmpl.c.
References A, B, BLKLDD, CORE_cgessm(), CORE_cssssm(), 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_pctrsmpl_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 pctrsmpl.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_cgessm(), QUARK_CORE_cssssm(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pctrsmrv | ( | plasma_context_t * | plasma | ) |

| void plasma_pctrsmrv_quark | ( | PLASMA_enum | side, |
| PLASMA_enum | uplo, | ||
| PLASMA_enum | trans, | ||
| PLASMA_enum | diag, | ||
| PLASMA_Complex32_t | 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 pctrsmrv.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_pcgemm_quark(), plasma_pctrsm_quark(), PLASMA_SUCCESS, PlasmaLower, PlasmaNoTrans, PlasmaRight, PlasmaUnit, PlasmaUpperLower, plasma_context_struct::quark, QUARK_CORE_clacpy(), QUARK_CORE_claset(), QUARK_CORE_claset2(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, TASK_SEQUENCE, and W.

| void plasma_pctrtri_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 pctrtri.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_cgemm(), QUARK_CORE_ctrsm(), QUARK_CORE_ctrtri(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, and TASK_SEQUENCE.

| void plasma_pcungbr_quark | ( | PLASMA_enum | side, |
| PLASMA_desc | A, | ||
| PLASMA_desc | O, | ||
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
| void plasma_pcungbrrh_quark | ( | PLASMA_enum | side, |
| PLASMA_desc | A, | ||
| PLASMA_desc | O, | ||
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
| void plasma_pcunglq | ( | plasma_context_t * | plasma | ) |

| void plasma_pcunglq_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 pcunglq.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_ctsmlq(), QUARK_CORE_cunmlq(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, and TASK_SEQUENCE.

| void plasma_pcunglqrh_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 pcunglqrh.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_ctsmlq(), QUARK_CORE_cttmlq(), QUARK_CORE_cunmlq(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, T2, and TASK_SEQUENCE.

| void plasma_pcungqr | ( | plasma_context_t * | plasma | ) |

| void plasma_pcungqr_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 pcungqr.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_ctsmqr(), QUARK_CORE_cunmqr(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, and TASK_SEQUENCE.

| void plasma_pcungqrrh | ( | plasma_context_t * | plasma | ) |

| void plasma_pcungqrrh_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 pcungqrrh.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_ctsmqr(), QUARK_CORE_cttmqr(), QUARK_CORE_cunmqr(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, T2, and TASK_SEQUENCE.

| void plasma_pcungtr_quark | ( | PLASMA_enum | uplo, |
| PLASMA_desc | A, | ||
| PLASMA_desc | Q, | ||
| PLASMA_desc | T, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
| void plasma_pcunmlq | ( | plasma_context_t * | plasma | ) |
Parallel application of Q using tile V - LQ factorization - static scheduling
Definition at line 26 of file pcunmlq.c.
References A, B, BLKLDD, CORE_ctsmlq(), CORE_cunmlq(), 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, PlasmaConjTrans, PlasmaLeft, side, ss_cond_set, ss_cond_wait, ss_finalize, ss_init, plasma_sequence_t::status, T, and trans.


| void plasma_pcunmlq_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 pcunmlq.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_ctsmlq(), QUARK_CORE_cunmlq(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, and TASK_SEQUENCE.


| void plasma_pcunmlqrh_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 pcunmlqrh.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_ctsmlq(), QUARK_CORE_cttmlq(), QUARK_CORE_cunmlq(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, T2, and TASK_SEQUENCE.

| void plasma_pcunmqr | ( | plasma_context_t * | plasma | ) |
Parallel application of Q using tile V - QR factorization - static scheduling
Definition at line 26 of file pcunmqr.c.
References A, B, BLKLDD, CORE_ctsmqr(), CORE_cunmqr(), 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, PlasmaConjTrans, PlasmaLeft, side, ss_cond_set, ss_cond_wait, ss_finalize, ss_init, plasma_sequence_t::status, T, and trans.


| void plasma_pcunmqr_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 pcunmqr.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, PlasmaConjTrans, PlasmaLeft, plasma_context_struct::quark, QUARK_CORE_ctsmqr(), QUARK_CORE_cunmqr(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, and TASK_SEQUENCE.


| void plasma_pcunmqrrh_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 pcunmqrrh.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, PlasmaConjTrans, PlasmaLeft, plasma_context_struct::quark, QUARK_CORE_ctsmqr(), QUARK_CORE_cttmqr(), QUARK_CORE_cunmqr(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, T, T2, and TASK_SEQUENCE.

| void plasma_pcunpack | ( | plasma_context_t * | plasma | ) |
plasma_pcunpack 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 pcpack.c.
References A, CORE_clacpy(), min, plasma_barrier(), plasma_private_alloc(), plasma_private_free(), PLASMA_RANK, PLASMA_SIZE, PLASMA_SUCCESS, plasma_unpack_args_6, PlasmaComplexFloat, PlasmaUpperLower, plasma_sequence_t::status, and W.

