OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

osc_pt2pt_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_PT2PT_DATA_MOVE_H
18 #define OMPI_MCA_OSC_PT2PT_DATA_MOVE_H
19
20 #include "osc_pt2pt_sendreq.h"
21 #include "osc_pt2pt_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_pt2pt_sendreq_send(ompi_osc_pt2pt_module_t *module,
26 ompi_osc_pt2pt_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_pt2pt_replyreq_send(ompi_osc_pt2pt_module_t *module,
31 ompi_osc_pt2pt_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_pt2pt_sendreq_recv_put(ompi_osc_pt2pt_module_t *module,
35 ompi_osc_pt2pt_send_header_t *header,
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_pt2pt_sendreq_recv_accum(ompi_osc_pt2pt_module_t *module,
41 ompi_osc_pt2pt_send_header_t *header,
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_pt2pt_replyreq_recv(ompi_osc_pt2pt_module_t *module,
47 ompi_osc_pt2pt_sendreq_t *sendreq,
48 ompi_osc_pt2pt_reply_header_t *header,
49 void *payload);
50
51 int ompi_osc_pt2pt_control_send(ompi_osc_pt2pt_module_t *module,
52 ompi_proc_t *proc,
53 uint8_t type, int32_t value0, int32_t value1);
54
55 #endif
ompi_osc_pt2pt_send_header_t
Definition: osc_pt2pt_header.h:53
ompi_osc_pt2pt_reply_header_t
Definition: osc_pt2pt_header.h:91
ompi_osc_pt2pt_module_t
Definition: osc_pt2pt.h:57
ompi_proc_t
Remote Open MPI process structure.
Definition: proc.h:56
ompi_osc_pt2pt_sendreq_t
Definition: osc_pt2pt_sendreq.h:38
ompi_osc_pt2pt_replyreq_t
Definition: osc_pt2pt_replyreq.h:33