24 #include "sopalin/sopalin_data.h"
50 sopalin_data_t *sopalin_data,
59 cblknbr = (mode == PastixSolvModeSchur) ? datacode->
cblknbr : datacode->
cblkschur;
60 for (k=0; k<cblknbr; k++, cblk++) {
61 if ( cblk->
ownerid != datacode->clustnum ) {
89 sopalin_data_t *sopalin_data,
98 if (pastix_data->
starpu == NULL) {
103 if ( sdesc == NULL ) {
110 sdesc = sopalin_data->
solvmtx->starpu_desc;
113 if ( ddesc == NULL ) {
119 ddesc = rhsb->starpu_desc;
122 #if defined(STARPU_USE_FXT)
124 starpu_fxt_start_profiling();
132 starpu_task_wait_for_all();
133 #if defined(PASTIX_WITH_MPI)
134 starpu_mpi_wait_for_all( pastix_data->
pastix_comm );
138 #if defined(STARPU_USE_FXT)
140 starpu_fxt_stop_profiling();
BEGIN_C_DECLS typedef int pastix_int_t
enum pastix_solv_mode_e pastix_solv_mode_t
Solve Schur modes.
void starpu_sparse_matrix_getoncpu(starpu_sparse_matrix_desc_t *desc)
Submit asynchronous calls to retrieve the data on main memory.
void starpu_rhs_getoncpu(starpu_rhs_desc_t *desc)
Submit asynchronous calls to retrieve the data on main memory.
void starpu_rhs_init(SolverMatrix *solvmtx, pastix_rhs_t rhsb, int typesze, int nodes, int myrank)
Generate the StarPU descriptor of the dense matrix.
void starpu_sparse_matrix_init(SolverMatrix *solvmtx, pastix_mtxtype_t mtxtype, int nodes, int myrank, pastix_coeftype_t flttype)
Generate the StarPU descriptor of the sparse matrix.
void pastix_starpu_init(pastix_data_t *pastix, int *argc, char **argv[], const int *bindtab)
Startup the StarPU runtime system.
StarPU descriptor for the vectors linked to a given sparse matrix.
StarPU descriptor stucture for the sparse matrix.
PASTIX_Comm inter_node_comm
Main PaStiX data structure.
Main PaStiX RHS structure.
void starpu_stask_cblk_ddiag(sopalin_data_t *sopalin_data, pastix_rhs_t rhsb, SolverCblk *cblk, int prio)
Submit a task to perform a diagonal solve related to one cblk to all the right hand side.
void starpu_ddiag_sp1dplus(pastix_data_t *pastix_data, sopalin_data_t *sopalin_data, pastix_rhs_t rhsb)
Apply the diagonal solve on a problem of 1 dimension.
void starpu_ddiag(pastix_data_t *pastix_data, sopalin_data_t *sopalin_data, pastix_rhs_t rhsb)
Apply the diagonal solve (StarPU version)
SolverCblk *restrict cblktab
Solver column block structure.
Solver column block structure.