Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines for 2022.
[simgrid.git] / src / smpi / colls / alltoallv / alltoallv-pair-mpi-barrier.cpp
index 39f3858..4f1f8b3 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2018. The SimGrid Team.
+/* Copyright (c) 2013-2022. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
            phases, nodes in pair communicate their data. MPI barriers are
            inserted between each two phases.
 
            phases, nodes in pair communicate their data. MPI barriers are
            inserted between each two phases.
 
- * Auther: Ahmad Faraj
+ * Author: Ahmad Faraj
 
  ****************************************************************************/
 
  ****************************************************************************/
-namespace simgrid{
-namespace smpi{
-int
-Coll_alltoallv_pair_mpi_barrier::alltoallv(void *send_buff, int *send_counts, int *send_disps,
-                                          MPI_Datatype send_type,
-                                          void *recv_buff, int *recv_counts, int *recv_disps,
-                                          MPI_Datatype recv_type, MPI_Comm comm)
+namespace simgrid {
+namespace smpi {
+int alltoallv__pair_mpi_barrier(const void *send_buff, const int *send_counts, const int *send_disps,
+                                MPI_Datatype send_type,
+                                void *recv_buff, const int *recv_counts, const int *recv_disps,
+                                MPI_Datatype recv_type, MPI_Comm comm)
 {
   MPI_Status s;
   MPI_Aint send_chunk, recv_chunk;
 {
   MPI_Status s;
   MPI_Aint send_chunk, recv_chunk;
@@ -46,14 +45,14 @@ Coll_alltoallv_pair_mpi_barrier::alltoallv(void *send_buff, int *send_counts, in
   num_procs = comm->size();
 
   if((num_procs&(num_procs-1)))
   num_procs = comm->size();
 
   if((num_procs&(num_procs-1)))
-    THROWF(arg_error,0, "alltoallv pair algorithm can't be used with non power of two number of processes ! ");
+    throw std::invalid_argument("alltoallv pair algorithm can't be used with non power of two number of processes!");
 
   send_chunk = send_type->get_extent();
   recv_chunk = recv_type->get_extent();
 
   for (i = 0; i < num_procs; i++) {
     src = dst = rank ^ i;
 
   send_chunk = send_type->get_extent();
   recv_chunk = recv_type->get_extent();
 
   for (i = 0; i < num_procs; i++) {
     src = dst = rank ^ i;
-    Colls::barrier(comm);
+    colls::barrier(comm);
     Request::sendrecv(send_ptr + send_disps[dst] * send_chunk, send_counts[dst], send_type, dst,
                  tag, recv_ptr + recv_disps[src] * recv_chunk, recv_counts[src], recv_type,
                  src, tag, comm, &s);
     Request::sendrecv(send_ptr + send_disps[dst] * send_chunk, send_counts[dst], send_type, dst,
                  tag, recv_ptr + recv_disps[src] * recv_chunk, recv_counts[src], recv_type,
                  src, tag, comm, &s);