24 #include "sopalin/sopalin_data.h"
46 sopalin_data_t *sopalin_data )
54 cblknbr = (mode == PastixSolvModeSchur) ? datacode->
cblknbr : datacode->
cblkschur;
55 for (k=0; k<cblknbr; k++, cblk++) {
56 if ( cblk->
ownerid != datacode->clustnum ) {
89 sopalin_data_t *sopalin_data,
91 pastix_complex64_t *b,
100 if (pastix_data->
starpu == NULL) {
105 if ( sdesc == NULL ) {
112 sdesc = sopalin_data->
solvmtx->starpu_desc;
118 sizeof(pastix_complex64_t),
121 ddesc = sopalin_data->
solvmtx->starpu_desc_rhs;
123 #if defined(STARPU_USE_FXT)
125 starpu_fxt_start_profiling();
133 starpu_task_wait_for_all();
134 #if defined(PASTIX_WITH_MPI)
135 starpu_mpi_wait_for_all( pastix_data->
pastix_comm );
139 #if defined(STARPU_USE_FXT)
141 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_dense_matrix_init(SolverMatrix *solvmtx, pastix_int_t ncol, char *A, pastix_int_t lda, int typesze, int nodes, int myrank)
Generate the StarPU descriptor of the dense matrix.
void starpu_sparse_matrix_getoncpu(starpu_sparse_matrix_desc_t *desc)
Submit asynchronous calls to retrieve the data on main memory.
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.
void starpu_dense_matrix_getoncpu(starpu_dense_matrix_desc_t *desc)
Submit asynchronous calls to retrieve the data on main memory.
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.
void starpu_zdiag_sp1dplus(pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
Apply the diagonal solve on a problem of 1 dimension.
void starpu_stask_cblk_zdiag(sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
Submit a task to perform a diagonal solve related to one cblk to all the right hand side.
void starpu_zdiag(pastix_data_t *pastix_data, sopalin_data_t *sopalin_data, int nrhs, pastix_complex64_t *b, int ldb)
Apply the diagonal solve (StarPU version)
SolverCblk *restrict cblktab
Solver column block structure.
Solver column block structure.