]> AND Public Git Repository - simgrid.git/blobdiff - src/smpi/colls/allgatherv-pair.cpp
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
First works on the datatypes. Still missing a lot.
[simgrid.git] / src / smpi / colls / allgatherv-pair.cpp
index b6eea73379fa5027db373288f2637952d6d22178..97489ccc2fd9117cb6811ba19e7c0a969a5fcdd2 100644 (file)
@@ -79,8 +79,8 @@ smpi_coll_tuned_allgatherv_pair(void *send_buff, int send_count,
   char *send_ptr = (char *) send_buff;
   char *recv_ptr = (char *) recv_buff;
 
-  unsigned int rank = smpi_comm_rank(comm);
-  unsigned int num_procs = smpi_comm_size(comm);
+  unsigned int rank = comm->rank();
+  unsigned int num_procs = comm->size();
 
   if((num_procs&(num_procs-1)))
     THROWF(arg_error,0, "allgatherv pair algorithm can't be used with non power of two number of processes ! ");
@@ -88,12 +88,12 @@ smpi_coll_tuned_allgatherv_pair(void *send_buff, int send_count,
   extent = smpi_datatype_get_extent(send_type);
 
   // local send/recv
-  smpi_mpi_sendrecv(send_ptr, send_count, send_type, rank, tag,
+  Request::sendrecv(send_ptr, send_count, send_type, rank, tag,
                recv_ptr + recv_disps[rank] * extent,
                recv_counts[rank], recv_type, rank, tag, comm, &status);
   for (i = 1; i < num_procs; i++) {
     src = dst = rank ^ i;
-    smpi_mpi_sendrecv(send_ptr, send_count, send_type, dst, tag,
+    Request::sendrecv(send_ptr, send_count, send_type, dst, tag,
                  recv_ptr + recv_disps[src] * extent, recv_counts[src], recv_type,
                  src, tag, comm, &status);
   }