PaStiX Handbook  6.4.0

Functions

parsec_taskpool_t * parsec_ssytrf_sp1dplus_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpool object for the LDL^t factorization with 1D kernels. More...
 
void parsec_ssytrf_sp1dplus_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_ssytrf_sp1dplus_New(). More...
 
int parsec_ssytrf_sp1dplus (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse LDL^t factorization with 1D kernels. More...
 
parsec_taskpool_t * parsec_ssytrf_sp2d_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpool object for the LDL^t factorization with 1D and 2D kernels. More...
 
void parsec_ssytrf_sp2d_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_ssytrf_sp2d_New(). More...
 
int parsec_ssytrf_sp2d (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse LDL^t factorization with 1D and 2D kernels. More...
 
void parsec_ssytrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
 Perform a sparse LDL^t factorization using PaRSEC runtime. More...
 
parsec_taskpool_t * parsec_zsytrf_sp1dplus_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpool object for the LDL^t factorization with 1D kernels. More...
 
void parsec_zsytrf_sp1dplus_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_zsytrf_sp1dplus_New(). More...
 
int parsec_zsytrf_sp1dplus (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse LDL^t factorization with 1D kernels. More...
 
parsec_taskpool_t * parsec_zsytrf_sp2d_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpool object for the LDL^t factorization with 1D and 2D kernels. More...
 
void parsec_zsytrf_sp2d_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_zsytrf_sp2d_New(). More...
 
int parsec_zsytrf_sp2d (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse LDL^t factorization with 1D and 2D kernels. More...
 
void parsec_zsytrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
 Perform a sparse LDL^t factorization using PaRSEC runtime. More...
 
parsec_taskpool_t * parsec_dsytrf_sp1dplus_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpool object for the LDL^t factorization with 1D kernels. More...
 
void parsec_dsytrf_sp1dplus_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_dsytrf_sp1dplus_New(). More...
 
int parsec_dsytrf_sp1dplus (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse LDL^t factorization with 1D kernels. More...
 
parsec_taskpool_t * parsec_dsytrf_sp2d_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpool object for the LDL^t factorization with 1D and 2D kernels. More...
 
void parsec_dsytrf_sp2d_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_dsytrf_sp2d_New(). More...
 
int parsec_dsytrf_sp2d (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse LDL^t factorization with 1D and 2D kernels. More...
 
void parsec_dsytrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
 Perform a sparse LDL^t factorization using PaRSEC runtime. More...
 
parsec_taskpool_t * parsec_csytrf_sp1dplus_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpool object for the LDL^t factorization with 1D kernels. More...
 
void parsec_csytrf_sp1dplus_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_csytrf_sp1dplus_New(). More...
 
int parsec_csytrf_sp1dplus (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse LDL^t factorization with 1D kernels. More...
 
parsec_taskpool_t * parsec_csytrf_sp2d_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpool object for the LDL^t factorization with 1D and 2D kernels. More...
 
void parsec_csytrf_sp2d_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_csytrf_sp2d_New(). More...
 
int parsec_csytrf_sp2d (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse LDL^t factorization with 1D and 2D kernels. More...
 
void parsec_csytrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
 Perform a sparse LDL^t factorization using PaRSEC runtime. More...
 

Detailed Description

Function Documentation

◆ parsec_ssytrf_sp1dplus_New()

parsec_taskpool_t* parsec_ssytrf_sp1dplus_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Generate the PaRSEC taskpool object for the LDL^t factorization with 1D kernels.

The function only return the object that describes the LDL^t factorization of a sparse symmetric matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

where L is a sparse lower triangular matrix orthogonal 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.

Warning
The computations are not done by this call.
Parameters
[in,out]ADescriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
Return values
NULLif incorrect parameters are given.
Theparsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_ssytrf_sp1dplus_Destruct().
See also
parsec_ssytrf_sp1dplus
parsec_ssytrf_sp1dplus_Destruct
parsec_ssytrf_sp1dplus
parsec_csytrf_sp1dplus_New
parsec_dsytrf_sp1dplus_New
parsec_ssytrf_sp1dplus_New

Definition at line 79 of file parsec_ssytrf.c.

References parsec_ssytrf_sp1dplus(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_ssytrf_sp1dplus().

◆ parsec_ssytrf_sp1dplus_Destruct()

void parsec_ssytrf_sp1dplus_Destruct ( parsec_taskpool_t *  taskpool)

Free the data structure associated to a taskpool created with parsec_ssytrf_sp1dplus_New().

Parameters
[in,out]taskpoolOn entry, the taskpool to destroy. On exit, the taskpool cannot be used anymore.

Definition at line 128 of file parsec_ssytrf.c.

References parsec_ssytrf_sp1dplus().

Referenced by parsec_ssytrf_sp1dplus().

◆ parsec_ssytrf_sp1dplus()

int parsec_ssytrf_sp1dplus ( parsec_context_t *  parsec,
parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Perform a sparse LDL^t factorization with 1D kernels.

The function performs the LDL^t factorization of a sparse symmetric matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

where L is a sparse lower triangular matrix orthogonal on the diagonal, and D a diagonal matrix.

Parameters
[in,out]parsecThe parsec context of the application that will run the operation.
[in,out]ADescriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
Return values
NULLif incorrect parameters are given.
Theparsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_ssytrf_sp1dplus_Destruct().
See also
parsec_ssytrf_sp1dplus_New
parsec_ssytrf_sp1dplus_Destruct

Definition at line 180 of file parsec_ssytrf.c.

References parsec_ssytrf_sp1dplus_Destruct(), and parsec_ssytrf_sp1dplus_New().

Referenced by parsec_ssytrf(), parsec_ssytrf_sp1dplus_Destruct(), and parsec_ssytrf_sp1dplus_New().

◆ parsec_ssytrf_sp2d_New()

parsec_taskpool_t* parsec_ssytrf_sp2d_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Generate the PaRSEC taskpool object for the LDL^t factorization with 1D and 2D kernels.

The function only returns the object that describes the LDL^t factorization of a sparse symmetric matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

where L is a sparse lower triangular matrix orthogonal 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.

Warning
The computations are not done by this call.
Parameters
[in,out]ADescriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
Return values
NULLif incorrect parameters are given.
Theparsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_ssytrf_sp2d_Destruct().
See also
parsec_ssytrf_sp2d
parsec_ssytrf_sp2d_Destruct
parsec_ssytrf_sp2d
parsec_csytrf_sp2d_New
parsec_dsytrf_sp2d_New
parsec_ssytrf_sp2d_New

Definition at line 249 of file parsec_ssytrf.c.

References parsec_ssytrf_sp2d(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_ssytrf_sp2d().

◆ parsec_ssytrf_sp2d_Destruct()

void parsec_ssytrf_sp2d_Destruct ( parsec_taskpool_t *  taskpool)

Free the data structure associated to a taskpool created with parsec_ssytrf_sp2d_New().

Parameters
[in,out]taskpoolOn entry, the taskpool to destroy. On exit, the taskpool cannot be used anymore.

Definition at line 303 of file parsec_ssytrf.c.

References parsec_ssytrf_sp2d().

Referenced by parsec_ssytrf_sp2d().

◆ parsec_ssytrf_sp2d()

int parsec_ssytrf_sp2d ( parsec_context_t *  parsec,
parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Perform a sparse LDL^t factorization with 1D and 2D kernels.

The function performs the LDL^t factorization of a sparse symmetric matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

where L is a sparse lower triangular matrix orthogonal on the diagonal, and D a diagonal matrix.

Parameters
[in,out]parsecThe parsec context of the application that will run the operation.
[in,out]ADescriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
Return values
NULLif incorrect parameters are given.
Theparsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_ssytrf_sp2d_Destruct().
See also
parsec_ssytrf_sp2d_New
parsec_ssytrf_sp2d_Destruct

Definition at line 357 of file parsec_ssytrf.c.

References parsec_ssytrf_sp2d_Destruct(), and parsec_ssytrf_sp2d_New().

Referenced by parsec_ssytrf(), parsec_ssytrf_sp2d_Destruct(), and parsec_ssytrf_sp2d_New().

◆ parsec_ssytrf()

void parsec_ssytrf ( pastix_data_t pastix_data,
sopalin_data_t *  sopalin_data 
)

Perform a sparse LDL^t factorization using PaRSEC runtime.

The function performs the LDL^t factorization of a sparse symmetric matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

where L is a sparse lower triangular matrix orthogonal 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.

Parameters
[in,out]pastix_dataThe pastix_data structure that describes the solver instance.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
See also
parsec_ssytrf_sp1dplus
parsec_ssytrf_sp2d

Definition at line 410 of file parsec_ssytrf.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_ssytrf_sp1dplus(), parsec_ssytrf_sp2d(), pastix_parsec_init(), PastixSymmetric, and parsec_sparse_matrix_desc_s::solvmtx.

◆ parsec_zsytrf_sp1dplus_New()

parsec_taskpool_t* parsec_zsytrf_sp1dplus_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Generate the PaRSEC taskpool object for the LDL^t factorization with 1D kernels.

The function only return the object that describes the LDL^t factorization of a sparse hermitian matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

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.

Warning
The computations are not done by this call.
Parameters
[in,out]ADescriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
Return values
NULLif incorrect parameters are given.
Theparsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_zsytrf_sp1dplus_Destruct().
See also
parsec_zsytrf_sp1dplus
parsec_zsytrf_sp1dplus_Destruct
parsec_zsytrf_sp1dplus
parsec_csytrf_sp1dplus_New
parsec_dsytrf_sp1dplus_New
parsec_ssytrf_sp1dplus_New

Definition at line 79 of file parsec_zsytrf.c.

References parsec_zsytrf_sp1dplus(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_zsytrf_sp1dplus().

◆ parsec_zsytrf_sp1dplus_Destruct()

void parsec_zsytrf_sp1dplus_Destruct ( parsec_taskpool_t *  taskpool)

Free the data structure associated to a taskpool created with parsec_zsytrf_sp1dplus_New().

Parameters
[in,out]taskpoolOn entry, the taskpool to destroy. On exit, the taskpool cannot be used anymore.

Definition at line 128 of file parsec_zsytrf.c.

References parsec_zsytrf_sp1dplus().

Referenced by parsec_zsytrf_sp1dplus().

◆ parsec_zsytrf_sp1dplus()

int parsec_zsytrf_sp1dplus ( parsec_context_t *  parsec,
parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Perform a sparse LDL^t factorization with 1D kernels.

The function performs the LDL^t factorization of a sparse hermitian matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

where L is a sparse lower triangular matrix unitary on the diagonal, and D a diagonal matrix.

Parameters
[in,out]parsecThe parsec context of the application that will run the operation.
[in,out]ADescriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
Return values
NULLif incorrect parameters are given.
Theparsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_zsytrf_sp1dplus_Destruct().
See also
parsec_zsytrf_sp1dplus_New
parsec_zsytrf_sp1dplus_Destruct

Definition at line 180 of file parsec_zsytrf.c.

References parsec_zsytrf_sp1dplus_Destruct(), and parsec_zsytrf_sp1dplus_New().

Referenced by parsec_zsytrf(), parsec_zsytrf_sp1dplus_Destruct(), and parsec_zsytrf_sp1dplus_New().

◆ parsec_zsytrf_sp2d_New()

parsec_taskpool_t* parsec_zsytrf_sp2d_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Generate the PaRSEC taskpool object for the LDL^t factorization with 1D and 2D kernels.

The function only returns the object that describes the LDL^t factorization of a sparse hermitian matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

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.

Warning
The computations are not done by this call.
Parameters
[in,out]ADescriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
Return values
NULLif incorrect parameters are given.
Theparsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_zsytrf_sp2d_Destruct().
See also
parsec_zsytrf_sp2d
parsec_zsytrf_sp2d_Destruct
parsec_zsytrf_sp2d
parsec_csytrf_sp2d_New
parsec_dsytrf_sp2d_New
parsec_ssytrf_sp2d_New

Definition at line 249 of file parsec_zsytrf.c.

References parsec_zsytrf_sp2d(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_zsytrf_sp2d().

◆ parsec_zsytrf_sp2d_Destruct()

void parsec_zsytrf_sp2d_Destruct ( parsec_taskpool_t *  taskpool)

Free the data structure associated to a taskpool created with parsec_zsytrf_sp2d_New().

Parameters
[in,out]taskpoolOn entry, the taskpool to destroy. On exit, the taskpool cannot be used anymore.

Definition at line 303 of file parsec_zsytrf.c.

References parsec_zsytrf_sp2d().

Referenced by parsec_zsytrf_sp2d().

◆ parsec_zsytrf_sp2d()

int parsec_zsytrf_sp2d ( parsec_context_t *  parsec,
parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Perform a sparse LDL^t factorization with 1D and 2D kernels.

The function performs the LDL^t factorization of a sparse hermitian matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

where L is a sparse lower triangular matrix unitary on the diagonal, and D a diagonal matrix.

Parameters
[in,out]parsecThe parsec context of the application that will run the operation.
[in,out]ADescriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
Return values
NULLif incorrect parameters are given.
Theparsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_zsytrf_sp2d_Destruct().
See also
parsec_zsytrf_sp2d_New
parsec_zsytrf_sp2d_Destruct

Definition at line 357 of file parsec_zsytrf.c.

References parsec_zsytrf_sp2d_Destruct(), and parsec_zsytrf_sp2d_New().

Referenced by parsec_zsytrf(), parsec_zsytrf_sp2d_Destruct(), and parsec_zsytrf_sp2d_New().

◆ parsec_zsytrf()

void parsec_zsytrf ( pastix_data_t pastix_data,
sopalin_data_t *  sopalin_data 
)

Perform a sparse LDL^t factorization using PaRSEC runtime.

The function performs the LDL^t factorization of a sparse hermitian matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

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.

Parameters
[in,out]pastix_dataThe pastix_data structure that describes the solver instance.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
See also
parsec_zsytrf_sp1dplus
parsec_zsytrf_sp2d

Definition at line 410 of file parsec_zsytrf.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_zsytrf_sp1dplus(), parsec_zsytrf_sp2d(), pastix_parsec_init(), PastixHermitian, and parsec_sparse_matrix_desc_s::solvmtx.

◆ parsec_dsytrf_sp1dplus_New()

parsec_taskpool_t* parsec_dsytrf_sp1dplus_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Generate the PaRSEC taskpool object for the LDL^t factorization with 1D kernels.

The function only return the object that describes the LDL^t factorization of a sparse symmetric matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

where L is a sparse lower triangular matrix orthogonal 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.

Warning
The computations are not done by this call.
Parameters
[in,out]ADescriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
Return values
NULLif incorrect parameters are given.
Theparsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_dsytrf_sp1dplus_Destruct().
See also
parsec_dsytrf_sp1dplus
parsec_dsytrf_sp1dplus_Destruct
parsec_dsytrf_sp1dplus
parsec_csytrf_sp1dplus_New
parsec_dsytrf_sp1dplus_New
parsec_ssytrf_sp1dplus_New

Definition at line 79 of file parsec_dsytrf.c.

References parsec_dsytrf_sp1dplus(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_dsytrf_sp1dplus().

◆ parsec_dsytrf_sp1dplus_Destruct()

void parsec_dsytrf_sp1dplus_Destruct ( parsec_taskpool_t *  taskpool)

Free the data structure associated to a taskpool created with parsec_dsytrf_sp1dplus_New().

Parameters
[in,out]taskpoolOn entry, the taskpool to destroy. On exit, the taskpool cannot be used anymore.

Definition at line 128 of file parsec_dsytrf.c.

References parsec_dsytrf_sp1dplus().

Referenced by parsec_dsytrf_sp1dplus().

◆ parsec_dsytrf_sp1dplus()

int parsec_dsytrf_sp1dplus ( parsec_context_t *  parsec,
parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Perform a sparse LDL^t factorization with 1D kernels.

The function performs the LDL^t factorization of a sparse symmetric matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

where L is a sparse lower triangular matrix orthogonal on the diagonal, and D a diagonal matrix.

Parameters
[in,out]parsecThe parsec context of the application that will run the operation.
[in,out]ADescriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
Return values
NULLif incorrect parameters are given.
Theparsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_dsytrf_sp1dplus_Destruct().
See also
parsec_dsytrf_sp1dplus_New
parsec_dsytrf_sp1dplus_Destruct

Definition at line 180 of file parsec_dsytrf.c.

References parsec_dsytrf_sp1dplus_Destruct(), and parsec_dsytrf_sp1dplus_New().

Referenced by parsec_dsytrf(), parsec_dsytrf_sp1dplus_Destruct(), and parsec_dsytrf_sp1dplus_New().

◆ parsec_dsytrf_sp2d_New()

parsec_taskpool_t* parsec_dsytrf_sp2d_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Generate the PaRSEC taskpool object for the LDL^t factorization with 1D and 2D kernels.

The function only returns the object that describes the LDL^t factorization of a sparse symmetric matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

where L is a sparse lower triangular matrix orthogonal 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.

Warning
The computations are not done by this call.
Parameters
[in,out]ADescriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
Return values
NULLif incorrect parameters are given.
Theparsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_dsytrf_sp2d_Destruct().
See also
parsec_dsytrf_sp2d
parsec_dsytrf_sp2d_Destruct
parsec_dsytrf_sp2d
parsec_csytrf_sp2d_New
parsec_dsytrf_sp2d_New
parsec_ssytrf_sp2d_New

Definition at line 249 of file parsec_dsytrf.c.

References parsec_dsytrf_sp2d(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_dsytrf_sp2d().

◆ parsec_dsytrf_sp2d_Destruct()

void parsec_dsytrf_sp2d_Destruct ( parsec_taskpool_t *  taskpool)

Free the data structure associated to a taskpool created with parsec_dsytrf_sp2d_New().

Parameters
[in,out]taskpoolOn entry, the taskpool to destroy. On exit, the taskpool cannot be used anymore.

Definition at line 303 of file parsec_dsytrf.c.

References parsec_dsytrf_sp2d().

Referenced by parsec_dsytrf_sp2d().

◆ parsec_dsytrf_sp2d()

int parsec_dsytrf_sp2d ( parsec_context_t *  parsec,
parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Perform a sparse LDL^t factorization with 1D and 2D kernels.

The function performs the LDL^t factorization of a sparse symmetric matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

where L is a sparse lower triangular matrix orthogonal on the diagonal, and D a diagonal matrix.

Parameters
[in,out]parsecThe parsec context of the application that will run the operation.
[in,out]ADescriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
Return values
NULLif incorrect parameters are given.
Theparsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_dsytrf_sp2d_Destruct().
See also
parsec_dsytrf_sp2d_New
parsec_dsytrf_sp2d_Destruct

Definition at line 357 of file parsec_dsytrf.c.

References parsec_dsytrf_sp2d_Destruct(), and parsec_dsytrf_sp2d_New().

Referenced by parsec_dsytrf(), parsec_dsytrf_sp2d_Destruct(), and parsec_dsytrf_sp2d_New().

◆ parsec_dsytrf()

void parsec_dsytrf ( pastix_data_t pastix_data,
sopalin_data_t *  sopalin_data 
)

Perform a sparse LDL^t factorization using PaRSEC runtime.

The function performs the LDL^t factorization of a sparse symmetric matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

where L is a sparse lower triangular matrix orthogonal 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.

Parameters
[in,out]pastix_dataThe pastix_data structure that describes the solver instance.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
See also
parsec_dsytrf_sp1dplus
parsec_dsytrf_sp2d

Definition at line 410 of file parsec_dsytrf.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_dsytrf_sp1dplus(), parsec_dsytrf_sp2d(), parsec_sparse_matrix_init(), pastix_parsec_init(), PastixSymmetric, and parsec_sparse_matrix_desc_s::solvmtx.

◆ parsec_csytrf_sp1dplus_New()

parsec_taskpool_t* parsec_csytrf_sp1dplus_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Generate the PaRSEC taskpool object for the LDL^t factorization with 1D kernels.

The function only return the object that describes the LDL^t factorization of a sparse hermitian matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

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.

Warning
The computations are not done by this call.
Parameters
[in,out]ADescriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
Return values
NULLif incorrect parameters are given.
Theparsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_csytrf_sp1dplus_Destruct().
See also
parsec_csytrf_sp1dplus
parsec_csytrf_sp1dplus_Destruct
parsec_csytrf_sp1dplus
parsec_csytrf_sp1dplus_New
parsec_dsytrf_sp1dplus_New
parsec_ssytrf_sp1dplus_New

Definition at line 79 of file parsec_csytrf.c.

References parsec_csytrf_sp1dplus(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_csytrf_sp1dplus().

◆ parsec_csytrf_sp1dplus_Destruct()

void parsec_csytrf_sp1dplus_Destruct ( parsec_taskpool_t *  taskpool)

Free the data structure associated to a taskpool created with parsec_csytrf_sp1dplus_New().

Parameters
[in,out]taskpoolOn entry, the taskpool to destroy. On exit, the taskpool cannot be used anymore.

Definition at line 128 of file parsec_csytrf.c.

References parsec_csytrf_sp1dplus().

Referenced by parsec_csytrf_sp1dplus().

◆ parsec_csytrf_sp1dplus()

int parsec_csytrf_sp1dplus ( parsec_context_t *  parsec,
parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Perform a sparse LDL^t factorization with 1D kernels.

The function performs the LDL^t factorization of a sparse hermitian matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

where L is a sparse lower triangular matrix unitary on the diagonal, and D a diagonal matrix.

Parameters
[in,out]parsecThe parsec context of the application that will run the operation.
[in,out]ADescriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
Return values
NULLif incorrect parameters are given.
Theparsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_csytrf_sp1dplus_Destruct().
See also
parsec_csytrf_sp1dplus_New
parsec_csytrf_sp1dplus_Destruct

Definition at line 180 of file parsec_csytrf.c.

References parsec_csytrf_sp1dplus_Destruct(), and parsec_csytrf_sp1dplus_New().

Referenced by parsec_csytrf(), parsec_csytrf_sp1dplus_Destruct(), and parsec_csytrf_sp1dplus_New().

◆ parsec_csytrf_sp2d_New()

parsec_taskpool_t* parsec_csytrf_sp2d_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Generate the PaRSEC taskpool object for the LDL^t factorization with 1D and 2D kernels.

The function only returns the object that describes the LDL^t factorization of a sparse hermitian matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

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.

Warning
The computations are not done by this call.
Parameters
[in,out]ADescriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
Return values
NULLif incorrect parameters are given.
Theparsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_csytrf_sp2d_Destruct().
See also
parsec_csytrf_sp2d
parsec_csytrf_sp2d_Destruct
parsec_csytrf_sp2d
parsec_csytrf_sp2d_New
parsec_dsytrf_sp2d_New
parsec_ssytrf_sp2d_New

Definition at line 249 of file parsec_csytrf.c.

References parsec_csytrf_sp2d(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_csytrf_sp2d().

◆ parsec_csytrf_sp2d_Destruct()

void parsec_csytrf_sp2d_Destruct ( parsec_taskpool_t *  taskpool)

Free the data structure associated to a taskpool created with parsec_csytrf_sp2d_New().

Parameters
[in,out]taskpoolOn entry, the taskpool to destroy. On exit, the taskpool cannot be used anymore.

Definition at line 303 of file parsec_csytrf.c.

References parsec_csytrf_sp2d().

Referenced by parsec_csytrf_sp2d().

◆ parsec_csytrf_sp2d()

int parsec_csytrf_sp2d ( parsec_context_t *  parsec,
parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Perform a sparse LDL^t factorization with 1D and 2D kernels.

The function performs the LDL^t factorization of a sparse hermitian matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

where L is a sparse lower triangular matrix unitary on the diagonal, and D a diagonal matrix.

Parameters
[in,out]parsecThe parsec context of the application that will run the operation.
[in,out]ADescriptor of the sparse matrix A. On exit, A is overwritten with the factorized matrix.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
Return values
NULLif incorrect parameters are given.
Theparsec taskpool describing the operation that can be enqueued in the runtime with parsec_enqueue(). It, then, needs to be destroy with parsec_csytrf_sp2d_Destruct().
See also
parsec_csytrf_sp2d_New
parsec_csytrf_sp2d_Destruct

Definition at line 357 of file parsec_csytrf.c.

References parsec_csytrf_sp2d_Destruct(), and parsec_csytrf_sp2d_New().

Referenced by parsec_csytrf(), parsec_csytrf_sp2d_Destruct(), and parsec_csytrf_sp2d_New().

◆ parsec_csytrf()

void parsec_csytrf ( pastix_data_t pastix_data,
sopalin_data_t *  sopalin_data 
)

Perform a sparse LDL^t factorization using PaRSEC runtime.

The function performs the LDL^t factorization of a sparse hermitian matrix A. The factorization has the form

\[ A = L \times D \times L^t \]

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.

Parameters
[in,out]pastix_dataThe pastix_data structure that describes the solver instance.
[in,out]sopalin_dataSolver matrix information structure that will guide the algorithm.
See also
parsec_csytrf_sp1dplus
parsec_csytrf_sp2d

Definition at line 410 of file parsec_csytrf.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_csytrf_sp1dplus(), parsec_csytrf_sp2d(), parsec_sparse_matrix_init(), pastix_parsec_init(), PastixHermitian, and parsec_sparse_matrix_desc_s::solvmtx.