Mentions légales du service

Skip to content
Snippets Groups Projects
Commit ce1862c7 authored by Abel Calluaud's avatar Abel Calluaud
Browse files

hmat: Support multiple precision

parent 86af7315
No related branches found
No related tags found
1 merge request!476Support multiple precision for HMATOSS
...@@ -26,18 +26,26 @@ static inline void ...@@ -26,18 +26,26 @@ static inline void
cti_hmat_destroy( starpu_cham_tile_interface_t *cham_tile_interface ) cti_hmat_destroy( starpu_cham_tile_interface_t *cham_tile_interface )
{ {
switch( cham_tile_interface->flttype ) { switch( cham_tile_interface->flttype ) {
#if defined(CHAMELEON_PREC_Z)
case ChamComplexDouble: case ChamComplexDouble:
hmat_zdestroy( cham_tile_interface->tile.mat ); hmat_zdestroy( cham_tile_interface->tile.mat );
break; break;
#endif
#if defined(CHAMELEON_PREC_C)
case ChamComplexFloat: case ChamComplexFloat:
hmat_cdestroy( cham_tile_interface->tile.mat ); hmat_cdestroy( cham_tile_interface->tile.mat );
break; break;
#endif
#if defined(CHAMELEON_PREC_D)
case ChamRealDouble: case ChamRealDouble:
hmat_ddestroy( cham_tile_interface->tile.mat ); hmat_ddestroy( cham_tile_interface->tile.mat );
break; break;
#endif
#if defined(CHAMELEON_PREC_S)
case ChamRealFloat: case ChamRealFloat:
hmat_sdestroy( cham_tile_interface->tile.mat ); hmat_sdestroy( cham_tile_interface->tile.mat );
break; break;
#endif
default: default:
STARPU_ASSERT_MSG( 0, "cti_hmat_destroy(): unknown flttype\n" ); STARPU_ASSERT_MSG( 0, "cti_hmat_destroy(): unknown flttype\n" );
} }
...@@ -53,18 +61,26 @@ cti_get_hmat_required_size( starpu_cham_tile_interface_t *cham_tile_interface ) ...@@ -53,18 +61,26 @@ cti_get_hmat_required_size( starpu_cham_tile_interface_t *cham_tile_interface )
(cham_tile_interface->tile.mat != NULL ) ) (cham_tile_interface->tile.mat != NULL ) )
{ {
switch( cham_tile_interface->flttype ) { switch( cham_tile_interface->flttype ) {
#if defined(CHAMELEON_PREC_Z)
case ChamComplexDouble: case ChamComplexDouble:
size = hmat_zsize( cham_tile_interface->tile.mat ); size = hmat_zsize( cham_tile_interface->tile.mat );
break; break;
#endif
#if defined(CHAMELEON_PREC_C)
case ChamComplexFloat: case ChamComplexFloat:
size = hmat_csize( cham_tile_interface->tile.mat ); size = hmat_csize( cham_tile_interface->tile.mat );
break; break;
#endif
#if defined(CHAMELEON_PREC_D)
case ChamRealDouble: case ChamRealDouble:
size = hmat_dsize( cham_tile_interface->tile.mat ); size = hmat_dsize( cham_tile_interface->tile.mat );
break; break;
#endif
#if defined(CHAMELEON_PREC_S)
case ChamRealFloat: case ChamRealFloat:
size = hmat_ssize( cham_tile_interface->tile.mat ); size = hmat_ssize( cham_tile_interface->tile.mat );
break; break;
#endif
default: default:
STARPU_ASSERT_MSG( 0, "cti_get_hmat_required_size(cham_tile_interface): unknown flttype\n" ); STARPU_ASSERT_MSG( 0, "cti_get_hmat_required_size(cham_tile_interface): unknown flttype\n" );
} }
...@@ -327,18 +343,26 @@ cti_pack_data_hmat( starpu_cham_tile_interface_t *cham_tile_interface, ...@@ -327,18 +343,26 @@ cti_pack_data_hmat( starpu_cham_tile_interface_t *cham_tile_interface,
hmat_matrix_t *mat = cham_tile_interface->tile.mat; hmat_matrix_t *mat = cham_tile_interface->tile.mat;
STARPU_ASSERT_MSG( mat != NULL, "cti_pack_data_hmat: Try to pack a NULL pointer\n" ); STARPU_ASSERT_MSG( mat != NULL, "cti_pack_data_hmat: Try to pack a NULL pointer\n" );
switch( cham_tile_interface->flttype ) { switch( cham_tile_interface->flttype ) {
#if defined(CHAMELEON_PREC_Z)
case ChamComplexDouble: case ChamComplexDouble:
hmat_zwrite( mat, ptr ); hmat_zwrite( mat, ptr );
break; break;
#endif
#if defined(CHAMELEON_PREC_C)
case ChamComplexFloat: case ChamComplexFloat:
hmat_cwrite( mat, ptr ); hmat_cwrite( mat, ptr );
break; break;
#endif
#if defined(CHAMELEON_PREC_D)
case ChamRealDouble: case ChamRealDouble:
hmat_dwrite( mat, ptr ); hmat_dwrite( mat, ptr );
break; break;
#endif
#if defined(CHAMELEON_PREC_S)
case ChamRealFloat: case ChamRealFloat:
hmat_swrite( mat, ptr ); hmat_swrite( mat, ptr );
break; break;
#endif
default: default:
STARPU_ASSERT_MSG( 0, "cti_pack_data_hmat: unknown flttype\n" ); STARPU_ASSERT_MSG( 0, "cti_pack_data_hmat: unknown flttype\n" );
} }
...@@ -427,18 +451,26 @@ cti_unpack_data_hmat( starpu_cham_tile_interface_t *cham_tile_interface, ...@@ -427,18 +451,26 @@ cti_unpack_data_hmat( starpu_cham_tile_interface_t *cham_tile_interface,
#else #else
hmat_matrix_t *mat = NULL; hmat_matrix_t *mat = NULL;
switch( cham_tile_interface->flttype ) { switch( cham_tile_interface->flttype ) {
#if defined(CHAMELEON_PREC_Z)
case ChamComplexDouble: case ChamComplexDouble:
mat = hmat_zread( ptr ); mat = hmat_zread( ptr );
break; break;
#endif
#if defined(CHAMELEON_PREC_C)
case ChamComplexFloat: case ChamComplexFloat:
mat = hmat_cread( ptr ); mat = hmat_cread( ptr );
break; break;
#endif
#if defined(CHAMELEON_PREC_D)
case ChamRealDouble: case ChamRealDouble:
mat = hmat_dread( ptr ); mat = hmat_dread( ptr );
break; break;
#endif
#if defined(CHAMELEON_PREC_S)
case ChamRealFloat: case ChamRealFloat:
mat = hmat_sread( ptr ); mat = hmat_sread( ptr );
break; break;
#endif
default: default:
STARPU_ASSERT_MSG( 0, "cti_unpack_data_hmat: unknown flttype\n" ); STARPU_ASSERT_MSG( 0, "cti_unpack_data_hmat: unknown flttype\n" );
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment