Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines for 2023.
[simgrid.git] / src / smpi / colls / allgather / allgather-pair.cpp
index cfec7c8..7659cce 100644 (file)
@@ -1,10 +1,10 @@
-/* Copyright (c) 2013-2014. 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
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-#include "../colls_private.h"
+#include "../colls_private.hpp"
 
 /*****************************************************************************
 
@@ -62,13 +62,16 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *   comm: communication
  * Descrp: Function works when P is power of two. In each phase of P - 1
  *         phases, nodes in pair communicate their data.
- * Auther: Ahmad Faraj
+ * Author: Ahmad Faraj
  ****************************************************************************/
+
+namespace simgrid::smpi {
+
 int
-smpi_coll_tuned_allgather_pair(void *send_buff, int send_count,
-                               MPI_Datatype send_type, void *recv_buff,
-                               int recv_count, MPI_Datatype recv_type,
-                               MPI_Comm comm)
+allgather__pair(const void *send_buff, int send_count,
+                MPI_Datatype send_type, void *recv_buff,
+                int recv_count, MPI_Datatype recv_type,
+                MPI_Comm comm)
 {
 
   MPI_Aint extent;
@@ -83,7 +86,7 @@ smpi_coll_tuned_allgather_pair(void *send_buff, int send_count,
   unsigned int num_procs = comm->size();
 
   if((num_procs&(num_procs-1)))
-    THROWF(arg_error,0, "allgather pair algorithm can't be used with non power of two number of processes ! ");
+    throw std::invalid_argument("allgather pair algorithm can't be used with non power of two number of processes!");
 
   extent = send_type->get_extent();
 
@@ -101,3 +104,5 @@ smpi_coll_tuned_allgather_pair(void *send_buff, int send_count,
 
   return MPI_SUCCESS;
 }
+
+} // namespace simgrid::smpi