Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 512b762c authored by Mathieu Faverge's avatar Mathieu Faverge
Browse files

map: Update to the new map interface

parent 5bfc9b0c
Branches
No related tags found
No related merge requests found
......@@ -93,9 +93,9 @@ int CHAMELEON_gemm_Tile( CHAM_desc_t *descA,
// indices are 0 based, bounds included
static int
CHAMELEON_build_callback_FEMBEM( const CHAM_desc_t *desc,
cham_uplo_t uplo, int m, int n,
CHAM_tile_t *tile, void *op_args )
CHAMELEON_build_callback_FEMBEM( void *op_args,
cham_uplo_t uplo, int m, int n, int ndata,
const CHAM_desc_t *desc, CHAM_tile_t *tile, ... )
{
ASSERTA(tile);
......@@ -110,12 +110,15 @@ CHAMELEON_build_callback_FEMBEM( const CHAM_desc_t *desc,
&Mpf_i_zero, &Mpf_i_one, &Mpf_i_one, &Mpf_i_one,
&size_of_buffer, &(tile->ld), tile->mat, op_args );
(void)ndata;
return 0;
}
int CHAMELEON_generate_matrix( cham_flttype_t flttype, int NB, int PQ[2],
CHAM_desc_t **descA )
{
cham_map_data_t data;
cham_map_operator_t op;
int ierr;
int N = nbPts;
cham_uplo_t uplo = symMatSolver ? ChamLower : ChamUpperLower;
......@@ -133,8 +136,15 @@ CHAM_desc_t **descA )
CHKERRQ(ierr);
// Assembly driven by chameleon and using the callback CHAMELEON_build_callback_FEMBEM() defined above
ierr = CHAMELEON_map_Tile( ChamW, uplo, *descA,
CHAMELEON_build_callback_FEMBEM, myCtx );
data.access = ChamW;
data.desc = *descA;
op.name = "BuildFEMBEM";
op.cpufunc = CHAMELEON_build_callback_FEMBEM;
op.cudafunc = NULL;
op.hipfunc = NULL;
ierr = CHAMELEON_map_Tile( uplo, 1, &data, &op, myCtx );
CHKERRQ(ierr);
MpfFree( myCtx );
......
......@@ -28,9 +28,9 @@ inline static int chameleon_desc_islocal( const CHAM_desc_t *A, int m, int n )
// indices are 0 based, bounds included
/* Initialize a given tile with an h-matrix, given the row and cluster tree */
static int
HCHAMELEON_build_callback_FEMBEM( const CHAM_desc_t *desc,
cham_uplo_t uplo, int m, int n,
CHAM_tile_t *tile, void *op_args )
HCHAMELEON_build_callback_FEMBEM( void *op_args,
cham_uplo_t uplo, int m, int n, int ndata,
const CHAM_desc_t *desc, CHAM_tile_t *tile, ... )
{
contextTestFEMBEM ctx_fembem;
struct mpf_hmat_create_compression_args_t compression_ctx;
......@@ -191,8 +191,19 @@ hmat_interface_t *hi )
*/
#if 1
cham_uplo_t uplo = symMatSolver ? ChamLower : ChamUpperLower;
ierr = CHAMELEON_map_Tile( ChamW, uplo, descA,
HCHAMELEON_build_callback_FEMBEM, hdescA );
cham_map_data_t data;
cham_map_operator_t op;
data.access = ChamW;
data.desc = *descA;
op.name = "BuildFEMBEM-H";
op.cpufunc = HCHAMELEON_build_callback_FEMBEM;
op.cudafunc = NULL;
op.hipfunc = NULL;
ierr = CHAMELEON_map_Tile( uplo, 1, &data, &op, hdescA );
CHKERRQ(ierr);
#else
tile = descA->tiles;
for(j=0; j < descA->lnt; j++) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment