-/* Copyright (c) 2013-2017. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2013-2023. 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. */
#include "../colls_private.hpp"
+#include "xbt/string.hpp"
-namespace simgrid{
-namespace smpi{
+namespace simgrid::smpi {
-
-int Coll_allgather_loosely_lr::allgather(void *sbuf, int scount,
- MPI_Datatype stype, void *rbuf,
- int rcount, MPI_Datatype rtype,
- MPI_Comm comm)
+int allgather__loosely_lr(const void *sbuf, int scount,
+ MPI_Datatype stype, void *rbuf,
+ int rcount, MPI_Datatype rtype,
+ MPI_Comm comm)
{
int comm_size, rank;
int tag = COLL_TAG_ALLGATHER;
}
if(comm_size%num_core)
- THROWF(arg_error,0, "allgather loosely lr algorithm can't be used with non multiple of NUM_CORE=%d number of processes ! ",num_core);
+ throw std::invalid_argument(xbt::string_printf(
+ "allgather loosely lr algorithm can't be used with non multiple of NUM_CORE=%d number of processes!",
+ num_core));
rank = comm->rank();
MPI_Aint rextent, sextent;
return MPI_SUCCESS;
}
-
-}
-}
+} // namespace simgrid::smpi