PaStiX Handbook
6.3.2
|
Functions | |
parsec_taskpool_t * | parsec_chetrf_sp1dplus_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data) |
Generate the PaRSEC taskpool object for the LDL^h factorization with 1D kernels. More... | |
void | parsec_chetrf_sp1dplus_Destruct (parsec_taskpool_t *taskpool) |
Free the data structure associated to a taskpool created with parsec_chetrf_sp1dplus_New(). More... | |
int | parsec_chetrf_sp1dplus (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data) |
Perform a sparse LDL^h factorization with 1D kernels. More... | |
parsec_taskpool_t * | parsec_chetrf_sp2d_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data) |
Generate the PaRSEC taskpool object for the LDL^h factorization with 1D and 2D kernels. More... | |
void | parsec_chetrf_sp2d_Destruct (parsec_taskpool_t *taskpool) |
Free the data structure associated to a taskpool created with parsec_chetrf_sp2d_New(). More... | |
int | parsec_chetrf_sp2d (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data) |
Perform a sparse LDL^h factorization with 1D and 2D kernels. More... | |
void | parsec_chetrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data) |
Perform a sparse LDL^h factorization using PaRSEC runtime. More... | |
parsec_taskpool_t * | parsec_zhetrf_sp1dplus_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data) |
Generate the PaRSEC taskpool object for the LDL^h factorization with 1D kernels. More... | |
void | parsec_zhetrf_sp1dplus_Destruct (parsec_taskpool_t *taskpool) |
Free the data structure associated to a taskpool created with parsec_zhetrf_sp1dplus_New(). More... | |
int | parsec_zhetrf_sp1dplus (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data) |
Perform a sparse LDL^h factorization with 1D kernels. More... | |
parsec_taskpool_t * | parsec_zhetrf_sp2d_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data) |
Generate the PaRSEC taskpool object for the LDL^h factorization with 1D and 2D kernels. More... | |
void | parsec_zhetrf_sp2d_Destruct (parsec_taskpool_t *taskpool) |
Free the data structure associated to a taskpool created with parsec_zhetrf_sp2d_New(). More... | |
int | parsec_zhetrf_sp2d (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data) |
Perform a sparse LDL^h factorization with 1D and 2D kernels. More... | |
void | parsec_zhetrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data) |
Perform a sparse LDL^h factorization using PaRSEC runtime. More... | |
parsec_taskpool_t* parsec_chetrf_sp1dplus_New | ( | parsec_sparse_matrix_desc_t * | A, |
sopalin_data_t * | sopalin_data | ||
) |
Generate the PaRSEC taskpool object for the LDL^h factorization with 1D kernels.
The function only return the object that describes the LDL^h factorization of a sparse hermitian matrix A. The factorization has the form
\[ A = L \times D \times L^h \]
where L is a sparse lower triangular matrix unitary on the diagonal, and D a diagonal matrix.
In this object, all operations are panel based operation which might result in lower parallelism for large problems.
[in,out] | A | Descriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix. |
[in,out] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
NULL | if incorrect parameters are given. |
The | parsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_chetrf_sp1dplus_Destruct(). |
Definition at line 79 of file parsec_chetrf.c.
References parsec_chetrf_sp1dplus(), pastix_int_t, and PastixCompressNever.
Referenced by parsec_chetrf_sp1dplus().
void parsec_chetrf_sp1dplus_Destruct | ( | parsec_taskpool_t * | taskpool | ) |
Free the data structure associated to a taskpool created with parsec_chetrf_sp1dplus_New().
[in,out] | taskpool | On entry, the taskpool to destroy. On exit, the taskpool cannot be used anymore. |
Definition at line 128 of file parsec_chetrf.c.
References parsec_chetrf_sp1dplus().
Referenced by parsec_chetrf_sp1dplus().
int parsec_chetrf_sp1dplus | ( | parsec_context_t * | parsec, |
parsec_sparse_matrix_desc_t * | A, | ||
sopalin_data_t * | sopalin_data | ||
) |
Perform a sparse LDL^h factorization with 1D kernels.
The function performs the LDL^h factorization of a sparse hermitian matrix A. The factorization has the form
\[ A = L \times D \times L^h \]
where L is a sparse lower triangular matrix unitary on the diagonal, and D a diagonal matrix.
[in,out] | parsec | The parsec context of the application that will run the operation. |
[in,out] | A | Descriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix. |
[in,out] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
NULL | if incorrect parameters are given. |
The | parsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_chetrf_sp1dplus_Destruct(). |
Definition at line 180 of file parsec_chetrf.c.
References parsec_chetrf_sp1dplus_Destruct(), and parsec_chetrf_sp1dplus_New().
Referenced by parsec_chetrf(), parsec_chetrf_sp1dplus_Destruct(), and parsec_chetrf_sp1dplus_New().
parsec_taskpool_t* parsec_chetrf_sp2d_New | ( | parsec_sparse_matrix_desc_t * | A, |
sopalin_data_t * | sopalin_data | ||
) |
Generate the PaRSEC taskpool object for the LDL^h factorization with 1D and 2D kernels.
The function only returns the object that describes the LDL^h factorization of a sparse hermitian matrix A. The factorization has the form
\[ A = L \times D \times L^h \]
where L is a sparse lower triangular matrix unitary on the diagonal, and D a diagonal matrix.
In this object, operations are panel based operations for the lower levels of the elimination tree, and the higher levels are taskpool by 2D tasks scheme to create more parallelism and adapt to large architectures.
[in,out] | A | Descriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix. |
[in,out] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
NULL | if incorrect parameters are given. |
The | parsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_chetrf_sp2d_Destruct(). |
Definition at line 249 of file parsec_chetrf.c.
References parsec_chetrf_sp2d(), pastix_int_t, and PastixCompressNever.
Referenced by parsec_chetrf_sp2d().
void parsec_chetrf_sp2d_Destruct | ( | parsec_taskpool_t * | taskpool | ) |
Free the data structure associated to a taskpool created with parsec_chetrf_sp2d_New().
[in,out] | taskpool | On entry, the taskpool to destroy. On exit, the taskpool cannot be used anymore. |
Definition at line 303 of file parsec_chetrf.c.
References parsec_chetrf_sp2d().
Referenced by parsec_chetrf_sp2d().
int parsec_chetrf_sp2d | ( | parsec_context_t * | parsec, |
parsec_sparse_matrix_desc_t * | A, | ||
sopalin_data_t * | sopalin_data | ||
) |
Perform a sparse LDL^h factorization with 1D and 2D kernels.
The function performs the LDL^h factorization of a sparse hermitian matrix A. The factorization has the form
\[ A = L \times D \times L^h \]
where L is a sparse lower triangular matrix unitary on the diagonal, and D a diagonal matrix.
[in,out] | parsec | The parsec context of the application that will run the operation. |
[in,out] | A | Descriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix. |
[in,out] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
NULL | if incorrect parameters are given. |
The | parsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_chetrf_sp2d_Destruct(). |
Definition at line 358 of file parsec_chetrf.c.
References parsec_chetrf_sp2d_Destruct(), and parsec_chetrf_sp2d_New().
Referenced by parsec_chetrf(), parsec_chetrf_sp2d_Destruct(), and parsec_chetrf_sp2d_New().
void parsec_chetrf | ( | pastix_data_t * | pastix_data, |
sopalin_data_t * | sopalin_data | ||
) |
Perform a sparse LDL^h factorization using PaRSEC runtime.
The function performs the LDL^h factorization of a sparse hermitian matrix A. The factorization has the form
\[ A = L \times D \times L^h \]
where L is a sparse lower triangular matrix unitary on the diagonal, and D a diagonal matrix.
The algorithm is automatically chosen between the 1D and 2D version based on the API parameter IPARM_TASKS2D_LEVEL. If IPARM_TASKS2D_LEVEL != 0 the 2D scheme is applied, the 1D otherwise.
[in,out] | pastix_data | The pastix_data structure that describes the solver instance. |
[in,out] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
Definition at line 411 of file parsec_chetrf.c.
References pastix_data_s::inter_node_procnbr, pastix_data_s::inter_node_procnum, pastix_data_s::iparm, IPARM_TASKS2D_LEVEL, pastix_data_s::parsec, parsec_chetrf_sp1dplus(), parsec_chetrf_sp2d(), parsec_sparse_matrix_init(), pastix_parsec_init(), PastixHermitian, and parsec_sparse_matrix_desc_s::solvmtx.
parsec_taskpool_t* parsec_zhetrf_sp1dplus_New | ( | parsec_sparse_matrix_desc_t * | A, |
sopalin_data_t * | sopalin_data | ||
) |
Generate the PaRSEC taskpool object for the LDL^h factorization with 1D kernels.
The function only return the object that describes the LDL^h factorization of a sparse hermitian matrix A. The factorization has the form
\[ A = L \times D \times L^h \]
where L is a sparse lower triangular matrix unitary on the diagonal, and D a diagonal matrix.
In this object, all operations are panel based operation which might result in lower parallelism for large problems.
[in,out] | A | Descriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix. |
[in,out] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
NULL | if incorrect parameters are given. |
The | parsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_zhetrf_sp1dplus_Destruct(). |
Definition at line 79 of file parsec_zhetrf.c.
References parsec_zhetrf_sp1dplus(), pastix_int_t, and PastixCompressNever.
Referenced by parsec_zhetrf_sp1dplus().
void parsec_zhetrf_sp1dplus_Destruct | ( | parsec_taskpool_t * | taskpool | ) |
Free the data structure associated to a taskpool created with parsec_zhetrf_sp1dplus_New().
[in,out] | taskpool | On entry, the taskpool to destroy. On exit, the taskpool cannot be used anymore. |
Definition at line 128 of file parsec_zhetrf.c.
References parsec_zhetrf_sp1dplus().
Referenced by parsec_zhetrf_sp1dplus().
int parsec_zhetrf_sp1dplus | ( | parsec_context_t * | parsec, |
parsec_sparse_matrix_desc_t * | A, | ||
sopalin_data_t * | sopalin_data | ||
) |
Perform a sparse LDL^h factorization with 1D kernels.
The function performs the LDL^h factorization of a sparse hermitian matrix A. The factorization has the form
\[ A = L \times D \times L^h \]
where L is a sparse lower triangular matrix unitary on the diagonal, and D a diagonal matrix.
[in,out] | parsec | The parsec context of the application that will run the operation. |
[in,out] | A | Descriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix. |
[in,out] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
NULL | if incorrect parameters are given. |
The | parsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_zhetrf_sp1dplus_Destruct(). |
Definition at line 180 of file parsec_zhetrf.c.
References parsec_zhetrf_sp1dplus_Destruct(), and parsec_zhetrf_sp1dplus_New().
Referenced by parsec_zhetrf(), parsec_zhetrf_sp1dplus_Destruct(), and parsec_zhetrf_sp1dplus_New().
parsec_taskpool_t* parsec_zhetrf_sp2d_New | ( | parsec_sparse_matrix_desc_t * | A, |
sopalin_data_t * | sopalin_data | ||
) |
Generate the PaRSEC taskpool object for the LDL^h factorization with 1D and 2D kernels.
The function only returns the object that describes the LDL^h factorization of a sparse hermitian matrix A. The factorization has the form
\[ A = L \times D \times L^h \]
where L is a sparse lower triangular matrix unitary on the diagonal, and D a diagonal matrix.
In this object, operations are panel based operations for the lower levels of the elimination tree, and the higher levels are taskpool by 2D tasks scheme to create more parallelism and adapt to large architectures.
[in,out] | A | Descriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix. |
[in,out] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
NULL | if incorrect parameters are given. |
The | parsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_zhetrf_sp2d_Destruct(). |
Definition at line 249 of file parsec_zhetrf.c.
References parsec_zhetrf_sp2d(), pastix_int_t, and PastixCompressNever.
Referenced by parsec_zhetrf_sp2d().
void parsec_zhetrf_sp2d_Destruct | ( | parsec_taskpool_t * | taskpool | ) |
Free the data structure associated to a taskpool created with parsec_zhetrf_sp2d_New().
[in,out] | taskpool | On entry, the taskpool to destroy. On exit, the taskpool cannot be used anymore. |
Definition at line 303 of file parsec_zhetrf.c.
References parsec_zhetrf_sp2d().
Referenced by parsec_zhetrf_sp2d().
int parsec_zhetrf_sp2d | ( | parsec_context_t * | parsec, |
parsec_sparse_matrix_desc_t * | A, | ||
sopalin_data_t * | sopalin_data | ||
) |
Perform a sparse LDL^h factorization with 1D and 2D kernels.
The function performs the LDL^h factorization of a sparse hermitian matrix A. The factorization has the form
\[ A = L \times D \times L^h \]
where L is a sparse lower triangular matrix unitary on the diagonal, and D a diagonal matrix.
[in,out] | parsec | The parsec context of the application that will run the operation. |
[in,out] | A | Descriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix. |
[in,out] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
NULL | if incorrect parameters are given. |
The | parsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_zhetrf_sp2d_Destruct(). |
Definition at line 358 of file parsec_zhetrf.c.
References parsec_zhetrf_sp2d_Destruct(), and parsec_zhetrf_sp2d_New().
Referenced by parsec_zhetrf(), parsec_zhetrf_sp2d_Destruct(), and parsec_zhetrf_sp2d_New().
void parsec_zhetrf | ( | pastix_data_t * | pastix_data, |
sopalin_data_t * | sopalin_data | ||
) |
Perform a sparse LDL^h factorization using PaRSEC runtime.
The function performs the LDL^h factorization of a sparse hermitian matrix A. The factorization has the form
\[ A = L \times D \times L^h \]
where L is a sparse lower triangular matrix unitary on the diagonal, and D a diagonal matrix.
The algorithm is automatically chosen between the 1D and 2D version based on the API parameter IPARM_TASKS2D_LEVEL. If IPARM_TASKS2D_LEVEL != 0 the 2D scheme is applied, the 1D otherwise.
[in,out] | pastix_data | The pastix_data structure that describes the solver instance. |
[in,out] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
Definition at line 411 of file parsec_zhetrf.c.
References pastix_data_s::inter_node_procnbr, pastix_data_s::inter_node_procnum, pastix_data_s::iparm, IPARM_TASKS2D_LEVEL, pastix_data_s::parsec, parsec_sparse_matrix_init(), parsec_zhetrf_sp1dplus(), parsec_zhetrf_sp2d(), pastix_parsec_init(), PastixHermitian, and parsec_sparse_matrix_desc_s::solvmtx.