22 #include <starpu_data.h>
62 int typesize,
int nodes,
int myrank )
64 starpu_data_handle_t *handler;
70 if ( spmtx != NULL ) {
71 if ( (ncol == spmtx->
ncol) &&
87 spmtx->
handletab = malloc( cblknbr *
sizeof(starpu_data_handle_t) );
95 cblknum++, cblk++, handler++ )
100 starpu_matrix_data_register( handler, STARPU_MAIN_RAM,
101 (uintptr_t)(A + (cblk->
lcolidx * typesize)),
102 lda, nrow, ncol, typesize );
105 starpu_matrix_data_register( handler, -1, 0,
106 lda, nrow, ncol, typesize );
108 #if defined(PASTIX_WITH_MPI)
109 starpu_mpi_data_register( *handler, spmtx->
mpitag + ((int64_t)cblknum), cblk->
ownerid );
113 solvmtx->starpu_desc_rhs = spmtx;
133 starpu_data_handle_t *handler = spmtx->
handletab;
139 for(cblknum=0; cblknum<cblknbr; cblknum++, cblk++, handler++)
143 #if defined(PASTIX_WITH_MPI)
144 starpu_mpi_cache_flush( spmtx->
solvmtx->solv_comm, *handler );
147 starpu_data_acquire_cb( *handler, STARPU_R,
148 (
void (*)(
void*))&starpu_data_release,
171 starpu_data_handle_t *handler = spmtx->
handletab;
177 for(cblknum=0; cblknum<cblknbr; cblknum++, cblk++, handler++)
180 starpu_data_unregister( *handler );
BEGIN_C_DECLS typedef int pastix_int_t
starpu_data_handle_t * handletab
void starpu_dense_matrix_init(SolverMatrix *solvmtx, pastix_int_t ncol, char *A, pastix_int_t lda, int typesize, int nodes, int myrank)
Generate the StarPU descriptor of the dense matrix.
int64_t pastix_starpu_tag_book(int64_t nbtags)
Book a range of StarPU unique tags of size nbtags.
void pastix_starpu_tag_release(int64_t min)
Release the set of tags starting by min.
void starpu_dense_matrix_destroy(starpu_dense_matrix_desc_t *spmtx)
Free the StarPU descriptor of the dense matrix.
void starpu_dense_matrix_getoncpu(starpu_dense_matrix_desc_t *spmtx)
Submit asynchronous calls to retrieve the data on main memory.
StarPU descriptor for the vectors linked to a given sparse matrix.
static pastix_int_t cblk_colnbr(const SolverCblk *cblk)
Compute the number of columns in a column block.
SolverCblk *restrict cblktab
Solver column block structure.
Solver column block structure.