OpenMPI 0.1.1

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

- File List
- Globals

OTFAUX_MsgMatching.h
Go to the documentation of this file.
1 #ifndef OTFAUX_MSGMATCHING_H
2 #define OTFAUX_MSGMATCHING_H
3
4 #include <otf.h>
5
6 /**
7 * @file otfauxlib/OTFAUX_MsgMatching.h
8 *
9 * @brief Provides a module to match MPI P2P massages.
10 */
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif /* __cplusplus */
15
16 /**
17 * @defgroup msgmatch Module to match messages.
18 *
19 * @{
20 */
21
22 /** Opaque type for using the matching module. */
23 typedef struct OTFAUX_MsgMatching_Context OTFAUX_MsgMatching_Context;
24
25 /** Create a context for matching messages. */
26 OTFAUX_MsgMatching_Context* OTFAUX_MsgMatching_create( void );
27
28 /** Destroy a context previously created with @a OTFAUX_MsgMatching_Create. */
29 void OTFAUX_MsgMatching_destroy( OTFAUX_MsgMatching_Context* mm_context );
30
31 /** Provide a recv event for matching. */
32 void OTFAUX_MsgMatching_enqueueRecv( OTFAUX_MsgMatching_Context* mm_context,
33 uint64_t sender,
34 uint64_t receiver,
35 uint32_t tag,
36 uint32_t comm,
37 uint64_t time,
38 uint32_t size,
39 uint32_t scl );
40
41 /**
42 * Try to match a send with the corresponding recv.
43 *
44 * @return 1 for success
45 * 0 for no recv
46 */
47 int OTFAUX_MsgMatching_matchSend( OTFAUX_MsgMatching_Context* mm_context,
48 uint64_t sender,
49 uint64_t receiver,
50 uint32_t tag,
51 uint32_t comm,
52 uint64_t* ptime,
53 uint32_t* psize,
54 uint32_t* pscl );
55
56 /**
57 * If you think the OTFAUX_MsgMatching_Context holds to much memory, you can
58 * order him to release unused memory.
59 *
60 */
61 void OTFAUX_MsgMatching_releaseMemory( OTFAUX_MsgMatching_Context* mm_context );
62
63
64 /**
65 * @}
66 */
67
68
69 /**
70 * @defgroup otfauxtud Special KeyValue names/types for messages matching used
71 * by the TU Dresden
72 *
73 * @{
74 */
75
76 #define OTFAUX_KEYVALUE_TUD_P2P_RECEIVED_TIME_NAME "TUD::p2p-received-time"
77 #define OTFAUX_KEYVALUE_TUD_P2P_RECEIVED_TIME_TYPE OTF_UINT64
78 #define OTFAUX_KEYVALUE_TUD_P2P_RECEIVED_SIZE_NAME "TUD::p2p-received-size"
79 #define OTFAUX_KEYVALUE_TUD_P2P_RECEIVED_SIZE_TYPE OTF_UINT32
80 #define OTFAUX_KEYVALUE_TUD_P2P_RECEIVED_SCL_NAME "TUD::p2p-received-scl"
81 #define OTFAUX_KEYVALUE_TUD_P2P_RECEIVED_SCL_TYPE OTF_UINT32
82
83 /**
84 * @}
85 */
86
87
88 #ifdef __cplusplus
89 }
90 #endif /* __cplusplus */
91
92 #endif /* OTFAUX_MSGMATCHING_H */
OTFAUX_MsgMatching_destroy
void OTFAUX_MsgMatching_destroy(OTFAUX_MsgMatching_Context *mm_context)
Destroy a context previously created with OTFAUX_MsgMatching_Create.
Definition: OTFAUX_MsgMatching.c:71
otf.h
Main include file for applications using OTF.
OTFAUX_MsgMatching_releaseMemory
void OTFAUX_MsgMatching_releaseMemory(OTFAUX_MsgMatching_Context *mm_context)
If you think the OTFAUX_MsgMatching_Context holds to much memory, you can order him to release unused...
Definition: OTFAUX_MsgMatching.c:268
OTFAUX_MsgMatching_enqueueRecv
void OTFAUX_MsgMatching_enqueueRecv(OTFAUX_MsgMatching_Context *mm_context, uint64_t sender, uint64_t receiver, uint32_t tag, uint32_t comm, uint64_t time, uint32_t size, uint32_t scl)
Provide a recv event for matching.
Definition: OTFAUX_MsgMatching.c:179
OTFAUX_MsgMatching_Context
Definition: OTFAUX_MsgMatching.c:40
OTFAUX_MsgMatching_create
OTFAUX_MsgMatching_Context * OTFAUX_MsgMatching_create(void)
Create a context for matching messages.
Definition: OTFAUX_MsgMatching.c:50
OTFAUX_MsgMatching_matchSend
int OTFAUX_MsgMatching_matchSend(OTFAUX_MsgMatching_Context *mm_context, uint64_t sender, uint64_t receiver, uint32_t tag, uint32_t comm, uint64_t *ptime, uint32_t *psize, uint32_t *pscl)
Try to match a send with the corresponding recv.
Definition: OTFAUX_MsgMatching.c:217