X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e1973b337aa4a275d58f5f934f899291612b698a..e694957c5830a9f1407392fa7f76796274aa4d18:/src/simgrid/sg_config.c diff --git a/src/simgrid/sg_config.c b/src/simgrid/sg_config.c index 797a0ae112..f66e1bf2e7 100644 --- a/src/simgrid/sg_config.c +++ b/src/simgrid/sg_config.c @@ -276,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 */ @@ -699,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.", @@ -772,6 +788,21 @@ void sg_config_init(int *argc, char **argv) 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); + xbt_cfg_register(&_sg_cfg_set, "smpi/allgatherv", "Which collective to use for allgatherv", xbt_cfgelm_string, NULL, 1, 1, &_sg_cfg_cb__coll_allgatherv, @@ -803,6 +834,13 @@ void sg_config_init(int *argc, char **argv) NULL); #endif // HAVE_SMPI + default_value = xbt_strdup("yes"); + xbt_cfg_register(&_sg_cfg_set, "clean_atexit", + "\"yes\" or \"no\". \"yes\" enables all the cleanups of SimGrid (XBT,SIMIX,MSG) to be registered with atexit. \"no\" may be useful if your code segfaults when calling the exit function.", + xbt_cfgelm_boolean, &default_value, 1, 1, + NULL, NULL); + xbt_cfg_setdefault_boolean(_sg_cfg_set, "clean_atexit", default_value); + if (!surf_path) { /* retrieves the current directory of the current process */ const char *initial_path = __surf_get_initial_path();