PaStiX Handbook  6.3.2

Functions

parsec_taskpool_t * parsec_spotrf_sp1dplus_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpool object for the Cholesky factorization with 1D kernels. More...
 
void parsec_spotrf_sp1dplus_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_spotrf_sp1dplus_New(). More...
 
int parsec_spotrf_sp1dplus (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse Cholesky factorization with 1D kernels. More...
 
parsec_taskpool_t * parsec_spotrf_sp2d_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpoolr object for the Cholesky factorization with 1D and 2D kernels. More...
 
void parsec_spotrf_sp2d_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_spotrf_sp2d_New(). More...
 
int parsec_spotrf_sp2d (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse Cholesky factorization with 1D and 2D kernels. More...
 
void parsec_spotrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
 Perform a sparse Cholesky factorization using PaRSEC runtime. More...
 
parsec_taskpool_t * parsec_cpotrf_sp1dplus_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpool object for the Cholesky factorization with 1D kernels. More...
 
void parsec_cpotrf_sp1dplus_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_cpotrf_sp1dplus_New(). More...
 
int parsec_cpotrf_sp1dplus (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse Cholesky factorization with 1D kernels. More...
 
parsec_taskpool_t * parsec_cpotrf_sp2d_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpoolr object for the Cholesky factorization with 1D and 2D kernels. More...
 
void parsec_cpotrf_sp2d_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_cpotrf_sp2d_New(). More...
 
int parsec_cpotrf_sp2d (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse Cholesky factorization with 1D and 2D kernels. More...
 
void parsec_cpotrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
 Perform a sparse Cholesky factorization using PaRSEC runtime. More...
 
parsec_taskpool_t * parsec_zpotrf_sp1dplus_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpool object for the Cholesky factorization with 1D kernels. More...
 
void parsec_zpotrf_sp1dplus_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_zpotrf_sp1dplus_New(). More...
 
int parsec_zpotrf_sp1dplus (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse Cholesky factorization with 1D kernels. More...
 
parsec_taskpool_t * parsec_zpotrf_sp2d_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpoolr object for the Cholesky factorization with 1D and 2D kernels. More...
 
void parsec_zpotrf_sp2d_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_zpotrf_sp2d_New(). More...
 
int parsec_zpotrf_sp2d (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse Cholesky factorization with 1D and 2D kernels. More...
 
void parsec_zpotrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
 Perform a sparse Cholesky factorization using PaRSEC runtime. More...
 
parsec_taskpool_t * parsec_dpotrf_sp1dplus_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpool object for the Cholesky factorization with 1D kernels. More...
 
void parsec_dpotrf_sp1dplus_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_dpotrf_sp1dplus_New(). More...
 
int parsec_dpotrf_sp1dplus (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse Cholesky factorization with 1D kernels. More...
 
parsec_taskpool_t * parsec_dpotrf_sp2d_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpoolr object for the Cholesky factorization with 1D and 2D kernels. More...
 
void parsec_dpotrf_sp2d_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_dpotrf_sp2d_New(). More...
 
int parsec_dpotrf_sp2d (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse Cholesky factorization with 1D and 2D kernels. More...
 
void parsec_dpotrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
 Perform a sparse Cholesky factorization using PaRSEC runtime. More...
 

Detailed Description

Function Documentation

◆ parsec_spotrf_sp1dplus_New()

parsec_taskpool_t* parsec_spotrf_sp1dplus_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Generate the PaRSEC taskpool object for the Cholesky factorization with 1D kernels.

The function only return the object that describes the Cholesky factorization of a sparse symmetric positive definite (or Symmetric positive definite in the real case) matrix A. The factorization has the form

\[ A = L\times L^T \]

where L is a sparse lower triangular 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_spotrf_sp1dplus_Destruct().
See also
parsec_spotrf_sp1dplus
parsec_spotrf_sp1dplus_Destruct
parsec_spotrf_sp1dplus
parsec_cpotrf_sp1dplus_New
parsec_dpotrf_sp1dplus_New
parsec_spotrf_sp1dplus_New

Definition at line 80 of file parsec_spotrf.c.

References parsec_spotrf_sp1dplus(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_spotrf_sp1dplus().

◆ parsec_spotrf_sp1dplus_Destruct()

void parsec_spotrf_sp1dplus_Destruct ( parsec_taskpool_t *  taskpool)

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

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

Definition at line 123 of file parsec_spotrf.c.

References parsec_spotrf_sp1dplus().

Referenced by parsec_spotrf_sp1dplus().

◆ parsec_spotrf_sp1dplus()

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

Perform a sparse Cholesky factorization with 1D kernels.

The function performs the Cholesky factorization of a sparse symmetric positive definite (or Symmetric positive definite in the real case) matrix A. The factorization has the form

\[ A = L\times L^T \]

where L is a sparse lower triangular 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_spotrf_sp1dplus_Destruct().
See also
parsec_spotrf_sp1dplus_New
parsec_spotrf_sp1dplus_Destruct

Definition at line 174 of file parsec_spotrf.c.

References parsec_spotrf_sp1dplus_Destruct(), and parsec_spotrf_sp1dplus_New().

Referenced by parsec_spotrf(), parsec_spotrf_sp1dplus_Destruct(), and parsec_spotrf_sp1dplus_New().

◆ parsec_spotrf_sp2d_New()

parsec_taskpool_t* parsec_spotrf_sp2d_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Generate the PaRSEC taskpoolr object for the Cholesky factorization with 1D and 2D kernels.

The function only return the object that describes the Cholesky factorization of a sparse symmetric positive definite (or Symmetric positive definite in the real case) matrix A. The factorization has the form

\[ A = L\times L^T \]

where L is a sparse lower triangular matrix.

In this object, operations are panel based operations for the lower levels of the elimination tree, and the higher levels are taskpoold 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_spotrf_sp2d_Destruct().
See also
parsec_spotrf_sp2d
parsec_spotrf_sp2d_Destruct
parsec_sgetrf_sp2d
parsec_cpotrf_sp2d_New
parsec_dpotrf_sp2d_New
parsec_spotrf_sp2d_New

Definition at line 243 of file parsec_spotrf.c.

References parsec_spotrf_sp2d(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_spotrf_sp2d().

◆ parsec_spotrf_sp2d_Destruct()

void parsec_spotrf_sp2d_Destruct ( parsec_taskpool_t *  taskpool)

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

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

Definition at line 286 of file parsec_spotrf.c.

References parsec_spotrf_sp2d().

Referenced by parsec_spotrf_sp2d().

◆ parsec_spotrf_sp2d()

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

Perform a sparse Cholesky factorization with 1D and 2D kernels.

The function performs the Cholesky factorization of a sparse symmetric positive definite (or Symmetric positive definite in the real case) matrix A. The factorization has the form

\[ A = L\times L^T \]

where L is a sparse lower triangular 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_spotrf_sp2d_Destruct().
See also
parsec_spotrf_sp2d_New
parsec_spotrf_sp2d_Destruct

Definition at line 337 of file parsec_spotrf.c.

References parsec_spotrf_sp2d_Destruct(), and parsec_spotrf_sp2d_New().

Referenced by parsec_spotrf(), parsec_spotrf_sp2d_Destruct(), and parsec_spotrf_sp2d_New().

◆ parsec_spotrf()

void parsec_spotrf ( pastix_data_t pastix_data,
sopalin_data_t *  sopalin_data 
)

Perform a sparse Cholesky factorization using PaRSEC runtime.

The function performs the Cholesky factorization of a sparse symmetric positive definite (or Symmetric positive definite in the real case) matrix A. The factorization has the form

\[ A = L\times L^T \]

where L is a sparse lower triangular 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_spotrf_sp1dplus
parsec_spotrf_sp2d

Definition at line 391 of file parsec_spotrf.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_spotrf_sp1dplus(), parsec_spotrf_sp2d(), pastix_parsec_init(), PastixSymmetric, and parsec_sparse_matrix_desc_s::solvmtx.

◆ parsec_cpotrf_sp1dplus_New()

parsec_taskpool_t* parsec_cpotrf_sp1dplus_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Generate the PaRSEC taskpool object for the Cholesky factorization with 1D kernels.

The function only return the object that describes the Cholesky factorization of a sparse symmetric positive definite (or Hermitian positive definite in the complex case) matrix A. The factorization has the form

\[ A = L\times L^H \]

where L is a sparse lower triangular 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_cpotrf_sp1dplus_Destruct().
See also
parsec_cpotrf_sp1dplus
parsec_cpotrf_sp1dplus_Destruct
parsec_cpotrf_sp1dplus
parsec_cpotrf_sp1dplus_New
parsec_dpotrf_sp1dplus_New
parsec_spotrf_sp1dplus_New

Definition at line 80 of file parsec_cpotrf.c.

References parsec_cpotrf_sp1dplus(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_cpotrf_sp1dplus().

◆ parsec_cpotrf_sp1dplus_Destruct()

void parsec_cpotrf_sp1dplus_Destruct ( parsec_taskpool_t *  taskpool)

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

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

Definition at line 123 of file parsec_cpotrf.c.

References parsec_cpotrf_sp1dplus().

Referenced by parsec_cpotrf_sp1dplus().

◆ parsec_cpotrf_sp1dplus()

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

Perform a sparse Cholesky factorization with 1D kernels.

The function performs the Cholesky factorization of a sparse symmetric positive definite (or Hermitian positive definite in the complex case) matrix A. The factorization has the form

\[ A = L\times L^H \]

where L is a sparse lower triangular 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_cpotrf_sp1dplus_Destruct().
See also
parsec_cpotrf_sp1dplus_New
parsec_cpotrf_sp1dplus_Destruct

Definition at line 174 of file parsec_cpotrf.c.

References parsec_cpotrf_sp1dplus_Destruct(), and parsec_cpotrf_sp1dplus_New().

Referenced by parsec_cpotrf(), parsec_cpotrf_sp1dplus_Destruct(), and parsec_cpotrf_sp1dplus_New().

◆ parsec_cpotrf_sp2d_New()

parsec_taskpool_t* parsec_cpotrf_sp2d_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Generate the PaRSEC taskpoolr object for the Cholesky factorization with 1D and 2D kernels.

The function only return the object that describes the Cholesky factorization of a sparse symmetric positive definite (or Hermitian positive definite in the complex case) matrix A. The factorization has the form

\[ A = L\times L^H \]

where L is a sparse lower triangular matrix.

In this object, operations are panel based operations for the lower levels of the elimination tree, and the higher levels are taskpoold 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_cpotrf_sp2d_Destruct().
See also
parsec_cpotrf_sp2d
parsec_cpotrf_sp2d_Destruct
parsec_cgetrf_sp2d
parsec_cpotrf_sp2d_New
parsec_dpotrf_sp2d_New
parsec_spotrf_sp2d_New

Definition at line 243 of file parsec_cpotrf.c.

References parsec_cpotrf_sp2d(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_cpotrf_sp2d().

◆ parsec_cpotrf_sp2d_Destruct()

void parsec_cpotrf_sp2d_Destruct ( parsec_taskpool_t *  taskpool)

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

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

Definition at line 286 of file parsec_cpotrf.c.

References parsec_cpotrf_sp2d().

Referenced by parsec_cpotrf_sp2d().

◆ parsec_cpotrf_sp2d()

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

Perform a sparse Cholesky factorization with 1D and 2D kernels.

The function performs the Cholesky factorization of a sparse symmetric positive definite (or Hermitian positive definite in the complex case) matrix A. The factorization has the form

\[ A = L\times L^H \]

where L is a sparse lower triangular 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_cpotrf_sp2d_Destruct().
See also
parsec_cpotrf_sp2d_New
parsec_cpotrf_sp2d_Destruct

Definition at line 337 of file parsec_cpotrf.c.

References parsec_cpotrf_sp2d_Destruct(), and parsec_cpotrf_sp2d_New().

Referenced by parsec_cpotrf(), parsec_cpotrf_sp2d_Destruct(), and parsec_cpotrf_sp2d_New().

◆ parsec_cpotrf()

void parsec_cpotrf ( pastix_data_t pastix_data,
sopalin_data_t *  sopalin_data 
)

Perform a sparse Cholesky factorization using PaRSEC runtime.

The function performs the Cholesky factorization of a sparse symmetric positive definite (or Hermitian positive definite in the complex case) matrix A. The factorization has the form

\[ A = L\times L^H \]

where L is a sparse lower triangular 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_cpotrf_sp1dplus
parsec_cpotrf_sp2d

Definition at line 391 of file parsec_cpotrf.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_cpotrf_sp1dplus(), parsec_cpotrf_sp2d(), parsec_sparse_matrix_init(), pastix_parsec_init(), PastixHermitian, and parsec_sparse_matrix_desc_s::solvmtx.

◆ parsec_zpotrf_sp1dplus_New()

parsec_taskpool_t* parsec_zpotrf_sp1dplus_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Generate the PaRSEC taskpool object for the Cholesky factorization with 1D kernels.

The function only return the object that describes the Cholesky factorization of a sparse symmetric positive definite (or Hermitian positive definite in the complex case) matrix A. The factorization has the form

\[ A = L\times L^H \]

where L is a sparse lower triangular 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_zpotrf_sp1dplus_Destruct().
See also
parsec_zpotrf_sp1dplus
parsec_zpotrf_sp1dplus_Destruct
parsec_zpotrf_sp1dplus
parsec_cpotrf_sp1dplus_New
parsec_dpotrf_sp1dplus_New
parsec_spotrf_sp1dplus_New

Definition at line 80 of file parsec_zpotrf.c.

References parsec_zpotrf_sp1dplus(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_zpotrf_sp1dplus().

◆ parsec_zpotrf_sp1dplus_Destruct()

void parsec_zpotrf_sp1dplus_Destruct ( parsec_taskpool_t *  taskpool)

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

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

Definition at line 123 of file parsec_zpotrf.c.

References parsec_zpotrf_sp1dplus().

Referenced by parsec_zpotrf_sp1dplus().

◆ parsec_zpotrf_sp1dplus()

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

Perform a sparse Cholesky factorization with 1D kernels.

The function performs the Cholesky factorization of a sparse symmetric positive definite (or Hermitian positive definite in the complex case) matrix A. The factorization has the form

\[ A = L\times L^H \]

where L is a sparse lower triangular 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_zpotrf_sp1dplus_Destruct().
See also
parsec_zpotrf_sp1dplus_New
parsec_zpotrf_sp1dplus_Destruct

Definition at line 174 of file parsec_zpotrf.c.

References parsec_zpotrf_sp1dplus_Destruct(), and parsec_zpotrf_sp1dplus_New().

Referenced by parsec_zpotrf(), parsec_zpotrf_sp1dplus_Destruct(), and parsec_zpotrf_sp1dplus_New().

◆ parsec_zpotrf_sp2d_New()

parsec_taskpool_t* parsec_zpotrf_sp2d_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Generate the PaRSEC taskpoolr object for the Cholesky factorization with 1D and 2D kernels.

The function only return the object that describes the Cholesky factorization of a sparse symmetric positive definite (or Hermitian positive definite in the complex case) matrix A. The factorization has the form

\[ A = L\times L^H \]

where L is a sparse lower triangular matrix.

In this object, operations are panel based operations for the lower levels of the elimination tree, and the higher levels are taskpoold 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_zpotrf_sp2d_Destruct().
See also
parsec_zpotrf_sp2d
parsec_zpotrf_sp2d_Destruct
parsec_zgetrf_sp2d
parsec_cpotrf_sp2d_New
parsec_dpotrf_sp2d_New
parsec_spotrf_sp2d_New

Definition at line 243 of file parsec_zpotrf.c.

References parsec_zpotrf_sp2d(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_zpotrf_sp2d().

◆ parsec_zpotrf_sp2d_Destruct()

void parsec_zpotrf_sp2d_Destruct ( parsec_taskpool_t *  taskpool)

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

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

Definition at line 286 of file parsec_zpotrf.c.

References parsec_zpotrf_sp2d().

Referenced by parsec_zpotrf_sp2d().

◆ parsec_zpotrf_sp2d()

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

Perform a sparse Cholesky factorization with 1D and 2D kernels.

The function performs the Cholesky factorization of a sparse symmetric positive definite (or Hermitian positive definite in the complex case) matrix A. The factorization has the form

\[ A = L\times L^H \]

where L is a sparse lower triangular 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_zpotrf_sp2d_Destruct().
See also
parsec_zpotrf_sp2d_New
parsec_zpotrf_sp2d_Destruct

Definition at line 337 of file parsec_zpotrf.c.

References parsec_zpotrf_sp2d_Destruct(), and parsec_zpotrf_sp2d_New().

Referenced by parsec_zpotrf(), parsec_zpotrf_sp2d_Destruct(), and parsec_zpotrf_sp2d_New().

◆ parsec_zpotrf()

void parsec_zpotrf ( pastix_data_t pastix_data,
sopalin_data_t *  sopalin_data 
)

Perform a sparse Cholesky factorization using PaRSEC runtime.

The function performs the Cholesky factorization of a sparse symmetric positive definite (or Hermitian positive definite in the complex case) matrix A. The factorization has the form

\[ A = L\times L^H \]

where L is a sparse lower triangular 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_zpotrf_sp1dplus
parsec_zpotrf_sp2d

Definition at line 391 of file parsec_zpotrf.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_zpotrf_sp1dplus(), parsec_zpotrf_sp2d(), pastix_parsec_init(), PastixHermitian, and parsec_sparse_matrix_desc_s::solvmtx.

◆ parsec_dpotrf_sp1dplus_New()

parsec_taskpool_t* parsec_dpotrf_sp1dplus_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Generate the PaRSEC taskpool object for the Cholesky factorization with 1D kernels.

The function only return the object that describes the Cholesky factorization of a sparse symmetric positive definite (or Symmetric positive definite in the real case) matrix A. The factorization has the form

\[ A = L\times L^T \]

where L is a sparse lower triangular 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_dpotrf_sp1dplus_Destruct().
See also
parsec_dpotrf_sp1dplus
parsec_dpotrf_sp1dplus_Destruct
parsec_dpotrf_sp1dplus
parsec_cpotrf_sp1dplus_New
parsec_dpotrf_sp1dplus_New
parsec_spotrf_sp1dplus_New

Definition at line 80 of file parsec_dpotrf.c.

References parsec_dpotrf_sp1dplus(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_dpotrf_sp1dplus().

◆ parsec_dpotrf_sp1dplus_Destruct()

void parsec_dpotrf_sp1dplus_Destruct ( parsec_taskpool_t *  taskpool)

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

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

Definition at line 123 of file parsec_dpotrf.c.

References parsec_dpotrf_sp1dplus().

Referenced by parsec_dpotrf_sp1dplus().

◆ parsec_dpotrf_sp1dplus()

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

Perform a sparse Cholesky factorization with 1D kernels.

The function performs the Cholesky factorization of a sparse symmetric positive definite (or Symmetric positive definite in the real case) matrix A. The factorization has the form

\[ A = L\times L^T \]

where L is a sparse lower triangular 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_dpotrf_sp1dplus_Destruct().
See also
parsec_dpotrf_sp1dplus_New
parsec_dpotrf_sp1dplus_Destruct

Definition at line 174 of file parsec_dpotrf.c.

References parsec_dpotrf_sp1dplus_Destruct(), and parsec_dpotrf_sp1dplus_New().

Referenced by parsec_dpotrf(), parsec_dpotrf_sp1dplus_Destruct(), and parsec_dpotrf_sp1dplus_New().

◆ parsec_dpotrf_sp2d_New()

parsec_taskpool_t* parsec_dpotrf_sp2d_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

Generate the PaRSEC taskpoolr object for the Cholesky factorization with 1D and 2D kernels.

The function only return the object that describes the Cholesky factorization of a sparse symmetric positive definite (or Symmetric positive definite in the real case) matrix A. The factorization has the form

\[ A = L\times L^T \]

where L is a sparse lower triangular matrix.

In this object, operations are panel based operations for the lower levels of the elimination tree, and the higher levels are taskpoold 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_dpotrf_sp2d_Destruct().
See also
parsec_dpotrf_sp2d
parsec_dpotrf_sp2d_Destruct
parsec_dgetrf_sp2d
parsec_cpotrf_sp2d_New
parsec_dpotrf_sp2d_New
parsec_spotrf_sp2d_New

Definition at line 243 of file parsec_dpotrf.c.

References parsec_dpotrf_sp2d(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_dpotrf_sp2d().

◆ parsec_dpotrf_sp2d_Destruct()

void parsec_dpotrf_sp2d_Destruct ( parsec_taskpool_t *  taskpool)

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

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

Definition at line 286 of file parsec_dpotrf.c.

References parsec_dpotrf_sp2d().

Referenced by parsec_dpotrf_sp2d().

◆ parsec_dpotrf_sp2d()

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

Perform a sparse Cholesky factorization with 1D and 2D kernels.

The function performs the Cholesky factorization of a sparse symmetric positive definite (or Symmetric positive definite in the real case) matrix A. The factorization has the form

\[ A = L\times L^T \]

where L is a sparse lower triangular 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_dpotrf_sp2d_Destruct().
See also
parsec_dpotrf_sp2d_New
parsec_dpotrf_sp2d_Destruct

Definition at line 337 of file parsec_dpotrf.c.

References parsec_dpotrf_sp2d_Destruct(), and parsec_dpotrf_sp2d_New().

Referenced by parsec_dpotrf(), parsec_dpotrf_sp2d_Destruct(), and parsec_dpotrf_sp2d_New().

◆ parsec_dpotrf()

void parsec_dpotrf ( pastix_data_t pastix_data,
sopalin_data_t *  sopalin_data 
)

Perform a sparse Cholesky factorization using PaRSEC runtime.

The function performs the Cholesky factorization of a sparse symmetric positive definite (or Symmetric positive definite in the real case) matrix A. The factorization has the form

\[ A = L\times L^T \]

where L is a sparse lower triangular 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_dpotrf_sp1dplus
parsec_dpotrf_sp2d

Definition at line 391 of file parsec_dpotrf.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_dpotrf_sp1dplus(), parsec_dpotrf_sp2d(), parsec_sparse_matrix_init(), pastix_parsec_init(), PastixSymmetric, and parsec_sparse_matrix_desc_s::solvmtx.