#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 |