Mentions légales du service

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

Merge branch 'distributed_gemm' into 'master'

Add a "generic" option for (distributed) gemm

See merge request !270
parents 6f185f1e 32fed9cf
No related branches found
No related tags found
1 merge request!270Add a "generic" option for (distributed) gemm
...@@ -45,6 +45,7 @@ static parameter_t parameters[] = { ...@@ -45,6 +45,7 @@ static parameter_t parameters[] = {
{ "profile", "Display the kernel profiling", -33, PARAM_OPTION, 0, 0, TestValInt, {0}, NULL, pread_int, sprint_int }, { "profile", "Display the kernel profiling", -33, PARAM_OPTION, 0, 0, TestValInt, {0}, NULL, pread_int, sprint_int },
{ "forcegpu", "Force kernels on GPU", -34, PARAM_OPTION, 0, 0, TestValInt, {0}, NULL, pread_int, sprint_int }, { "forcegpu", "Force kernels on GPU", -34, PARAM_OPTION, 0, 0, TestValInt, {0}, NULL, pread_int, sprint_int },
{ "async", "Switch to the Async interface", 's', PARAM_OPTION, 0, 0, TestValInt, {0}, NULL, pread_int, sprint_int }, { "async", "Switch to the Async interface", 's', PARAM_OPTION, 0, 0, TestValInt, {0}, NULL, pread_int, sprint_int },
{ "generic", "Switch to the generic interface", -35, PARAM_OPTION, 0, 0, TestValInt, {0}, NULL, pread_int, sprint_int },
{ "splitsub", "Split the task submission and execution stages", 'S', PARAM_OPTION, 0, 0, TestValInt, {0}, NULL, pread_int, sprint_int }, { "splitsub", "Split the task submission and execution stages", 'S', PARAM_OPTION, 0, 0, TestValInt, {0}, NULL, pread_int, sprint_int },
{ NULL, "Machine parameters", 0, PARAM_OPTION, 0, 0, 0, {0}, NULL, NULL, NULL }, { NULL, "Machine parameters", 0, PARAM_OPTION, 0, 0, 0, {0}, NULL, NULL, NULL },
...@@ -597,7 +598,7 @@ testing_stop( testdata_t *tdata, cham_fixdbl_t flops ) ...@@ -597,7 +598,7 @@ testing_stop( testdata_t *tdata, cham_fixdbl_t flops )
int main (int argc, char **argv) { int main (int argc, char **argv) {
int ncores, ngpus, human, check, i, niter; int ncores, ngpus, human, generic, check, i, niter;
int trace, nowarmup, profile, forcegpu; int trace, nowarmup, profile, forcegpu;
int rc, info = 0; int rc, info = 0;
int run_id = 0; int run_id = 0;
...@@ -618,11 +619,12 @@ int main (int argc, char **argv) { ...@@ -618,11 +619,12 @@ int main (int argc, char **argv) {
ngpus = parameters_getvalue_int( "gpus" ); ngpus = parameters_getvalue_int( "gpus" );
check = parameters_getvalue_int( "check" ); check = parameters_getvalue_int( "check" );
human = parameters_getvalue_int( "human" ); human = parameters_getvalue_int( "human" );
generic = parameters_getvalue_int( "generic" );
func_name = parameters_getvalue_str( "op" ); func_name = parameters_getvalue_str( "op" );
niter = parameters_getvalue_int( "niter" ); niter = parameters_getvalue_int( "niter" );
trace = parameters_getvalue_int( "trace" ); trace = parameters_getvalue_int( "trace" );
nowarmup = parameters_getvalue_int( "nowarmup" ); nowarmup = parameters_getvalue_int( "nowarmup" );
profile = parameters_getvalue_int( "profile" ); profile = parameters_getvalue_int( "profile" );
forcegpu = parameters_getvalue_int( "forcegpu" ); forcegpu = parameters_getvalue_int( "forcegpu" );
rc = CHAMELEON_Init( ncores, ngpus ); rc = CHAMELEON_Init( ncores, ngpus );
...@@ -678,6 +680,10 @@ int main (int argc, char **argv) { ...@@ -678,6 +680,10 @@ int main (int argc, char **argv) {
CHAMELEON_Enable( CHAMELEON_PROFILING_MODE ); CHAMELEON_Enable( CHAMELEON_PROFILING_MODE );
} }
if ( generic ) {
CHAMELEON_Enable( CHAMELEON_GENERIC );
}
/* Perform all runs */ /* Perform all runs */
while ( run != NULL ) { while ( run != NULL ) {
for(i=0; i<niter; i++) { for(i=0; i<niter; i++) {
......
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