Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add new entry in Release_Notes.
[simgrid.git] / src / smpi / colls / allgather / allgather-NTSLR-NB.cpp
index 77b8723..ff35278 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2020. The SimGrid Team.
+/* Copyright (c) 2013-2023. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -6,8 +6,7 @@
 
 #include "../colls_private.hpp"
 
-namespace simgrid{
-namespace smpi{
+namespace simgrid::smpi {
 
 // Allgather-Non-Topology-Specific-Logical-Ring algorithm
 int
@@ -25,12 +24,9 @@ allgather__NTSLR_NB(const void *sbuf, int scount, MPI_Datatype stype,
   size = comm->size();
   rextent = rtype->get_extent();
   sextent = stype->get_extent();
-  MPI_Request* rrequest_array = new MPI_Request[size];
-  MPI_Request* srequest_array = new MPI_Request[size];
 
-  // irregular case use default MPI fucntions
   if (scount * sextent != rcount * rextent) {
-    XBT_WARN("MPI_allgather_NTSLR_NB use default MPI_allgather.");
+    XBT_INFO("MPI_allgather_NTSLR_NB: irregular case, use default MPI_allgather.");
     allgather__default(sbuf, scount, stype, rbuf, rcount, rtype, comm);
     return MPI_SUCCESS;
   }
@@ -49,6 +45,9 @@ allgather__NTSLR_NB(const void *sbuf, int scount, MPI_Datatype stype,
   //start sending logical ring message
   int increment = scount * sextent;
 
+  auto* rrequest_array = new MPI_Request[size];
+  auto* srequest_array = new MPI_Request[size];
+
   //post all irecv first
   for (i = 0; i < size - 1; i++) {
     recv_offset = ((rank - i - 1 + size) % size) * increment;
@@ -69,5 +68,4 @@ allgather__NTSLR_NB(const void *sbuf, int scount, MPI_Datatype stype,
   return MPI_SUCCESS;
 }
 
-}
-}
+} // namespace simgrid::smpi