1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 #if !defined(OSC_RDMA_ACCUMULATE_H)
  15 #define OSC_RDMA_ACCUMULATE_H
  16 
  17 #include "osc_rdma.h"
  18 
  19 int ompi_osc_rdma_compare_and_swap (const void *origin_addr, const void *compare_addr, void *result_addr,
  20                                     ompi_datatype_t *dt, int target_rank, ptrdiff_t target_disp,
  21                                     ompi_win_t *win);
  22 
  23 int ompi_osc_rdma_accumulate (const void *origin_addr, int origin_count, ompi_datatype_t *origin_datatype, int target_rank,
  24                               ptrdiff_t target_disp, int target_count, ompi_datatype_t *target_datatype, ompi_op_t *op,
  25                               ompi_win_t *win);
  26 
  27 int ompi_osc_rdma_fetch_and_op (const void *origin_addr, void *result_addr, ompi_datatype_t *dt, int target_rank,
  28                                 ptrdiff_t target_disp, ompi_op_t *op, ompi_win_t *win);
  29 
  30 int ompi_osc_rdma_get_accumulate (const void *origin_addr, int origin_count, ompi_datatype_t *origin_datatype,
  31                                   void *result_addr, int result_count, ompi_datatype_t *result_datatype,
  32                                   int target_rank, MPI_Aint target_disp, int target_count, ompi_datatype_t *target_datatype,
  33                                   ompi_op_t *op, ompi_win_t *win);
  34 
  35 int ompi_osc_rdma_raccumulate (const void *origin_addr, int origin_count, ompi_datatype_t *origin_datatype, int target_rank,
  36                                ptrdiff_t target_disp, int target_count, ompi_datatype_t *target_datatype, ompi_op_t *op,
  37                                ompi_win_t *win, ompi_request_t **request);
  38 
  39 int ompi_osc_rdma_rget_accumulate (const void *origin_addr, int origin_count, ompi_datatype_t *origin_datatype,
  40                                    void *result_addr, int result_count, ompi_datatype_t *result_datatype,
  41                                    int target_rank, MPI_Aint target_disp, int target_count, ompi_datatype_t *target_datatype,
  42                                    ompi_op_t *op, ompi_win_t *win, ompi_request_t **request);
  43 
  44 
  45 #endif