/* smpi_coll.c -- various optimized routing for collectives */
-/* Copyright (c) 2009-2021. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2009-2022. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_coll, smpi, "Logging specific to SMPI collectives.");
-namespace simgrid {
-namespace smpi {
+namespace simgrid::smpi {
std::map<std::string, std::vector<s_mpi_coll_description_t>, std::less<>> smpi_coll_descriptions(
- {{std::string("gather"),
+ {{"gather",
{{"default", "gather default collective", (void*)gather__default},
{"ompi", "gather ompi collective", (void*)gather__ompi},
{"ompi_basic_linear", "gather ompi_basic_linear collective", (void*)gather__ompi_basic_linear},
{"ompi_basic_recursivehalving", "reduce_scatter ompi_basic_recursivehalving collective",
(void*)reduce_scatter__ompi_basic_recursivehalving},
{"ompi_ring", "reduce_scatter ompi_ring collective", (void*)reduce_scatter__ompi_ring},
+ {"ompi_butterfly", "reduce_scatter ompi_butterfly collective", (void*)reduce_scatter__ompi_butterfly},
{"mpich", "reduce_scatter mpich collective", (void*)reduce_scatter__mpich},
{"mpich_pair", "reduce_scatter mpich_pair collective", (void*)reduce_scatter__mpich_pair},
{"mpich_rdb", "reduce_scatter mpich_rdb collective", (void*)reduce_scatter__mpich_rdb},
{{"default", "scatter default collective", (void*)scatter__default},
{"ompi", "scatter ompi collective", (void*)scatter__ompi},
{"ompi_basic_linear", "scatter ompi_basic_linear collective", (void*)scatter__ompi_basic_linear},
+ {"ompi_linear_nb", "scatter ompi_linear nonblocking collective", (void*)scatter__ompi_linear_nb},
{"ompi_binomial", "scatter ompi_binomial collective", (void*)scatter__ompi_binomial},
{"mpich", "scatter mpich collective", (void*)scatter__mpich},
{"mvapich2", "scatter mvapich2 collective", (void*)scatter__mvapich2},
return Request::wait(&request, MPI_STATUS_IGNORE);
}
-}
-}
+} // namespace simgrid::smpi