source: XIOS/dev/branch_openmp/extern/ep_dev/ep_lib_win.hpp @ 1398

Last change on this file since 1398 was 1398, checked in by yushan, 6 years ago

dev EP-RMA : MPI_Rput MPI_Rget MPI_Raccumulate MPI_Rget_accumulate (to be tested)

File size: 2.8 KB
Line 
1#ifndef EP_LIB_WIN_HPP_INCLUDED
2#define EP_LIB_WIN_HPP_INCLUDED
3
4namespace ep_lib
5{
6
7  typedef void* MPI_Datatype;
8  typedef void* MPI_Op;
9
10
11  int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, MPI_Win *win);
12  int MPI_Win_free(MPI_Win *win);
13  int MPI_Win_fence(int assert, MPI_Win win);
14
15  int MPI_Put(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, 
16                  int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win);
17
18  int MPI_Rput(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, 
19              int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request *request);
20
21  int MPI_Get(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, 
22                  int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win);
23
24  int MPI_Rget(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, 
25              int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request *request);
26
27  int MPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, 
28                         int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win);
29
30  int MPI_Raccumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, 
31                     int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, MPI_Request *request);
32
33  int MPI_Get_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, void *result_addr, 
34                         int result_count, MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp,
35                         int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win);
36 
37  int MPI_Rget_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, void *result_addr, 
38                         int result_count, MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp,
39                         int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, MPI_Request *request);
40
41  int MPI_Win_allocate (MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, void *baseptr, MPI_Win *win);
42
43  int MPI_Fetch_and_op(const void *origin_addr, void *result_addr, MPI_Datatype datatype, int target_rank, 
44                      MPI_Aint target_disp, MPI_Op op, MPI_Win win);
45
46  int MPI_Compare_and_swap(const void *origin_addr, const void *compare_addr, void *result_addr, MPI_Datatype datatype, 
47                           int target_rank, MPI_Aint target_disp, MPI_Win win);
48
49}
50
51#endif // EP_LIB_COLLECTIVE_HPP_INCLUDED
Note: See TracBrowser for help on using the repository browser.