#include <AMReX_CommProfStats.H>
Classes | |
| struct | BarrierEntry |
| struct | DataBlock |
| struct | NameTagEntry |
| struct | ReductionEntry |
| struct | SendRecvPair |
| struct | SendRecvPairUnpaired |
Public Member Functions | |
| CommProfStats () | |
| ~CommProfStats () | |
| void | CheckCommData (amrex::Vector< long > &nBMin, amrex::Vector< long > &nBMax, amrex::Vector< long > &nRMin, amrex::Vector< long > &nRMax) |
| void | FillSendFAB (long &totalSends, long &totalSentData, amrex::Vector< long > &totalSendsPerProc, amrex::Vector< long > &totalSentDataPerProc, amrex::FArrayBox &sendFAB, bool proxmap) |
| void | ReportSyncPointDataSetup (long &nBMax, long &nRMax) |
| void | ReportSyncPointData (amrex::Vector< amrex::Vector< Real > > &barrierExitTimes, amrex::Vector< amrex::Vector< Real > > &barrierWaitTimes, amrex::Vector< amrex::Vector< Real > > &reductionWaitTimes, bool bDoReductions=false) |
| void | ReportStats (long &totalSentData, long &totalNCommStats, amrex::Vector< long > &totalFuncCalls, int bytesPerSlot, amrex::Vector< long > &msgSizes, int &minMsgSize, int &maxMsgSize, Real &timeMin, Real &timeMax, Real &timerTime, amrex::Vector< int > &rankNodeNumbers) |
| void | WriteTopoFab () |
| void | FindTimeRange (BLProfStats::TimeRange &tr) |
| void | TimelineFAB (amrex::FArrayBox &timelineFAB, const amrex::Box &probDomain, const BLProfStats::TimeRange tr, const int rankMin, const int rankMax, const int rankStride, const Real ntnMultiplier, const amrex::Vector< Real > &ntnNumbers, const Real bnMultiplier, const amrex::Vector< Real > &bnNumbers) |
| void | SendRecvData (const std::string &filename, const double tlo, const double thi) |
| void | SendRecvList (std::multimap< Real, SendRecvPairUnpaired > &srMMap) |
| virtual void | InitCommDataBlock (const int proc, const long ncommstats, const std::string &filename, const long seekpos, const std::string &nodename="", const int nodenumber=-1) |
| int | AfterBarrier (const int proc, const double t) |
| virtual void | AddBarrier (long bnum, const std::string &bname, long index) |
| virtual void | AddReduction (const long rnum, const long index) |
| virtual void | AddTimeMinMax (const double tmin, const double tmax) |
| virtual void | AddTimerTime (const double tt) |
| virtual void | AddNameTag (const long ntnindex, const long seekindex) |
| virtual void | AddNameTagName (const std::string &name) |
| const amrex::Vector< std::string > & | NameTagNames () |
| const amrex::Vector< std::string > & | BarrierNames () |
| virtual void | AddTagRange (const long tmin, const long tmax) |
| virtual void | AddGridLevel (const int level, const int ngrids) |
| virtual void | AddGrid3D (int level, int xlo, int ylo, int zlo, int xhi, int yhi, int zhi, int xc, int yc, int zc, int xn, int yn, int zn, int proc) |
| virtual void | SetCPVersion (const int cpv) |
| virtual void | SetCSSize (const int css) |
| virtual void | AddFinestLevel (const int lev) |
| virtual void | AddMaxLevel (const int lev) |
| virtual void | AddRefRatio (const int lev, const amrex::IntVect &rr) |
| void | SetRefRatio (const amrex::Vector< amrex::IntVect > &rr) |
| const amrex::Vector< amrex::IntVect > & | GetRefRatio () const |
| virtual void | AddTopoCoord (const int nid, const int node, const int tx, const int ty, const int tz, const bool servicenode=false) |
| virtual void | AddProbDomain (const int lev, const amrex::Box &pd) |
| void | SetProbDomain (const amrex::Vector< amrex::Box > &pd) |
| const amrex::Vector< amrex::Box > & | GetProbDomain () const |
| virtual void | AddCommHeaderFileName (const std::string &hfn) |
| const std::map< int, long > & | GLMap () const |
| const std::map< int, int > & | GLSizeMap () const |
| void | InitEdisonTopoMF () |
| void | WriteEdisonTopoMF () |
| virtual void | AddEdisonPID (int X, int Y, int Z, int cab, int row, int cage, int slot, int cpu, int pid) |
| bool | IsSend (const amrex::BLProfiler::CommFuncType &cft) |
| bool | IsRecv (const amrex::BLProfiler::CommFuncType &cft) |
| bool | IsBlockingRecv (const amrex::BLProfiler::CommFuncType &cft) |
Public Member Functions inherited from BLProfStats | |
| BLProfStats () | |
| ~BLProfStats () | |
| void | AddRegionName (const std::string &rname, int rnumber) |
| std::set< int > | WhichRegions (int proc, Real t) |
| void | SetProc (int p) |
| int | GetProc () const |
| void | SetMaxRNumber (int n) |
| int | GetMaxRNumber () const |
| void | InitFilterTimeRanges () |
| void | SetFilterTimeRanges (const amrex::Vector< std::list< TimeRange > > &ftr) |
| const amrex::Vector< std::list< TimeRange > > & | GetFilterTimeRanges () const |
| void | SetRegionTimeRanges (const amrex::Vector< amrex::Vector< amrex::Vector< TimeRange > > > &rtr) |
| void | SetRegionTimeRanges (const TimeRange &tr, const int n, const int r, const int t) |
| const amrex::Vector< amrex::Vector< amrex::Vector< TimeRange > > > & | GetRegionTimeRanges () |
| const std::map< std::string, int > & | RegionNames () |
| const std::map< int, std::string > & | RegionNumbers () |
| const std::map< int, std::string > & | BarrierNumbersToNames () |
| void | MakeFilterFile (const std::string &ffname) |
| void | SetFilter (FilterStatus fs, const std::string &rname, int rnumber) |
| void | SetFilter (FilterStatus fs) |
| virtual void | SetBLPVersion (const int blpv) |
| virtual void | AddFunctionName (const std::string &fname) |
| virtual void | InitBLProfDataBlock (const int proc, const std::string &filename, const long seekpos) |
| virtual void | CollectFuncStats (amrex::Vector< amrex::Vector< FuncStat > > &funcStats) |
| virtual void | WriteSummary (std::ostream &ios, bool bwriteavg=false, int whichProc=0, bool graphTopPct=true) |
| virtual void | AddCalcEndTime (double cet) |
| virtual void | SetCSVersion (int) |
| virtual void | AddCStatsHeaderFileName (const std::string &) |
| virtual void | AddFunctionName (const std::string &, int) |
| virtual void | InitCStatsDataBlock (int, long, long, const std::string &, long) |
| virtual TimeRange | MakeRegionPlt (amrex::FArrayBox &, int, int, int, amrex::Vector< amrex::Vector< amrex::Box > > &) |
| void | CheckData () |
| const amrex::Vector< std::string > & | BLPFNames () |
| void | SetFNames (const amrex::Vector< std::string > &fNames) |
Static Public Member Functions | |
| static int | GetCPVersion () |
| static int | GetCSSize () |
| static int | GetFinestLevel () |
| static int | GetMaxLevel () |
| static void | SetInitDataBlocks (bool b) |
| static bool | InitDBlocks () |
| static void | InitDataFileNames (const amrex::Vector< std::string > &hfn) |
| static void | InitProxMap () |
| static const amrex::Vector< std::string > & | GetHeaderFileNames () |
| static void | OpenAllStreams (const std::string &dirname) |
| static void | CloseAllStreams () |
Static Public Member Functions inherited from BLProfStats | |
| static int | Verbose () |
| static void | SetVerbose (int vlevel=0) |
| static void | SetDirName (const std::string &dirname) |
| static void | SetNOutFiles (const int nof) |
| static int | GetNOutFiles () |
| static void | SetNProcs (int p) |
| static int | GetNProcs () |
| static bool | AddPiece (std::list< TimeRange > &addToHere, const TimeRange &pieceToAdd) |
| static std::list< TimeRange > | RangeIntersection (std::list< TimeRange > &rangeList, const TimeRange &pieceToIntersect) |
| static bool | RemovePiece (std::list< TimeRange > &removeFromHere, const TimeRange &pieceToRemove) |
| static void | SetInitDataBlocks (bool b) |
| static bool | InitDBlocks () |
| static void | SetGPercent (Real p) |
| static void | OpenAllStreams (const std::string &dirname) |
| static void | CloseAllStreams () |
| static bool | TimeRangeInitialized () |
Private Member Functions | |
| void | ReadCommStats (DataBlock &dBlock) |
| void | ReadCommStatsNoOpen (DataBlock &dBlock) |
| bool | ReadCommStats (DataBlock &dBlock, const int nmessages) |
| void | ClearCommStats (DataBlock &dBlock) |
Private Attributes | |
| int | currentDataBlock |
| int | tagMin |
| int | tagMax |
| std::stack< double > | nestedTimeStack |
| amrex::Vector< DataBlock > | dataBlocks |
| amrex::Vector< std::string > | nameTagNames |
| amrex::Vector< std::string > | barrierNames |
| amrex::Vector< std::map< int, amrex::IntVect > > | TopoMap |
| std::map< int, long > | glMap |
| std::map< int, int > | glSizeMap |
| amrex::Vector< Real > | edisonNodeFab |
| amrex::Vector< Real > | edisonCPUFab |
| amrex::Vector< amrex::Vector< amrex::Vector< int > > > | edisonNodeXYZ |
Static Private Attributes | |
| static int | cpVersion |
| static int | csSize |
| static int | finestLevel |
| static int | maxLevel |
| static bool | persistentStreams |
| static amrex::Vector< amrex::IntVect > | calcRefRatios |
| static amrex::Vector< amrex::Box > | probDomain |
| static bool | bInitDataBlocks |
| static amrex::Vector< int > | rankFromProx |
| static amrex::Vector< int > | proxFromRank |
| static bool | bProxMapOK |
| static amrex::Vector< std::string > | commHeaderFileNames |
| static std::map< std::string, int > | commDataFileNames |
| static amrex::Vector< std::ifstream * > | commDataStreams |
Friends | |
| int | yyparse (void *) |
Additional Inherited Members | |
Public Types inherited from BLProfStats | |
| enum | FilterStatus { UNDEFINED , ON , OFF , INCLUDEALL , INCLUDENONE } |
Protected Member Functions inherited from BLProfStats | |
| bool | InTimeRange (int proc, Real calltime) |
Protected Attributes inherited from BLProfStats | |
| int | maxRNumber |
| int | currentProc |
| int | currentDataBlock |
| Real | calcEndTime |
| Real | minRegionTime |
| Real | maxRegionTime |
| std::map< std::string, int > | regionNames |
| std::map< int, std::string > | regionNumbers |
| std::map< int, std::string > | barrierNumbersToNames |
| std::set< int > | includeSet |
| std::set< int > | excludeSet |
| bool | bDefaultInclude |
| amrex::Vector< amrex::Vector< amrex::Vector< TimeRange > > > | regionTimeRanges |
| amrex::Vector< std::list< TimeRange > > | filterTimeRanges |
| amrex::Vector< std::string > | blpFNames |
| amrex::Vector< BLPDataBlock > | blpDataBlocks |
Static Protected Attributes inherited from BLProfStats | |
| static int | verbose |
| static int | blProfVersion |
| static int | dataNProcs |
| static int | nOutFiles |
| static std::string | dirName |
| static bool | bInitDataBlocks |
| static bool | bTimeRangeInitialized |
| static std::map< std::string, int > | blpDataFileNames |
| static Real | gPercent |
| static amrex::Vector< std::ifstream * > | blpDataStreams |
| CommProfStats::CommProfStats | ( | ) |
| CommProfStats::~CommProfStats | ( | ) |
|
virtual |
Reimplemented from BLProfStats.
|
virtual |
Reimplemented from BLProfStats.
|
virtual |
Reimplemented from BLProfStats.
|
inlinevirtual |
Reimplemented from BLProfStats.
|
virtual |
Reimplemented from BLProfStats.
|
virtual |
Reimplemented from BLProfStats.
|
inlinevirtual |
Reimplemented from BLProfStats.
|
virtual |
Reimplemented from BLProfStats.
|
virtual |
Reimplemented from BLProfStats.
|
virtual |
Reimplemented from BLProfStats.
|
virtual |
Reimplemented from BLProfStats.
|
virtual |
Reimplemented from BLProfStats.
|
virtual |
Reimplemented from BLProfStats.
|
virtual |
Reimplemented from BLProfStats.
|
virtual |
Reimplemented from BLProfStats.
|
virtual |
Reimplemented from BLProfStats.
| int CommProfStats::AfterBarrier | ( | const int | proc, |
| const double | t | ||
| ) |
|
inline |
| void CommProfStats::CheckCommData | ( | amrex::Vector< long > & | nBMin, |
| amrex::Vector< long > & | nBMax, | ||
| amrex::Vector< long > & | nRMin, | ||
| amrex::Vector< long > & | nRMax | ||
| ) |
|
private |
|
static |
| void CommProfStats::FillSendFAB | ( | long & | totalSends, |
| long & | totalSentData, | ||
| amrex::Vector< long > & | totalSendsPerProc, | ||
| amrex::Vector< long > & | totalSentDataPerProc, | ||
| amrex::FArrayBox & | sendFAB, | ||
| bool | proxmap | ||
| ) |
| void CommProfStats::FindTimeRange | ( | BLProfStats::TimeRange & | tr | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
Reimplemented from BLProfStats.
|
static |
|
inlinestatic |
| void CommProfStats::InitEdisonTopoMF | ( | ) |
|
static |
| bool CommProfStats::IsBlockingRecv | ( | const amrex::BLProfiler::CommFuncType & | cft | ) |
| bool CommProfStats::IsRecv | ( | const amrex::BLProfiler::CommFuncType & | cft | ) |
| bool CommProfStats::IsSend | ( | const amrex::BLProfiler::CommFuncType & | cft | ) |
|
inline |
|
static |
|
private |
|
private |
|
private |
| void CommProfStats::ReportStats | ( | long & | totalSentData, |
| long & | totalNCommStats, | ||
| amrex::Vector< long > & | totalFuncCalls, | ||
| int | bytesPerSlot, | ||
| amrex::Vector< long > & | msgSizes, | ||
| int & | minMsgSize, | ||
| int & | maxMsgSize, | ||
| Real & | timeMin, | ||
| Real & | timeMax, | ||
| Real & | timerTime, | ||
| amrex::Vector< int > & | rankNodeNumbers | ||
| ) |
| void CommProfStats::ReportSyncPointData | ( | amrex::Vector< amrex::Vector< Real > > & | barrierExitTimes, |
| amrex::Vector< amrex::Vector< Real > > & | barrierWaitTimes, | ||
| amrex::Vector< amrex::Vector< Real > > & | reductionWaitTimes, | ||
| bool | bDoReductions = false |
||
| ) |
| void CommProfStats::ReportSyncPointDataSetup | ( | long & | nBMax, |
| long & | nRMax | ||
| ) |
| void CommProfStats::SendRecvData | ( | const std::string & | filename, |
| const double | tlo, | ||
| const double | thi | ||
| ) |
| void CommProfStats::SendRecvList | ( | std::multimap< Real, SendRecvPairUnpaired > & | srMMap | ) |
|
inlinevirtual |
Reimplemented from BLProfStats.
|
inlinevirtual |
Reimplemented from BLProfStats.
|
inlinestatic |
|
inline |
|
inline |
| void CommProfStats::TimelineFAB | ( | amrex::FArrayBox & | timelineFAB, |
| const amrex::Box & | probDomain, | ||
| const BLProfStats::TimeRange | tr, | ||
| const int | rankMin, | ||
| const int | rankMax, | ||
| const int | rankStride, | ||
| const Real | ntnMultiplier, | ||
| const amrex::Vector< Real > & | ntnNumbers, | ||
| const Real | bnMultiplier, | ||
| const amrex::Vector< Real > & | bnNumbers | ||
| ) |
| void CommProfStats::WriteEdisonTopoMF | ( | ) |
| void CommProfStats::WriteTopoFab | ( | ) |
|
friend |
|
private |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
private |
|
private |
|
staticprivate |
|
private |
|
private |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
private |
|
private |
|
private |