X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c6b37bd8ca699c760d0198d8ad38ba802eb91ec2..da62b5cbd53ece70108a4f0eba4757e75f3dc00a:/src/simgrid/sg_config.c diff --git a/src/simgrid/sg_config.c b/src/simgrid/sg_config.c index f0ea9761ad..c29f5e8841 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,12 @@ 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); +} #endif /* callback of the inclusion path */ @@ -758,11 +767,27 @@ void sg_config_init(int *argc, char **argv) "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, NULL, 1, 1, &_sg_cfg_cb__coll_allgather, 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,