int MPI_Win_create_C_Wrapper (void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, MPI_Win *win) { int res; TRACE_MPIEVENT(LAST_READ_TIME, MPI_WIN_CREATE_EV, EVT_BEGIN, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY); res = PMPI_Win_create (base, size, disp_unit, info, comm, win); TRACE_MPIEVENT(TIME, MPI_WIN_CREATE_EV, EVT_END, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY); updateStats_OTHER(global_mpi_stats); return res; }
int MPI_Win_create(void* base, MPI_Aint win_size, int disp_unit, MPI_Info info, MPI_Comm comm, MPI_Win* winptr) { int ret; cqueue_t* mycqueue = handle_get_cqueue(comm); if (mycqueue != NULL) ret = cqueue_win_create(mycqueue, base, win_size, disp_unit, info, comm, winptr); else ret = PMPI_Win_create(base, win_size, disp_unit, info, comm, winptr); /* Register window object */ /* For EP-lib: value represent window object in server, replace with index of free entry in the window table. Additionally, MPI_Win_free should *not* free the buffer */ /* Default: track value in window table, don't modify */ window_register(winptr, &base, myclient, 0); return ret; }
void ompi_win_create_f(char *base, MPI_Aint *size, MPI_Fint *disp_unit, MPI_Fint *info, MPI_Fint *comm, MPI_Fint *win, MPI_Fint *ierr) { int c_ierr; MPI_Win c_win; MPI_Info c_info; MPI_Comm c_comm; c_comm = PMPI_Comm_f2c(*comm); c_info = PMPI_Info_f2c(*info); c_ierr = PMPI_Win_create(base, *size, OMPI_FINT_2_INT(*disp_unit), c_info, c_comm, &c_win); if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); if (MPI_SUCCESS == c_ierr) { *win = PMPI_Win_c2f(c_win); } }
int MPI_Win_create( void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, MPI_Win *win){ return PMPI_Win_create( base, size, disp_unit, info, comm,win); }