Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Start the remote send as soon as possible in MPI_Get
authorAugustin Degomme <augustin.degomme@imag.fr>
Thu, 26 Jun 2014 13:48:26 +0000 (15:48 +0200)
committerAugustin Degomme <augustin.degomme@imag.fr>
Thu, 26 Jun 2014 13:48:26 +0000 (15:48 +0200)
It used to be done only when synchronisation calls were issued, as it needed to be done sender's side

src/smpi/smpi_rma.c

index 7c7d867..6c77070 100644 (file)
@@ -165,7 +165,10 @@ int smpi_mpi_get( void *origin_addr, int origin_count, MPI_Datatype origin_datat
     //prepare receiver request
     MPI_Request rreq = smpi_rma_recv_init(origin_addr, origin_count, origin_datatype,
         smpi_group_index(smpi_comm_group(win->comm),target_rank), smpi_process_index(), RMA_TAG+2, win->comm, MPI_OP_NULL);
-
+        
+    //start the send, with another process than us as sender. 
+    smpi_mpi_start(sreq);
+    
     //push request to receiver's win
     xbt_dynar_push_as(send_win->requests, MPI_Request, sreq);