Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Simple MPI_Win_lock and MPI_Win_unlock implementation.
[simgrid.git] / src / smpi / smpi_comm.cpp
index 36c03e6..97997d4 100644 (file)
@@ -505,6 +505,24 @@ int Comm::add_f() {
 }
 
 
+void Comm::add_rma_win(MPI_Win win){
+  rma_wins_.push_back(win);
+}
+
+void Comm::remove_rma_win(MPI_Win win){
+  rma_wins_.remove(win);
+}
+
+void Comm::finish_rma_calls(){
+  for(auto it : rma_wins_){
+    if(it->rank()==this->rank()){//is it ours (for MPI_COMM_WORLD)?
+      int finished = it->finish_comms();
+      XBT_DEBUG("Barrier for rank %d - Finished %d RMA calls",this->rank(), finished);
+    }
+  }
+}
+
+
 }
 }