1
2
3
4
5
6
7
8
9
10
11 #ifndef MTL_OFI_OPT_H
12 #define MTL_OFI_OPT_H
13
14 #include "mtl_ofi.h"
15
16 BEGIN_C_DECLS
17
18 #define CQ_DATA_TYPES 2
19 #define OMPI_MTL_OFI_SEND_TYPES [CQ_DATA_TYPES]
20 #define OMPI_MTL_OFI_ISEND_TYPES [CQ_DATA_TYPES]
21 #define OMPI_MTL_OFI_IRECV_TYPES [CQ_DATA_TYPES]
22 #define OMPI_MTL_OFI_IPROBE_TYPES [CQ_DATA_TYPES]
23 #define OMPI_MTL_OFI_IMPROBE_TYPES [CQ_DATA_TYPES]
24
25 struct ompi_mtl_ofi_symtable {
26 int (*ompi_mtl_ofi_send OMPI_MTL_OFI_SEND_TYPES )
27 (struct mca_mtl_base_module_t *mtl,
28 struct ompi_communicator_t *comm,
29 int dest,
30 int tag,
31 struct opal_convertor_t *convertor,
32 mca_pml_base_send_mode_t mode);
33 int (*ompi_mtl_ofi_isend OMPI_MTL_OFI_ISEND_TYPES )
34 (struct mca_mtl_base_module_t *mtl,
35 struct ompi_communicator_t *comm,
36 int dest,
37 int tag,
38 struct opal_convertor_t *convertor,
39 mca_pml_base_send_mode_t mode,
40 bool blocking,
41 mca_mtl_request_t *mtl_request);
42 int (*ompi_mtl_ofi_irecv OMPI_MTL_OFI_IRECV_TYPES )
43 (struct mca_mtl_base_module_t *mtl,
44 struct ompi_communicator_t *comm,
45 int src,
46 int tag,
47 struct opal_convertor_t *convertor,
48 mca_mtl_request_t *mtl_request);
49 int (*ompi_mtl_ofi_iprobe OMPI_MTL_OFI_IPROBE_TYPES )
50 (struct mca_mtl_base_module_t *mtl,
51 struct ompi_communicator_t *comm,
52 int src,
53 int tag,
54 int *flag,
55 struct ompi_status_public_t *status);
56 int (*ompi_mtl_ofi_improbe OMPI_MTL_OFI_IMPROBE_TYPES )
57 (struct mca_mtl_base_module_t *mtl,
58 struct ompi_communicator_t *comm,
59 int src,
60 int tag,
61 int *matched,
62 struct ompi_message_t **message,
63 struct ompi_status_public_t *status);
64 };
65
66
67
68
69 void ompi_mtl_ofi_send_symtable_init(struct ompi_mtl_ofi_symtable* sym_table);
70 void ompi_mtl_ofi_isend_symtable_init(struct ompi_mtl_ofi_symtable* sym_table);
71 void ompi_mtl_ofi_irecv_symtable_init(struct ompi_mtl_ofi_symtable* sym_table);
72 void ompi_mtl_ofi_iprobe_symtable_init(struct ompi_mtl_ofi_symtable* sym_table);
73 void ompi_mtl_ofi_improbe_symtable_init(struct ompi_mtl_ofi_symtable* sym_table);
74
75 END_C_DECLS
76