13 #ifndef _VT_UNIFY_HOOKS_MSGMATCH_H_
14 #define _VT_UNIFY_HOOKS_MSGMATCH_H_
17 #include "vt_unify_hooks_base.h"
18 #include "vt_unify_lvector.hh"
36 static bool isEnabled() {
return Params.domsgmatch; }
54 inline void enqueueRecv(
const uint64_t & time,
const uint32_t & sender,
55 const uint32_t & receiver,
const uint32_t & comm,
56 const uint32_t & tag,
const uint32_t & length,
const uint32_t & scl );
59 inline bool matchSend(
const uint32_t & sender,
const uint32_t & receiver,
60 const uint32_t & comm,
const uint32_t & tag, uint64_t & recv_time,
61 uint32_t & length, uint32_t & scl );
66 static const uint64_t RELEASE_MEM_INTERVAL = 1000000;
72 uint64_t m_matchCount;
84 : time( 0 ), sender( 0 ), receiver( 0 ), comm( 0 ), tag( 0 )
86 RecvMsgS(
const uint64_t & _time,
const uint32_t & _sender,
87 const uint32_t & _receiver,
const uint32_t & _comm,
90 : time( _time ), sender( _sender ), receiver( _receiver ),
91 comm( _comm ), tag( _tag ) {}
106 static int HandleEventComment(
void * userData,
107 uint64_t time, uint32_t proc,
const char * comment );
109 static int HandleRecvMsg( LargeVectorC<RecvMsgS*> * recvMsgs,
110 uint64_t time, uint32_t receiver, uint32_t sender,
111 uint32_t comm, uint32_t tag, uint32_t length, uint32_t scl );
119 void finalizeHook(
const bool & error );
124 void phaseHook_UnifyDefinitions_pre();
125 void phaseHook_UnifyEvents_pre();
126 void phaseHook_UnifyEvents_post();
131 void writeRecHook_SendMsg( HooksC::VaArgsT & args );
132 void writeRecHook_RecvMsg( HooksC::VaArgsT & args );
137 bool getRecvMsgs( LargeVectorC<RecvMsgS*> & recvMsgs );
143 bool distRecvMsgs( LargeVectorC<RecvMsgS*> & recvMsgs );
148 bool enqueueRecvMsgs( LargeVectorC<RecvMsgS*> & recvMsgs );
153 enum { KEY_TIME , KEY_NUM };
154 uint32_t m_keyTokens[KEY_NUM];
160 MatchContextC * m_matchContexts;
164 #endif // _VT_UNIFY_HOOKS_MSGMATCH_H_
Definition: datastructs.h:41
Definition: OTFAUX_MsgMatching.c:40
VampirTrace http://www.tu-dresden.de/zih/vampirtrace.
Definition: vt_unify_hooks_base.h:23
VampirTrace http://www.tu-dresden.de/zih/vampirtrace.
Definition: vt_unify_hooks_msgmatch.h:25
HooksMsgMatchC()
VampirTrace http://www.tu-dresden.de/zih/vampirtrace.
Definition: vt_unify_hooks_msgmatch.cc:32