if(rank==0){
win->bar=xbt_barrier_init(comm_size);
}
-
mpi_coll_allgather_fun(&(win->connected_wins[rank]), sizeof(MPI_Win), MPI_BYTE, win->connected_wins, sizeof(MPI_Win),
MPI_BYTE, comm);
if((*win)->info!=MPI_INFO_NULL){
MPI_Info_free(&(*win)->info);
}
+
+ mpi_coll_barrier_fun((*win)->comm);
+ int rank=smpi_comm_rank((*win)->comm);
+ if(rank == 0)
+ xbt_barrier_destroy((*win)->bar);
xbt_free(*win);
*win = MPI_WIN_NULL;
return MPI_SUCCESS;
void smpi_mpi_win_get_group(MPI_Win win, MPI_Group* group){
if(win->comm != MPI_COMM_NULL){
*group = smpi_comm_group(win->comm);
- smpi_group_use(*group);
}
}