Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
(painfully) constify colls.
[simgrid.git] / src / smpi / colls / allgather / allgather-bruck.cpp
index 68edee2..1e7cf37 100644 (file)
@@ -1,10 +1,10 @@
-/* Copyright (c) 2013-2014. The SimGrid Team.
+/* Copyright (c) 2013-2019. 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"
 
 /*****************************************************************************
 
@@ -65,9 +65,15 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *         algorithm.
  * Auther: MPICH
  * Comment: Original bruck algorithm from MPICH is slightly modified by
- *          Ahmad Faraj.  
+ *          Ahmad Faraj.
  ****************************************************************************/
-int smpi_coll_tuned_allgather_bruck(void *send_buff, int send_count,
+
+namespace simgrid{
+namespace smpi{
+
+
+
+int Coll_allgather_bruck::allgather(const void *send_buff, int send_count,
                                     MPI_Datatype send_type, void *recv_buff,
                                     int recv_count, MPI_Datatype recv_type,
                                     MPI_Comm comm)
@@ -86,7 +92,7 @@ int smpi_coll_tuned_allgather_bruck(void *send_buff, int send_count,
   char *send_ptr = (char *) send_buff;
   char *recv_ptr = (char *) recv_buff;
 
-  // get size of the communicator, followed by rank 
+  // get size of the communicator, followed by rank
   num_procs = comm->size();
   rank = comm->rank();
 
@@ -98,8 +104,7 @@ int smpi_coll_tuned_allgather_bruck(void *send_buff, int send_count,
   tmp_buff = (char *) smpi_get_tmp_sendbuffer(num_procs * recv_count * recv_extent);
 
   // perform a local copy
-  Datatype::copy(send_ptr, send_count, send_type,
-                    tmp_buff, recv_count, recv_type);
+  Datatype::copy(send_ptr, send_count, send_type, tmp_buff, recv_count, recv_type);
   while (pof2 <= (num_procs / 2)) {
     src = (rank + pof2) % num_procs;
     dst = (rank - pof2 + num_procs) % num_procs;
@@ -133,3 +138,7 @@ int smpi_coll_tuned_allgather_bruck(void *send_buff, int send_count,
   smpi_free_tmp_buffer(tmp_buff);
   return MPI_SUCCESS;
 }
+
+
+}
+}