OpenMPI  0.1.1
mtl_mx.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-2007 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$
13  *
14  * Additional copyrights may follow
15  *
16  * $HEADER$
17  */
18 
19 #ifndef MTL_MX_H_HAS_BEEN_INCLUDED
20 #define MTL_MX_H_HAS_BEEN_INCLUDED
21 
22 #include "ompi/mca/mtl/mtl.h"
23 #include "ompi/mca/mtl/base/base.h"
24 #include "opal/datatype/opal_convertor.h"
25 
26 
27 BEGIN_C_DECLS
28 
29 int
30 ompi_mtl_mx_send(struct mca_mtl_base_module_t* mtl,
31  struct ompi_communicator_t* comm,
32  int dest,
33  int tag,
34  struct opal_convertor_t *convertor,
35  mca_pml_base_send_mode_t mode);
36 
37 extern int ompi_mtl_mx_isend(struct mca_mtl_base_module_t* mtl,
38  struct ompi_communicator_t* comm,
39  int dest,
40  int tag,
41  struct opal_convertor_t *convertor,
42  mca_pml_base_send_mode_t mode,
43  bool blocking,
44  mca_mtl_request_t * mtl_request);
45 
46 extern int ompi_mtl_mx_irecv(struct mca_mtl_base_module_t* mtl,
47  struct ompi_communicator_t *comm,
48  int src,
49  int tag,
50  struct opal_convertor_t *convertor,
51  struct mca_mtl_request_t *mtl_request);
52 
53 
54 extern int ompi_mtl_mx_iprobe(struct mca_mtl_base_module_t* mtl,
55  struct ompi_communicator_t *comm,
56  int src,
57  int tag,
58  int *flag,
59  struct ompi_status_public_t *status);
60 
61 extern int ompi_mtl_mx_imrecv(struct mca_mtl_base_module_t* mtl,
62  struct opal_convertor_t *convertor,
63  struct ompi_message_t **message,
64  struct mca_mtl_request_t *mtl_request);
65 
66 extern int ompi_mtl_mx_improbe(struct mca_mtl_base_module_t *mtl,
67  struct ompi_communicator_t *comm,
68  int src,
69  int tag,
70  int *matched,
71  struct ompi_message_t **message,
72  struct ompi_status_public_t *status);
73 
74 extern int ompi_mtl_mx_cancel(struct mca_mtl_base_module_t* mtl,
75  struct mca_mtl_request_t *mtl_request,
76  int flag);
77 
78 extern int ompi_mtl_mx_finalize(struct mca_mtl_base_module_t* mtl);
79 
80 int ompi_mtl_mx_module_init(void);
81 
82 
83 
84 END_C_DECLS
85 
86 #endif /* MTL_MX_H_HAS_BEEN_INCLUDED */
87 
Definition: mtl.h:51
Definition: opal_convertor.h:90
Matching Transport Layer.
Definition: mpi.h:337
MTL module interface functions and attributes.
Definition: mtl.h:399
Definition: communicator.h:118
Definition: message.h:22