OpenMPI  0.1.1
osc_rdma_data_move.h
1 /*
2  * Copyright (c) 2004-2005 The Trustees of Indiana University.
3  * All rights reserved.
4  * Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
5  * All rights reserved.
6  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
7  * University of Stuttgart. All rights reserved.
8  * Copyright (c) 2004-2005 The Regents of the University of California.
9  * All rights reserved.
10  * $COPYRIGHT$
11  *
12  * Additional copyrights may follow
13  *
14  * $HEADER$
15  */
16 
17 #ifndef OMPI_MCA_OSC_RDMA_DATA_MOVE_H
18 #define OMPI_MCA_OSC_RDMA_DATA_MOVE_H
19 
20 #include "osc_rdma_sendreq.h"
21 #include "osc_rdma_replyreq.h"
22 
23 /* send a sendreq (the request from the origin for a Put, Get, or
24  Accumulate, including the payload for Put and Accumulate) */
25 int ompi_osc_rdma_sendreq_send(ompi_osc_rdma_module_t *module,
26  ompi_osc_rdma_sendreq_t *sendreq);
27 
28 /* send a replyreq (the request from the target of a Get, with the
29  payload for the origin */
30 int ompi_osc_rdma_replyreq_send(ompi_osc_rdma_module_t *module,
31  ompi_osc_rdma_replyreq_t *replyreq);
32 
33 /* receive the target side of a sendreq for a put, directly into the user's window */
34 int ompi_osc_rdma_sendreq_recv_put(ompi_osc_rdma_module_t *module,
36  void **payload);
37 
38 /* receive the target side of a sendreq for an accumulate, possibly
39  using a temproart buffer, then calling the reduction functions */
40 int ompi_osc_rdma_sendreq_recv_accum(ompi_osc_rdma_module_t *module,
42  void **payload);
43 
44 /* receive the origin side of a replyreq (the reply part of an
45  MPI_Get), directly into the user's window */
46 int ompi_osc_rdma_replyreq_recv(ompi_osc_rdma_module_t *module,
47  ompi_osc_rdma_sendreq_t *sendreq,
49  void **payload);
50 
51 int ompi_osc_rdma_control_send(ompi_osc_rdma_module_t *module,
52  ompi_proc_t *proc,
53  uint8_t type,
54  int32_t value0, int32_t value1);
55 
56 int ompi_osc_rdma_rdma_ack_send(ompi_osc_rdma_module_t *module,
57  ompi_proc_t *proc,
58  ompi_osc_rdma_btl_t *rdma_btl);
59 
60 int ompi_osc_rdma_flush(ompi_osc_rdma_module_t *module);
61 
62 #endif
Definition: osc_rdma_replyreq.h:34
Definition: osc_rdma.h:111
Definition: osc_rdma_header.h:58
Remote Open MPI process structure.
Definition: proc.h:56
Definition: osc_rdma_sendreq.h:40
Definition: osc_rdma_header.h:99
Definition: osc_rdma.h:77