X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/61a993d9efe970edcbb1cb3d947553b2f188b327..964e31805a6409921f1e3a2cd497c15898b4b62b:/src/simgrid/sg_config.c diff --git a/src/simgrid/sg_config.c b/src/simgrid/sg_config.c index 27390bb3aa..4dfa5d3762 100644 --- a/src/simgrid/sg_config.c +++ b/src/simgrid/sg_config.c @@ -247,6 +247,9 @@ static void _sg_cfg_cb__coll(const char *category, /* New Module missing */ find_coll_description(table, val); } +static void _sg_cfg_cb__coll_gather(const char *name, int pos){ + _sg_cfg_cb__coll("gather", mpi_coll_gather_description, name, pos); +} static void _sg_cfg_cb__coll_allgather(const char *name, int pos){ _sg_cfg_cb__coll("allgather", mpi_coll_allgather_description, name, pos); } @@ -273,6 +276,15 @@ static void _sg_cfg_cb__coll_reduce(const char *name, int pos) { _sg_cfg_cb__coll("reduce", mpi_coll_reduce_description, name, pos); } +static void _sg_cfg_cb__coll_reduce_scatter(const char *name, int pos){ + _sg_cfg_cb__coll("reduce_scatter", mpi_coll_reduce_scatter_description, name, pos); +} +static void _sg_cfg_cb__coll_scatter(const char *name, int pos){ + _sg_cfg_cb__coll("scatter", mpi_coll_scatter_description, name, pos); +} +static void _sg_cfg_cb__coll_barrier(const char *name, int pos){ + _sg_cfg_cb__coll("barrier", mpi_coll_barrier_description, name, pos); +} #endif /* callback of the inclusion path */ @@ -696,6 +708,13 @@ void sg_config_init(int *argc, char **argv) NULL); xbt_cfg_setdefault_boolean(_sg_cfg_set, "smpi/display_timing", default_value); + default_value = xbt_strdup("yes"); + xbt_cfg_register(&_sg_cfg_set, "smpi/use_shared_malloc", + "Boolean indicating whether we should use shared memory when using SMPI_SHARED_MALLOC. Allows user to disable it for debug purposes.", + xbt_cfgelm_boolean, &default_value, 1, 1, NULL, + NULL); + xbt_cfg_setdefault_boolean(_sg_cfg_set, "smpi/use_shared_malloc", default_value); + double default_threshold = 1e-6; xbt_cfg_register(&_sg_cfg_set, "smpi/cpu_threshold", "Minimal computation time (in seconds) not discarded.", @@ -754,46 +773,64 @@ void sg_config_init(int *argc, char **argv) xbt_cfgelm_double, &default_iprobe_time, 1, 1, NULL, NULL); default_value = xbt_strdup("default"); + xbt_cfg_register(&_sg_cfg_set, "smpi/coll_selector", + "Which collective selector to use", + xbt_cfgelm_string, &default_value, 1, 1, NULL, + NULL); + + xbt_cfg_register(&_sg_cfg_set, "smpi/gather", + "Which collective to use for gather", + xbt_cfgelm_string, NULL, 1, 1, &_sg_cfg_cb__coll_gather, + NULL); + xbt_cfg_register(&_sg_cfg_set, "smpi/allgather", "Which collective to use for allgather", - xbt_cfgelm_string, &default_value, 1, 1, &_sg_cfg_cb__coll_allgather, + xbt_cfgelm_string, NULL, 1, 1, &_sg_cfg_cb__coll_allgather, + NULL); + + xbt_cfg_register(&_sg_cfg_set, "smpi/barrier", + "Which collective to use for barrier", + xbt_cfgelm_string, NULL, 1, 1, &_sg_cfg_cb__coll_barrier, + NULL); + + xbt_cfg_register(&_sg_cfg_set, "smpi/reduce_scatter", + "Which collective to use for reduce_scatter", + xbt_cfgelm_string, NULL, 1, 1, &_sg_cfg_cb__coll_reduce_scatter, + NULL); + + xbt_cfg_register(&_sg_cfg_set, "smpi/scatter", + "Which collective to use for scatter", + xbt_cfgelm_string, NULL, 1, 1, &_sg_cfg_cb__coll_scatter, NULL); - default_value = xbt_strdup("default"); xbt_cfg_register(&_sg_cfg_set, "smpi/allgatherv", "Which collective to use for allgatherv", - xbt_cfgelm_string, &default_value, 1, 1, &_sg_cfg_cb__coll_allgatherv, + xbt_cfgelm_string, NULL, 1, 1, &_sg_cfg_cb__coll_allgatherv, NULL); - default_value = xbt_strdup("default"); xbt_cfg_register(&_sg_cfg_set, "smpi/allreduce", "Which collective to use for allreduce", - xbt_cfgelm_string, &default_value, 1, 1, &_sg_cfg_cb__coll_allreduce, + xbt_cfgelm_string, NULL, 1, 1, &_sg_cfg_cb__coll_allreduce, NULL); - default_value = xbt_strdup("ompi"); xbt_cfg_register(&_sg_cfg_set, "smpi/alltoall", "Which collective to use for alltoall", - xbt_cfgelm_string, &default_value, 1, 1, &_sg_cfg_cb__coll_alltoall, + xbt_cfgelm_string, NULL, 1, 1, &_sg_cfg_cb__coll_alltoall, NULL); - default_value = xbt_strdup("default"); xbt_cfg_register(&_sg_cfg_set, "smpi/alltoallv", "Which collective to use for alltoallv", - xbt_cfgelm_string, &default_value, 1, 1, &_sg_cfg_cb__coll_alltoallv, + xbt_cfgelm_string, NULL, 1, 1, &_sg_cfg_cb__coll_alltoallv, NULL); - default_value = xbt_strdup("default"); xbt_cfg_register(&_sg_cfg_set, "smpi/bcast", "Which collective to use for bcast", - xbt_cfgelm_string, &default_value, 1, 1, &_sg_cfg_cb__coll_bcast, + xbt_cfgelm_string, NULL, 1, 1, &_sg_cfg_cb__coll_bcast, NULL); - - default_value = xbt_strdup("default"); xbt_cfg_register(&_sg_cfg_set, "smpi/reduce", "Which collective to use for reduce", - xbt_cfgelm_string, &default_value, 1, 1, &_sg_cfg_cb__coll_reduce, + xbt_cfgelm_string, NULL, 1, 1, &_sg_cfg_cb__coll_reduce, NULL); #endif // HAVE_SMPI