OpenMPI 0.1.1

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

- File List
- Globals

mtl_mxm.h
1 /*
2 * Copyright (C) Mellanox Technologies Ltd. 2001-2011. ALL RIGHTS RESERVED.
3 * $COPYRIGHT$
4 *
5 * Additional copyrights may follow
6 *
7 * $HEADER$
8 */
9
10 #ifndef MTL_MXM_H_HAS_BEEN_INCLUDED
11 #define MTL_MXM_H_HAS_BEEN_INCLUDED
12
13 #include <stdint.h>
14 #include <sys/types.h>
15 #include <unistd.h>
16
17 #include <mxm/api/mxm_api.h>
18 #include <mxm/api/mxm_addr.h>
19
20 #include "ompi/mca/pml/pml.h"
21 #include "ompi/mca/mtl/mtl.h"
22 #include "ompi/mca/mtl/base/base.h"
23 #include "opal/datatype/opal_convertor.h"
24
25 #include "mtl_mxm_debug.h"
26
27 BEGIN_C_DECLS
28
29 /* MTL interface functions */
30 extern int ompi_mtl_mxm_add_procs(struct mca_mtl_base_module_t* mtl,
31 size_t nprocs, struct ompi_proc_t** procs,
32 struct mca_mtl_base_endpoint_t **mtl_peer_data);
33
34 extern int ompi_mtl_mxm_del_procs(struct mca_mtl_base_module_t* mtl,
35 size_t nprocs, struct ompi_proc_t** procs,
36 struct mca_mtl_base_endpoint_t **mtl_peer_data);
37
38 extern int ompi_mtl_mxm_send(struct mca_mtl_base_module_t* mtl,
39 struct ompi_communicator_t* comm, int dest, int tag,
40 struct opal_convertor_t *convertor,
41 mca_pml_base_send_mode_t mode);
42
43 extern int ompi_mtl_mxm_isend(struct mca_mtl_base_module_t* mtl,
44 struct ompi_communicator_t* comm, int dest,
45 int tag, struct opal_convertor_t *convertor,
46 mca_pml_base_send_mode_t mode, bool blocking,
47 mca_mtl_request_t * mtl_request);
48
49 extern int ompi_mtl_mxm_irecv(struct mca_mtl_base_module_t* mtl,
50 struct ompi_communicator_t *comm, int src,
51 int tag, struct opal_convertor_t *convertor,
52 struct mca_mtl_request_t *mtl_request);
53
54 extern int ompi_mtl_mxm_iprobe(struct mca_mtl_base_module_t* mtl,
55 struct ompi_communicator_t *comm, int src,
56 int tag, int *flag,
57 struct ompi_status_public_t *status);
58
59 extern int ompi_mtl_mxm_cancel(struct mca_mtl_base_module_t* mtl,
60 struct mca_mtl_request_t *mtl_request, int flag);
61
62 extern int ompi_mtl_mxm_imrecv(struct mca_mtl_base_module_t* mtl,
63 struct opal_convertor_t *convertor,
64 struct ompi_message_t **message,
65 struct mca_mtl_request_t *mtl_request);
66
67 extern int ompi_mtl_mxm_improbe(struct mca_mtl_base_module_t *mtl,
68 struct ompi_communicator_t *comm,
69 int src,
70 int tag,
71 int *matched,
72 struct ompi_message_t **message,
73 struct ompi_status_public_t *status);
74
75 extern int ompi_mtl_mxm_add_comm(struct mca_mtl_base_module_t *mtl,
76 struct ompi_communicator_t *comm);
77
78 extern int ompi_mtl_mxm_del_comm(struct mca_mtl_base_module_t *mtl,
79 struct ompi_communicator_t *comm);
80
81 extern int ompi_mtl_mxm_finalize(struct mca_mtl_base_module_t* mtl);
82
83 int ompi_mtl_mxm_module_init(void);
84
85 END_C_DECLS
86
87 #endif
88
pml.h
P2P Management Layer (PML)
mca_mtl_request_t
Definition: mtl.h:51
ompi_proc_t
Remote Open MPI process structure.
Definition: proc.h:56
mca_mtl_base_endpoint_t
An abstraction that represents a connection to a endpoint process.
Definition: mtl_mx_endpoint.h:50
opal_convertor_t
Definition: opal_convertor.h:90
mtl.h
Matching Transport Layer.
ompi_status_public_t
Definition: mpi.h:337
mca_mtl_base_module_t
MTL module interface functions and attributes.
Definition: mtl.h:399
ompi_communicator_t
Definition: communicator.h:118
ompi_message_t
Definition: message.h:22