Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines for 2023.
[simgrid.git] / src / smpi / colls / scatter / scatter-mvapich-two-level.cpp
index 35e57e4..4319efc 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2019. 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
  */
 #include "../colls_private.hpp"
 
-#define MPIR_Scatter_MV2_Binomial Coll_scatter_ompi_binomial::scatter
-#define MPIR_Scatter_MV2_Direct Coll_scatter_ompi_basic_linear::scatter
+#define MPIR_Scatter_MV2_Binomial scatter__ompi_binomial
+#define MPIR_Scatter_MV2_Direct scatter__ompi_basic_linear
 
 extern int (*MV2_Scatter_intra_function) (const void *sendbuf, int sendcount, MPI_Datatype sendtype,
     void *recvbuf, int recvcount, MPI_Datatype recvtype,
     int root, MPI_Comm comm);
 
-namespace simgrid{
-namespace smpi{
+namespace simgrid::smpi {
 
-int Coll_scatter_mvapich2_two_level_direct::scatter(const void *sendbuf,
-                                      int sendcnt,
-                                      MPI_Datatype sendtype,
-                                      void *recvbuf,
-                                      int recvcnt,
-                                      MPI_Datatype recvtype,
-                                      int root, MPI_Comm  comm)
+int scatter__mvapich2_two_level_direct(const void *sendbuf,
+                                       int sendcnt,
+                                       MPI_Datatype sendtype,
+                                       void *recvbuf,
+                                       int recvcnt,
+                                       MPI_Datatype recvtype,
+                                       int root, MPI_Comm  comm)
 {
     int comm_size, rank;
     int local_rank, local_size;
@@ -65,8 +64,8 @@ int Coll_scatter_mvapich2_two_level_direct::scatter(const void *sendbuf,
     int leader_root, leader_of_root = -1;
     MPI_Comm shmem_comm, leader_comm;
     //if not set (use of the algo directly, without mvapich2 selector)
-    if(MV2_Scatter_intra_function==NULL)
-      MV2_Scatter_intra_function=Coll_scatter_mpich::scatter;
+    if (MV2_Scatter_intra_function == nullptr)
+      MV2_Scatter_intra_function = scatter__mpich;
 
     if(comm->get_leaders_comm()==MPI_COMM_NULL){
       comm->init_smp();
@@ -142,8 +141,8 @@ int Coll_scatter_mvapich2_two_level_direct::scatter(const void *sendbuf,
 
         if (leader_comm_size > 1 && local_rank == 0) {
           if (not comm->is_uniform()) {
-            int* displs   = NULL;
-            int* sendcnts = NULL;
+            int* displs   = nullptr;
+            int* sendcnts = nullptr;
             int* node_sizes;
             int i      = 0;
             node_sizes = comm->get_non_uniform_map();
@@ -160,7 +159,7 @@ int Coll_scatter_mvapich2_two_level_direct::scatter(const void *sendbuf,
                   sendcnts[i] = node_sizes[i] * nbytes;
                 }
               }
-              Colls::scatterv(leader_scatter_buf, sendcnts, displs, MPI_BYTE, tmp_buf, nbytes * local_size, MPI_BYTE,
+              colls::scatterv(leader_scatter_buf, sendcnts, displs, MPI_BYTE, tmp_buf, nbytes * local_size, MPI_BYTE,
                               leader_root, leader_comm);
             } else {
               if (leader_comm_rank == leader_root) {
@@ -174,7 +173,7 @@ int Coll_scatter_mvapich2_two_level_direct::scatter(const void *sendbuf,
                   sendcnts[i] = node_sizes[i] * sendcnt;
                 }
               }
-              Colls::scatterv(sendbuf, sendcnts, displs, sendtype, tmp_buf, nbytes * local_size, MPI_BYTE, leader_root,
+              colls::scatterv(sendbuf, sendcnts, displs, sendtype, tmp_buf, nbytes * local_size, MPI_BYTE, leader_root,
                               leader_comm);
             }
             if (leader_comm_rank == leader_root) {
@@ -223,13 +222,13 @@ int Coll_scatter_mvapich2_two_level_direct::scatter(const void *sendbuf,
 }
 
 
-int Coll_scatter_mvapich2_two_level_binomial::scatter(const void *sendbuf,
-                                        int sendcnt,
-                                        MPI_Datatype sendtype,
-                                        void *recvbuf,
-                                        int recvcnt,
-                                        MPI_Datatype recvtype,
-                                        int root, MPI_Comm comm)
+int scatter__mvapich2_two_level_binomial(const void *sendbuf,
+                                         int sendcnt,
+                                         MPI_Datatype sendtype,
+                                         void *recvbuf,
+                                         int recvcnt,
+                                         MPI_Datatype recvtype,
+                                         int root, MPI_Comm comm)
 {
     int comm_size, rank;
     int local_rank, local_size;
@@ -244,8 +243,8 @@ int Coll_scatter_mvapich2_two_level_binomial::scatter(const void *sendbuf,
 
 
     //if not set (use of the algo directly, without mvapich2 selector)
-    if(MV2_Scatter_intra_function==NULL)
-      MV2_Scatter_intra_function=Coll_scatter_mpich::scatter;
+    if (MV2_Scatter_intra_function == nullptr)
+      MV2_Scatter_intra_function = scatter__mpich;
 
     if(comm->get_leaders_comm()==MPI_COMM_NULL){
       comm->init_smp();
@@ -318,8 +317,8 @@ int Coll_scatter_mvapich2_two_level_binomial::scatter(const void *sendbuf,
 
         if (leader_comm_size > 1 && local_rank == 0) {
           if (not comm->is_uniform()) {
-            int* displs   = NULL;
-            int* sendcnts = NULL;
+            int* displs   = nullptr;
+            int* sendcnts = nullptr;
             int* node_sizes;
             int i      = 0;
             node_sizes = comm->get_non_uniform_map();
@@ -336,7 +335,7 @@ int Coll_scatter_mvapich2_two_level_binomial::scatter(const void *sendbuf,
                   sendcnts[i] = node_sizes[i] * nbytes;
                 }
               }
-              Colls::scatterv(leader_scatter_buf, sendcnts, displs, MPI_BYTE, tmp_buf, nbytes * local_size, MPI_BYTE,
+              colls::scatterv(leader_scatter_buf, sendcnts, displs, MPI_BYTE, tmp_buf, nbytes * local_size, MPI_BYTE,
                               leader_root, leader_comm);
             } else {
               if (leader_comm_rank == leader_root) {
@@ -350,7 +349,7 @@ int Coll_scatter_mvapich2_two_level_binomial::scatter(const void *sendbuf,
                   sendcnts[i] = node_sizes[i] * sendcnt;
                 }
               }
-              Colls::scatterv(sendbuf, sendcnts, displs, sendtype, tmp_buf, nbytes * local_size, MPI_BYTE, leader_root,
+              colls::scatterv(sendbuf, sendcnts, displs, sendtype, tmp_buf, nbytes * local_size, MPI_BYTE, leader_root,
                               leader_comm);
             }
             if (leader_comm_rank == leader_root) {
@@ -401,6 +400,4 @@ int Coll_scatter_mvapich2_two_level_binomial::scatter(const void *sendbuf,
     return (mpi_errno);
 }
 
-}
-}
-
+} // namespace simgrid::smpi