PaStiX Handbook  6.3.2

Functions

parsec_taskpool_t * parsec_sgetrf_sp1dplus_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpool object for the LU factorization with 1D kernels. More...
 
void parsec_sgetrf_sp1dplus_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_sgetrf_sp1dplus_New(). More...
 
int parsec_sgetrf_sp1dplus (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse LU factorization with 1D kernels. More...
 
parsec_taskpool_t * parsec_sgetrf_sp2d_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpoolr object for the LU factorization with 1D and 2D kernels. More...
 
void parsec_sgetrf_sp2d_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_sgetrf_sp2d_New(). More...
 
int parsec_sgetrf_sp2d (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse LU factorization with 1D and 2D kernels. More...
 
void parsec_sgetrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
 Perform a sparse LU factorization using PaRSEC runtime. More...
 
parsec_taskpool_t * parsec_cgetrf_sp1dplus_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpool object for the LU factorization with 1D kernels. More...
 
void parsec_cgetrf_sp1dplus_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_cgetrf_sp1dplus_New(). More...
 
int parsec_cgetrf_sp1dplus (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse LU factorization with 1D kernels. More...
 
parsec_taskpool_t * parsec_cgetrf_sp2d_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpoolr object for the LU factorization with 1D and 2D kernels. More...
 
void parsec_cgetrf_sp2d_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_cgetrf_sp2d_New(). More...
 
int parsec_cgetrf_sp2d (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse LU factorization with 1D and 2D kernels. More...
 
void parsec_cgetrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
 Perform a sparse LU factorization using PaRSEC runtime. More...
 
parsec_taskpool_t * parsec_zgetrf_sp1dplus_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpool object for the LU factorization with 1D kernels. More...
 
void parsec_zgetrf_sp1dplus_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_zgetrf_sp1dplus_New(). More...
 
int parsec_zgetrf_sp1dplus (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse LU factorization with 1D kernels. More...
 
parsec_taskpool_t * parsec_zgetrf_sp2d_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpoolr object for the LU factorization with 1D and 2D kernels. More...
 
void parsec_zgetrf_sp2d_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_zgetrf_sp2d_New(). More...
 
int parsec_zgetrf_sp2d (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse LU factorization with 1D and 2D kernels. More...
 
void parsec_zgetrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
 Perform a sparse LU factorization using PaRSEC runtime. More...
 
parsec_taskpool_t * parsec_dgetrf_sp1dplus_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpool object for the LU factorization with 1D kernels. More...
 
void parsec_dgetrf_sp1dplus_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_dgetrf_sp1dplus_New(). More...
 
int parsec_dgetrf_sp1dplus (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse LU factorization with 1D kernels. More...
 
parsec_taskpool_t * parsec_dgetrf_sp2d_New (parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Generate the PaRSEC taskpoolr object for the LU factorization with 1D and 2D kernels. More...
 
void parsec_dgetrf_sp2d_Destruct (parsec_taskpool_t *taskpool)
 Free the data structure associated to a taskpool created with parsec_dgetrf_sp2d_New(). More...
 
int parsec_dgetrf_sp2d (parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
 Perform a sparse LU factorization with 1D and 2D kernels. More...
 
void parsec_dgetrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
 Perform a sparse LU factorization using PaRSEC runtime. More...
 

Detailed Description

Function Documentation

◆ parsec_sgetrf_sp1dplus_New()

parsec_taskpool_t* parsec_sgetrf_sp1dplus_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

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

The function only return the object that describes the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_sgetrf_sp1dplus_Destruct().
See also
parsec_sgetrf_sp1dplus
parsec_sgetrf_sp1dplus_Destruct
parsec_sgetrf_sp1dplus
parsec_cgetrf_sp1dplus_New
parsec_dgetrf_sp1dplus_New
parsec_sgetrf_sp1dplus_New

Definition at line 80 of file parsec_sgetrf.c.

References parsec_sgetrf_sp1dplus(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_sgetrf_sp1dplus().

◆ parsec_sgetrf_sp1dplus_Destruct()

void parsec_sgetrf_sp1dplus_Destruct ( parsec_taskpool_t *  taskpool)

Free the data structure associated to a taskpool created with parsec_sgetrf_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_sgetrf.c.

References parsec_sgetrf_sp1dplus().

Referenced by parsec_sgetrf_sp1dplus().

◆ parsec_sgetrf_sp1dplus()

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

Perform a sparse LU factorization with 1D kernels.

The function performs the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_sgetrf_sp1dplus_Destruct().
See also
parsec_sgetrf_sp1dplus_New
parsec_sgetrf_sp1dplus_Destruct

Definition at line 173 of file parsec_sgetrf.c.

References parsec_sgetrf_sp1dplus_Destruct(), and parsec_sgetrf_sp1dplus_New().

Referenced by parsec_sgetrf(), parsec_sgetrf_sp1dplus_Destruct(), and parsec_sgetrf_sp1dplus_New().

◆ parsec_sgetrf_sp2d_New()

parsec_taskpool_t* parsec_sgetrf_sp2d_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

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

The function only return the object that describes the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_sgetrf_sp2d_Destruct().
See also
parsec_sgetrf_sp2d
parsec_sgetrf_sp2d_Destruct
parsec_sgetrf_sp2d
parsec_cgetrf_sp2d_New
parsec_dgetrf_sp2d_New
parsec_sgetrf_sp2d_New

Definition at line 242 of file parsec_sgetrf.c.

References parsec_sgetrf_sp2d(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_sgetrf_sp2d().

◆ parsec_sgetrf_sp2d_Destruct()

void parsec_sgetrf_sp2d_Destruct ( parsec_taskpool_t *  taskpool)

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

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

Definition at line 285 of file parsec_sgetrf.c.

References parsec_sgetrf_sp2d().

Referenced by parsec_sgetrf_sp2d().

◆ parsec_sgetrf_sp2d()

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

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

The function performs the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_sgetrf_sp2d_Destruct().
See also
parsec_sgetrf_sp2d_New
parsec_sgetrf_sp2d_Destruct

Definition at line 335 of file parsec_sgetrf.c.

References parsec_sgetrf_sp2d_Destruct(), and parsec_sgetrf_sp2d_New().

Referenced by parsec_sgetrf(), parsec_sgetrf_sp2d_Destruct(), and parsec_sgetrf_sp2d_New().

◆ parsec_sgetrf()

void parsec_sgetrf ( pastix_data_t pastix_data,
sopalin_data_t *  sopalin_data 
)

Perform a sparse LU factorization using PaRSEC runtime.

The function performs the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_sgetrf_sp1dplus
parsec_sgetrf_sp2d

Definition at line 388 of file parsec_sgetrf.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_sgetrf_sp1dplus(), parsec_sgetrf_sp2d(), parsec_sparse_matrix_init(), pastix_parsec_init(), PastixGeneral, and parsec_sparse_matrix_desc_s::solvmtx.

◆ parsec_cgetrf_sp1dplus_New()

parsec_taskpool_t* parsec_cgetrf_sp1dplus_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

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

The function only return the object that describes the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_cgetrf_sp1dplus_Destruct().
See also
parsec_cgetrf_sp1dplus
parsec_cgetrf_sp1dplus_Destruct
parsec_cgetrf_sp1dplus
parsec_cgetrf_sp1dplus_New
parsec_dgetrf_sp1dplus_New
parsec_sgetrf_sp1dplus_New

Definition at line 80 of file parsec_cgetrf.c.

References parsec_cgetrf_sp1dplus(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_cgetrf_sp1dplus().

◆ parsec_cgetrf_sp1dplus_Destruct()

void parsec_cgetrf_sp1dplus_Destruct ( parsec_taskpool_t *  taskpool)

Free the data structure associated to a taskpool created with parsec_cgetrf_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_cgetrf.c.

References parsec_cgetrf_sp1dplus().

Referenced by parsec_cgetrf_sp1dplus().

◆ parsec_cgetrf_sp1dplus()

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

Perform a sparse LU factorization with 1D kernels.

The function performs the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_cgetrf_sp1dplus_Destruct().
See also
parsec_cgetrf_sp1dplus_New
parsec_cgetrf_sp1dplus_Destruct

Definition at line 173 of file parsec_cgetrf.c.

References parsec_cgetrf_sp1dplus_Destruct(), and parsec_cgetrf_sp1dplus_New().

Referenced by parsec_cgetrf(), parsec_cgetrf_sp1dplus_Destruct(), and parsec_cgetrf_sp1dplus_New().

◆ parsec_cgetrf_sp2d_New()

parsec_taskpool_t* parsec_cgetrf_sp2d_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

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

The function only return the object that describes the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_cgetrf_sp2d_Destruct().
See also
parsec_cgetrf_sp2d
parsec_cgetrf_sp2d_Destruct
parsec_cgetrf_sp2d
parsec_cgetrf_sp2d_New
parsec_dgetrf_sp2d_New
parsec_sgetrf_sp2d_New

Definition at line 242 of file parsec_cgetrf.c.

References parsec_cgetrf_sp2d(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_cgetrf_sp2d().

◆ parsec_cgetrf_sp2d_Destruct()

void parsec_cgetrf_sp2d_Destruct ( parsec_taskpool_t *  taskpool)

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

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

Definition at line 285 of file parsec_cgetrf.c.

References parsec_cgetrf_sp2d().

Referenced by parsec_cgetrf_sp2d().

◆ parsec_cgetrf_sp2d()

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

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

The function performs the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_cgetrf_sp2d_Destruct().
See also
parsec_cgetrf_sp2d_New
parsec_cgetrf_sp2d_Destruct

Definition at line 335 of file parsec_cgetrf.c.

References parsec_cgetrf_sp2d_Destruct(), and parsec_cgetrf_sp2d_New().

Referenced by parsec_cgetrf(), parsec_cgetrf_sp2d_Destruct(), and parsec_cgetrf_sp2d_New().

◆ parsec_cgetrf()

void parsec_cgetrf ( pastix_data_t pastix_data,
sopalin_data_t *  sopalin_data 
)

Perform a sparse LU factorization using PaRSEC runtime.

The function performs the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_cgetrf_sp1dplus
parsec_cgetrf_sp2d

Definition at line 388 of file parsec_cgetrf.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_cgetrf_sp1dplus(), parsec_cgetrf_sp2d(), parsec_sparse_matrix_init(), pastix_parsec_init(), PastixGeneral, and parsec_sparse_matrix_desc_s::solvmtx.

◆ parsec_zgetrf_sp1dplus_New()

parsec_taskpool_t* parsec_zgetrf_sp1dplus_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

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

The function only return the object that describes the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_zgetrf_sp1dplus_Destruct().
See also
parsec_zgetrf_sp1dplus
parsec_zgetrf_sp1dplus_Destruct
parsec_zgetrf_sp1dplus
parsec_cgetrf_sp1dplus_New
parsec_dgetrf_sp1dplus_New
parsec_sgetrf_sp1dplus_New

Definition at line 80 of file parsec_zgetrf.c.

References parsec_zgetrf_sp1dplus(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_zgetrf_sp1dplus().

◆ parsec_zgetrf_sp1dplus_Destruct()

void parsec_zgetrf_sp1dplus_Destruct ( parsec_taskpool_t *  taskpool)

Free the data structure associated to a taskpool created with parsec_zgetrf_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_zgetrf.c.

References parsec_zgetrf_sp1dplus().

Referenced by parsec_zgetrf_sp1dplus().

◆ parsec_zgetrf_sp1dplus()

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

Perform a sparse LU factorization with 1D kernels.

The function performs the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_zgetrf_sp1dplus_Destruct().
See also
parsec_zgetrf_sp1dplus_New
parsec_zgetrf_sp1dplus_Destruct

Definition at line 173 of file parsec_zgetrf.c.

References parsec_zgetrf_sp1dplus_Destruct(), and parsec_zgetrf_sp1dplus_New().

Referenced by parsec_zgetrf(), parsec_zgetrf_sp1dplus_Destruct(), and parsec_zgetrf_sp1dplus_New().

◆ parsec_zgetrf_sp2d_New()

parsec_taskpool_t* parsec_zgetrf_sp2d_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

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

The function only return the object that describes the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_zgetrf_sp2d_Destruct().
See also
parsec_zgetrf_sp2d
parsec_zgetrf_sp2d_Destruct
parsec_zgetrf_sp2d
parsec_cgetrf_sp2d_New
parsec_dgetrf_sp2d_New
parsec_sgetrf_sp2d_New

Definition at line 242 of file parsec_zgetrf.c.

References parsec_zgetrf_sp2d(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_zgetrf_sp2d().

◆ parsec_zgetrf_sp2d_Destruct()

void parsec_zgetrf_sp2d_Destruct ( parsec_taskpool_t *  taskpool)

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

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

Definition at line 285 of file parsec_zgetrf.c.

References parsec_zgetrf_sp2d().

Referenced by parsec_zgetrf_sp2d().

◆ parsec_zgetrf_sp2d()

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

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

The function performs the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_zgetrf_sp2d_Destruct().
See also
parsec_zgetrf_sp2d_New
parsec_zgetrf_sp2d_Destruct

Definition at line 335 of file parsec_zgetrf.c.

References parsec_zgetrf_sp2d_Destruct(), and parsec_zgetrf_sp2d_New().

Referenced by parsec_zgetrf(), parsec_zgetrf_sp2d_Destruct(), and parsec_zgetrf_sp2d_New().

◆ parsec_zgetrf()

void parsec_zgetrf ( pastix_data_t pastix_data,
sopalin_data_t *  sopalin_data 
)

Perform a sparse LU factorization using PaRSEC runtime.

The function performs the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_zgetrf_sp1dplus
parsec_zgetrf_sp2d

Definition at line 388 of file parsec_zgetrf.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_zgetrf_sp1dplus(), parsec_zgetrf_sp2d(), pastix_parsec_init(), PastixGeneral, and parsec_sparse_matrix_desc_s::solvmtx.

◆ parsec_dgetrf_sp1dplus_New()

parsec_taskpool_t* parsec_dgetrf_sp1dplus_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

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

The function only return the object that describes the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_dgetrf_sp1dplus_Destruct().
See also
parsec_dgetrf_sp1dplus
parsec_dgetrf_sp1dplus_Destruct
parsec_dgetrf_sp1dplus
parsec_cgetrf_sp1dplus_New
parsec_dgetrf_sp1dplus_New
parsec_sgetrf_sp1dplus_New

Definition at line 80 of file parsec_dgetrf.c.

References parsec_dgetrf_sp1dplus(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_dgetrf_sp1dplus().

◆ parsec_dgetrf_sp1dplus_Destruct()

void parsec_dgetrf_sp1dplus_Destruct ( parsec_taskpool_t *  taskpool)

Free the data structure associated to a taskpool created with parsec_dgetrf_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_dgetrf.c.

References parsec_dgetrf_sp1dplus().

Referenced by parsec_dgetrf_sp1dplus().

◆ parsec_dgetrf_sp1dplus()

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

Perform a sparse LU factorization with 1D kernels.

The function performs the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_dgetrf_sp1dplus_Destruct().
See also
parsec_dgetrf_sp1dplus_New
parsec_dgetrf_sp1dplus_Destruct

Definition at line 173 of file parsec_dgetrf.c.

References parsec_dgetrf_sp1dplus_Destruct(), and parsec_dgetrf_sp1dplus_New().

Referenced by parsec_dgetrf(), parsec_dgetrf_sp1dplus_Destruct(), and parsec_dgetrf_sp1dplus_New().

◆ parsec_dgetrf_sp2d_New()

parsec_taskpool_t* parsec_dgetrf_sp2d_New ( parsec_sparse_matrix_desc_t A,
sopalin_data_t *  sopalin_data 
)

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

The function only return the object that describes the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_dgetrf_sp2d_Destruct().
See also
parsec_dgetrf_sp2d
parsec_dgetrf_sp2d_Destruct
parsec_dgetrf_sp2d
parsec_cgetrf_sp2d_New
parsec_dgetrf_sp2d_New
parsec_sgetrf_sp2d_New

Definition at line 242 of file parsec_dgetrf.c.

References parsec_dgetrf_sp2d(), pastix_int_t, and PastixCompressNever.

Referenced by parsec_dgetrf_sp2d().

◆ parsec_dgetrf_sp2d_Destruct()

void parsec_dgetrf_sp2d_Destruct ( parsec_taskpool_t *  taskpool)

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

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

Definition at line 285 of file parsec_dgetrf.c.

References parsec_dgetrf_sp2d().

Referenced by parsec_dgetrf_sp2d().

◆ parsec_dgetrf_sp2d()

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

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

The function performs the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_dgetrf_sp2d_Destruct().
See also
parsec_dgetrf_sp2d_New
parsec_dgetrf_sp2d_Destruct

Definition at line 335 of file parsec_dgetrf.c.

References parsec_dgetrf_sp2d_Destruct(), and parsec_dgetrf_sp2d_New().

Referenced by parsec_dgetrf(), parsec_dgetrf_sp2d_Destruct(), and parsec_dgetrf_sp2d_New().

◆ parsec_dgetrf()

void parsec_dgetrf ( pastix_data_t pastix_data,
sopalin_data_t *  sopalin_data 
)

Perform a sparse LU factorization using PaRSEC runtime.

The function performs the LU factorization of a sparse general matrix A. The factorization has the form

\[ A = L\times U \]

where L is a sparse lower triangular matrix, and U a sparse upper triangular with the same pattern as L^t.

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_dgetrf_sp1dplus
parsec_dgetrf_sp2d

Definition at line 388 of file parsec_dgetrf.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_dgetrf_sp1dplus(), parsec_dgetrf_sp2d(), parsec_sparse_matrix_init(), pastix_parsec_init(), PastixGeneral, and parsec_sparse_matrix_desc_s::solvmtx.