X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b7ed19dfcc221d7b3eca182abb5c4a3946671172..595e59c568ff5f8510de201bfd800951cdc2adcb:/src/smpi/colls/smpi_automatic_selector.cpp diff --git a/src/smpi/colls/smpi_automatic_selector.cpp b/src/smpi/colls/smpi_automatic_selector.cpp index af06809efe..cac0ea237e 100644 --- a/src/smpi/colls/smpi_automatic_selector.cpp +++ b/src/smpi/colls/smpi_automatic_selector.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2015. The SimGrid Team. +/* Copyright (c) 2013-2017. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -9,6 +9,8 @@ #include #include "colls_private.h" +#include "src/smpi/smpi_process.hpp" + //attempt to do a quick autotuning version of the collective, @@ -18,9 +20,9 @@ type=PJ_type_event_new(#cat, PJ_type_get_root());\ }\ char cont_name[25];\ - snprintf(cont_name,25, "rank-%d", smpi_process_index());\ - val_t value = PJ_value_get_or_new(mpi_coll_##cat##_description[i].name,"1.0 1.0 1.0", type);\ - new_pajeNewEvent (SIMIX_get_clock(), PJ_container_get(cont_name), type, value);\ + snprintf(cont_name,25, "rank-%d", smpi_process()->index());\ + val_t value = PJ_value_get_or_new(Colls::mpi_coll_##cat##_description[i].name,"1.0 1.0 1.0", type);\ + new NewEvent (SIMIX_get_clock(), PJ_container_get(cont_name), type, value);\ } #define AUTOMATIC_COLL_BENCH(cat, ret, args, args2)\ @@ -30,15 +32,15 @@ int min_coll=-1, global_coll=-1;\ int i;\ double buf_in, buf_out, max_min=DBL_MAX;\ - for (i = 0; mpi_coll_##cat##_description[i].name; i++){\ - if(!strcmp(mpi_coll_##cat##_description[i].name, "automatic"))continue;\ - if(!strcmp(mpi_coll_##cat##_description[i].name, "default"))continue;\ + for (i = 0; Colls::mpi_coll_##cat##_description[i].name; i++){\ + if(!strcmp(Colls::mpi_coll_##cat##_description[i].name, "automatic"))continue;\ + if(!strcmp(Colls::mpi_coll_##cat##_description[i].name, "default"))continue;\ Coll_barrier_default::barrier(comm);\ TRACE_AUTO_COLL(cat)\ time1 = SIMIX_get_clock();\ try {\ ((int (*) args)\ - mpi_coll_##cat##_description[i].coll) args2 ;\ + Colls::mpi_coll_##cat##_description[i].coll) args2 ;\ }\ catch (std::exception& ex) {\ continue;\ @@ -58,9 +60,9 @@ }\ }\ if(comm->rank()==0){\ - XBT_WARN("For rank 0, the quickest was %s : %f , but global was %s : %f at max",mpi_coll_##cat##_description[min_coll].name, time_min,mpi_coll_##cat##_description[global_coll].name, max_min);\ + XBT_WARN("For rank 0, the quickest was %s : %f , but global was %s : %f at max",Colls::mpi_coll_##cat##_description[min_coll].name, time_min,Colls::mpi_coll_##cat##_description[global_coll].name, max_min);\ }else\ - XBT_WARN("The quickest %s was %s on rank %d and took %f",#cat,mpi_coll_##cat##_description[min_coll].name, comm->rank(), time_min);\ + XBT_WARN("The quickest %s was %s on rank %d and took %f",#cat,Colls::mpi_coll_##cat##_description[min_coll].name, comm->rank(), time_min);\ return (min_coll!=-1)?MPI_SUCCESS:MPI_ERR_INTERN;\ }