diff --git a/src/hchameleon.c b/src/hchameleon.c index fcdfeeeb34c28e4f78ed02d8cd53d75d9e664c28..52bbf5d467a68552779bd003fcbad82f4e1626b1 100644 --- a/src/hchameleon.c +++ b/src/hchameleon.c @@ -195,7 +195,7 @@ hmat_interface_t *hi ) cham_map_operator_t op; data.access = ChamW; - data.desc = *descA; + data.desc = descA; op.name = "BuildFEMBEM-H"; op.cpufunc = HCHAMELEON_build_callback_FEMBEM; @@ -386,9 +386,9 @@ typedef struct getinfo_args_s { } getinfo_args_t; static int -HCHAMELEON_map_getinfo( const CHAM_desc_t *desc, - cham_uplo_t uplo, int m, int n, - CHAM_tile_t *tile, void *op_args ) +HCHAMELEON_map_getinfo( void *op_args, + cham_uplo_t uplo, int m, int n, int ndata, + const CHAM_desc_t *desc, CHAM_tile_t *tile, ... ) { getinfo_args_t *getinfo = (getinfo_args_t*)op_args; hmat_info_t info; @@ -399,6 +399,10 @@ HCHAMELEON_map_getinfo( const CHAM_desc_t *desc, getinfo->uncompress_size += info.uncompressed_size; pthread_mutex_unlock( &(getinfo->mutex) ); + (void)ndata; + (void)uplo; + (void)m; + (void)n; return 0; } @@ -413,9 +417,18 @@ hmat_info_t HCHAMELEON_getinfo( HCHAM_desc_t *hdesc ) .mutex = PTHREAD_MUTEX_INITIALIZER, }; cham_uplo_t uplo = symMatSolver ? ChamLower : ChamUpperLower; + cham_map_data_t data; + cham_map_operator_t op; + + data.access = ChamR; + data.desc = hdesc->super; + + op.name = "HCHAM_getInfo"; + op.cpufunc = HCHAMELEON_map_getinfo; + op.cudafunc = NULL; + op.hipfunc = NULL; - CHAMELEON_map_Tile( ChamR, uplo, hdesc->super, - HCHAMELEON_map_getinfo, &op_args ); + CHAMELEON_map_Tile( uplo, 1, &data, &op, &op_args ); MPI_Allreduce( &(op_args.compress_size), &ginfo.compressed_size, 1, MPI_UNSIGNED_LONG, MPI_SUM, MPI_COMM_WORLD );