13 #ifndef _VT_UNIFY_ESYNC_H_
14 #define _VT_UNIFY_ESYNC_H_
18 #include "vt_inttypes.h"
38 : mapid( 0 ), time( 0 ), duration( 0 ) {}
40 SyncPhaseS(
const uint32_t & _mapid,
const uint64_t & _time,
41 const uint64_t & _duration )
42 : mapid( _mapid ), time( _time ), duration( _duration ) {}
57 t[0] = t[1] = t[2] = t[3] = 0;
76 void updateSyncParam(
const uint32_t & proc );
79 void resetSyncParam(
const uint32_t & proc );
82 void setStartTime(
const uint32_t & streamId,
const uint64_t & startTime )
84 m_streamId2StartTime.insert(
85 std::make_pair( streamId, startTime ) );
89 uint64_t getStartTime(
const uint32_t & streamId )
const
91 std::map<uint32_t, uint64_t>::const_iterator it =
92 m_streamId2StartTime.find( streamId );
93 assert( it != m_streamId2StartTime.end() );
106 : offset( 0 ), drift( 1.0 ) {}
108 SyncParamS(
const int64_t & _offset,
const double & _drift )
109 : offset( _offset ), drift( _drift ) {}
117 bool calcSync( uint32_t round,
118 std::map<std::pair<uint32_t, uint32_t>, SyncTimeS*> & firstTimeStamps,
119 std::map<std::pair<uint32_t, uint32_t>, SyncTimeS*> & lastTimeStamps );
121 void print(
double *a,
int m,
int n,
char* info);
125 bool distStartTimes();
129 std::map<uint32_t, std::map<std::pair<uint32_t, uint32_t>, SyncTimeS*>*>
130 m_syncPhasemapProcessIds2Timestamps;
131 std::map<uint32_t, std::vector<struct SyncParamS*>*> m_idxvecSyncParam;
132 std::map<uint32_t, uint64_t> m_streamId2StartTime;
133 std::vector<double> m_syncPreCorrection;
134 std::map<uint32_t, uint32_t> m_streamId2RoundNum;
140 #endif // _VT_UNIFY_ESYNC_H_
VampirTrace http://www.tu-dresden.de/zih/vampirtrace.
Definition: vt_unify_esync.h:28
Definition: vt_unify_esync.h:52
Definition: vt_unify_esync.h:35