Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
hide this from users
[simgrid.git] / src / smpi / smpi_win.cpp
index 1e1b413..c12c458 100644 (file)
@@ -17,7 +17,7 @@ Win::Win(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm)
   int rank      = comm->rank();
   XBT_DEBUG("Creating window");
   if(info!=MPI_INFO_NULL)
-    Info::ref(info);
+    info->ref();
   name_ = nullptr;
   opened_ = 0;
   group_ = MPI_GROUP_NULL;
@@ -29,12 +29,12 @@ Win::Win(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm)
   if(rank==0){
     bar_ = MSG_barrier_init(comm_size);
   }
-  mpi_coll_allgather_fun(&(connected_wins_[rank]), sizeof(MPI_Win), MPI_BYTE, connected_wins_, sizeof(MPI_Win),
+  Colls::allgather(&(connected_wins_[rank]), sizeof(MPI_Win), MPI_BYTE, connected_wins_, sizeof(MPI_Win),
                          MPI_BYTE, comm);
 
-  mpi_coll_bcast_fun(&(bar_), sizeof(msg_bar_t), MPI_BYTE, 0, comm);
+  Colls::bcast(&(bar_), sizeof(msg_bar_t), MPI_BYTE, 0, comm);
 
-  mpi_coll_barrier_fun(comm);
+  Colls::barrier(comm);
 }
 
 Win::~Win(){
@@ -51,7 +51,7 @@ Win::~Win(){
     MPI_Info_free(&info_);
   }
 
-  mpi_coll_barrier_fun(comm_);
+  Colls::barrier(comm_);
   int rank=comm_->rank();
   if(rank == 0)
     MSG_barrier_destroy(bar_);
@@ -274,12 +274,12 @@ int Win::start(MPI_Group group, int assert){
   Request::startall(size, reqs);
   Request::waitall(size, reqs, MPI_STATUSES_IGNORE);
   for(i=0;i<size;i++){
-    Request::unuse(&reqs[i]);
+    Request::unref(&reqs[i]);
   }
   xbt_free(reqs);
   opened_++; //we're open for business !
   group_=group;
-  group->use();
+  group->ref();
   return MPI_SUCCESS;
 }
 
@@ -303,12 +303,12 @@ int Win::post(MPI_Group group, int assert){
   Request::startall(size, reqs);
   Request::waitall(size, reqs, MPI_STATUSES_IGNORE);
   for(i=0;i<size;i++){
-    Request::unuse(&reqs[i]);
+    Request::unref(&reqs[i]);
   }
   xbt_free(reqs);
   opened_++; //we're open for business !
   group_=group;
-  group->use();
+  group->ref();
   return MPI_SUCCESS;
 }
 
@@ -336,7 +336,7 @@ int Win::complete(){
   Request::waitall(size, reqs, MPI_STATUSES_IGNORE);
 
   for(i=0;i<size;i++){
-    Request::unuse(&reqs[i]);
+    Request::unref(&reqs[i]);
   }
   xbt_free(reqs);
 
@@ -359,7 +359,7 @@ int Win::complete(){
   }
   xbt_mutex_release(mut_);
 
-  group_->unuse();
+  Group::unref(group_);
   opened_--; //we're closed for business !
   return MPI_SUCCESS;
 }
@@ -384,7 +384,7 @@ int Win::wait(){
   Request::startall(size, reqs);
   Request::waitall(size, reqs, MPI_STATUSES_IGNORE);
   for(i=0;i<size;i++){
-    Request::unuse(&reqs[i]);
+    Request::unref(&reqs[i]);
   }
   xbt_free(reqs);
   xbt_mutex_acquire(mut_);
@@ -405,10 +405,14 @@ int Win::wait(){
   }
   xbt_mutex_release(mut_);
 
-  group_->unuse();
+  Group::unref(group_);
   opened_--; //we're opened for business !
   return MPI_SUCCESS;
 }
 
+Win* Win::f2c(int id){
+  return static_cast<Win*>(F2C::f2c(id));
+}
+
 }
 }