1
2
3
4
5
6
7
8
9
10
11 #ifndef __INCLUDE_VPROTOCOL_EXAMPLE_H__
12 #define __INCLUDE_VPROTOCOL_EXAMPLE_H__
13
14 #include "ompi_config.h"
15 #include "../pml_v.h"
16 #include "../pml_v_protocol.h"
17
18 #include "vprotocol_example_wait.h"
19 #include "ompi/communicator/communicator.h"
20
21 typedef struct mca_vprotocol_example_module_t {
22 mca_pml_v_protocol_base_module_t super;
23
24
25
26 } mca_vprotocol_example_module_t;
27
28 extern mca_vprotocol_example_module_t mca_vprotocol_example;
29
30 OMPI_DECLSPEC int mca_vprotocol_example_add_procs(struct ompi_proc_t **procs, size_t nprocs);
31 OMPI_DECLSPEC int mca_vprotocol_example_del_procs(struct ompi_proc_t **procs, size_t nprocs);
32 OMPI_DECLSPEC int mca_vprotocol_example_enable(bool enable);
33 OMPI_DECLSPEC int mca_vprotocol_example_progress(void);
34 OMPI_DECLSPEC int mca_vprotocol_example_add_comm(struct ompi_communicator_t* comm);
35 OMPI_DECLSPEC int mca_vprotocol_example_del_comm(struct ompi_communicator_t* comm);
36
37 OMPI_DECLSPEC int mca_vprotocol_example_irecv_init(void *buf,
38 size_t count,
39 struct ompi_datatype_t *datatype,
40 int src,
41 int tag,
42 struct ompi_communicator_t* comm,
43 struct ompi_request_t **request );
44 OMPI_DECLSPEC int mca_vprotocol_example_irecv(void *addr,
45 size_t count,
46 ompi_datatype_t * datatype,
47 int src,
48 int tag,
49 struct ompi_communicator_t *comm,
50 struct ompi_request_t **request );
51 OMPI_DECLSPEC int mca_vprotocol_example_recv(void *addr,
52 size_t count,
53 ompi_datatype_t * datatype,
54 int src,
55 int tag,
56 struct ompi_communicator_t *comm,
57 ompi_status_public_t * status );
58
59 OMPI_DECLSPEC int mca_vprotocol_example_isend_init(void *buf,
60 size_t count,
61 struct ompi_datatype_t *datatype,
62 int dst,
63 int tag,
64 mca_pml_base_send_mode_t mode,
65 struct ompi_communicator_t* comm,
66 struct ompi_request_t **request );
67 OMPI_DECLSPEC int mca_vprotocol_example_isend(void *buf,
68 size_t count,
69 ompi_datatype_t* datatype,
70 int dst,
71 int tag,
72 mca_pml_base_send_mode_t sendmode,
73 ompi_communicator_t* comm,
74 ompi_request_t** request );
75 OMPI_DECLSPEC int mca_vprotocol_example_send(void *buf,
76 size_t count,
77 ompi_datatype_t* datatype,
78 int dst,
79 int tag,
80 mca_pml_base_send_mode_t sendmode,
81 ompi_communicator_t* comm );
82
83 OMPI_DECLSPEC int mca_vprotocol_example_iprobe(int src, int tag,
84 struct ompi_communicator_t *comm,
85 int *matched, ompi_status_public_t * status );
86 OMPI_DECLSPEC int mca_vprotocol_example_probe(int src, int tag,
87 struct ompi_communicator_t *comm,
88 ompi_status_public_t * status );
89
90 OMPI_DECLSPEC int mca_vprotocol_example_start(size_t count,
91 struct ompi_request_t** requests );
92
93 OMPI_DECLSPEC int mca_vprotocol_example_dump(struct ompi_communicator_t* comm,
94 int verbose );
95
96 #endif