OpenMPI 0.1.1

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

- File List
- Globals

mtl_psm.h
1 /*
2 * Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
3 * University Research and Technology
4 * Corporation. All rights reserved.
5 * Copyright (c) 2004-2005 The University of Tennessee and The University
6 * of Tennessee Research Foundation. All rights
7 * reserved.
8 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9 * University of Stuttgart. All rights reserved.
10 * Copyright (c) 2004-2006 The Regents of the University of California.
11 * All rights reserved.
12 * Copyright (c) 2006 QLogic Corporation. All rights reserved.
13 * $COPYRIGHT$
14 *
15 * Additional copyrights may follow
16 *
17 * $HEADER$
18 */
19
20 #ifndef MTL_PSM_H_HAS_BEEN_INCLUDED
21 #define MTL_PSM_H_HAS_BEEN_INCLUDED
22
23 #include "ompi/mca/pml/pml.h"
24 #include "ompi/mca/mtl/mtl.h"
25 #include "ompi/mca/mtl/base/base.h"
26 #include "opal/datatype/opal_convertor.h"
27 #include <psm.h>
28 #include <psm_mq.h>
29
30 BEGIN_C_DECLS
31
32
33 /* MTL interface functions */
34 extern int ompi_mtl_psm_add_procs(struct mca_mtl_base_module_t* mtl,
35 size_t nprocs,
36 struct ompi_proc_t** procs,
37 struct mca_mtl_base_endpoint_t **mtl_peer_data);
38
39 extern int ompi_mtl_psm_del_procs(struct mca_mtl_base_module_t* mtl,
40 size_t nprocs,
41 struct ompi_proc_t** procs,
42 struct mca_mtl_base_endpoint_t **mtl_peer_data);
43
44 int
45 ompi_mtl_psm_send(struct mca_mtl_base_module_t* mtl,
46 struct ompi_communicator_t* comm,
47 int dest,
48 int tag,
49 struct opal_convertor_t *convertor,
50 mca_pml_base_send_mode_t mode);
51
52 extern int ompi_mtl_psm_isend(struct mca_mtl_base_module_t* mtl,
53 struct ompi_communicator_t* comm,
54 int dest,
55 int tag,
56 struct opal_convertor_t *convertor,
57 mca_pml_base_send_mode_t mode,
58 bool blocking,
59 mca_mtl_request_t * mtl_request);
60
61 extern int ompi_mtl_psm_irecv(struct mca_mtl_base_module_t* mtl,
62 struct ompi_communicator_t *comm,
63 int src,
64 int tag,
65 struct opal_convertor_t *convertor,
66 struct mca_mtl_request_t *mtl_request);
67
68
69 extern int ompi_mtl_psm_iprobe(struct mca_mtl_base_module_t* mtl,
70 struct ompi_communicator_t *comm,
71 int src,
72 int tag,
73 int *flag,
74 struct ompi_status_public_t *status);
75
76 extern int ompi_mtl_psm_imrecv(struct mca_mtl_base_module_t* mtl,
77 struct opal_convertor_t *convertor,
78 struct ompi_message_t **message,
79 struct mca_mtl_request_t *mtl_request);
80
81 extern int ompi_mtl_psm_improbe(struct mca_mtl_base_module_t *mtl,
82 struct ompi_communicator_t *comm,
83 int src,
84 int tag,
85 int *matched,
86 struct ompi_message_t **message,
87 struct ompi_status_public_t *status);
88
89 extern int ompi_mtl_psm_cancel(struct mca_mtl_base_module_t* mtl,
90 struct mca_mtl_request_t *mtl_request,
91 int flag);
92
93 extern int ompi_mtl_psm_add_comm(struct mca_mtl_base_module_t *mtl,
94 struct ompi_communicator_t *comm);
95
96 extern int ompi_mtl_psm_del_comm(struct mca_mtl_base_module_t *mtl,
97 struct ompi_communicator_t *comm);
98
99 extern int ompi_mtl_psm_finalize(struct mca_mtl_base_module_t* mtl);
100
101 int ompi_mtl_psm_module_init(int local_rank, int num_local_procs);
102
103
104
105 END_C_DECLS
106
107 #endif /* MTL_PSM_H_HAS_BEEN_INCLUDED */
108
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