21 #include <parsec/data_distribution.h>
22 #include <parsec/private_mempool.h>
23 #include <parsec/arena.h>
24 #include <parsec/data_dist/matrix/matrix.h>
27 #include "sopalin/sopalin_data.h"
28 #include "cpxtrf_sp1dplus.h"
29 #include "cpxtrf_sp2d.h"
79 sopalin_data_t *sopalin_data )
84 lwork = sopalin_data->solvmtx->gemmmax;
86 (sopalin_data->solvmtx->lowrank.ilu_lvl < INT_MAX) )
88 lwork = pastix_imax( lwork, 2 * sopalin_data->solvmtx->blokmax );
99 parsec_datatype_complex_t );
101 #if defined(PASTIX_GENERATE_MODEL)
129 parsec_taskpool_free( taskpool );
173 sopalin_data_t *sopalin_data )
185 parsec_context_start( parsec );
186 parsec_context_wait( parsec );
240 sopalin_data_t *sopalin_data )
245 lwork = sopalin_data->solvmtx->gemmmax;
247 (sopalin_data->solvmtx->lowrank.ilu_lvl < INT_MAX) )
249 lwork = pastix_imax( lwork, 2 * sopalin_data->solvmtx->blokmax );
254 parsec_cpxtrf_sp2d->_g_p_work = (parsec_memory_pool_t*)malloc(
sizeof(parsec_memory_pool_t));
260 parsec_datatype_complex_t );
262 #if defined(PASTIX_GENERATE_MODEL)
290 parsec_taskpool_free( taskpool );
334 sopalin_data_t *sopalin_data )
346 parsec_context_start( parsec );
347 parsec_context_wait( parsec );
386 sopalin_data_t *sopalin_data )
389 parsec_context_t *ctx;
394 if (pastix_data->
parsec == NULL) {
398 ctx = pastix_data->
parsec;
400 if ( sdesc == NULL ) {
406 sdesc = sopalin_data->
solvmtx->parsec_desc;
BEGIN_C_DECLS typedef int pastix_int_t
float _Complex pastix_complex32_t
parsec_taskpool_t * parsec_cpxtrf_sp2d_New(parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
Generate the PaRSEC taskpoolr object for the LL^t factorization with 1D and 2D kernels.
parsec_taskpool_t * parsec_cpxtrf_sp1dplus_New(parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
Generate the PaRSEC taskpool object for the LL^t factorization with 1D kernels.
void parsec_cpxtrf_sp1dplus_Destruct(parsec_taskpool_t *taskpool)
Free the data structure associated to a taskpool created with parsec_cpxtrf_sp1dplus_New().
int parsec_cpxtrf_sp1dplus(parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
Perform a sparse LL^t factorization with 1D kernels.
void parsec_cpxtrf(pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
Perform a sparse LL^t factorization using PaRSEC runtime.
int parsec_cpxtrf_sp2d(parsec_context_t *parsec, parsec_sparse_matrix_desc_t *A, sopalin_data_t *sopalin_data)
Perform a sparse LL^t factorization with 1D and 2D kernels.
void parsec_cpxtrf_sp2d_Destruct(parsec_taskpool_t *taskpool)
Free the data structure associated to a taskpool created with parsec_cpxtrf_sp2d_New().
void parsec_sparse_matrix_init(SolverMatrix *solvmtx, int typesize, pastix_mtxtype_t mtxtype, int nodes, int myrank)
Generate the PaRSEC descriptor of the sparse matrix.
void pastix_parsec_init(pastix_data_t *pastix, int *argc, char **argv[], const int *bindtab)
Startup the PaRSEC runtime system.
PaRSEC descriptor stucture for the sparse matrix.
Main PaStiX data structure.