HPCToolkit
Analysis::Flat::Driver Class Reference

#include <Flat-SrcCorrelation.hpp>

Inheritance diagram for Analysis::Flat::Driver:
Collaboration diagram for Analysis::Flat::Driver:

Public Types

typedef std::map< string, bool > StringToBoolMap
 
typedef std::pair< Prof::Flat::ProfileData *, Prof::Metric::ADescVec * > ProfToMetricsTuple
 
typedef std::vector< ProfToMetricsTupleProfToMetricsTupleVec
 

Public Member Functions

 Driver (const Analysis::Args &args, Prof::Metric::Mgr &mMgr, Prof::Struct::Tree &structure)
 
 ~Driver ()
 
int run ()
 
std::string replacePath (const char *path)
 
std::string replacePath (const std::string &path)
 
void write_experiment (std::ostream &os) const
 
void write_csv (std::ostream &os) const
 
void write_txt (std::ostream &os) const
 
void write_config (std::ostream &os=std::cout) const
 
std::string toString () const
 
void dump () const
 

Private Member Functions

void populateStructure (Prof::Struct::Tree &structure)
 
void correlateMetricsWithStructure (Prof::Metric::Mgr &mMgr, Prof::Struct::Tree &structure)
 
void computeRawMetrics (Prof::Metric::Mgr &mMgr, Prof::Struct::Tree &structure)
 
void computeRawBatchJob_LM (const string &lmname, const string &lmname_orig, Prof::Struct::Tree &structure, ProfToMetricsTupleVec &profToMetricsVec, bool useStruct)
 
void correlateRaw (Prof::Metric::ADesc *metric, const Prof::Flat::EventData &profevent, VMA lm_load_addr, Prof::Struct::Tree &structure, Prof::Struct::LM *lmStrct, BinUtil::LM *lm, bool useStruct)
 
bool getNextRawBatch (ProfToMetricsTupleVec &batchJob, Prof::Metric::Mgr::StringToADescVecMap::const_iterator &it, const Prof::Metric::Mgr::StringToADescVecMap::const_iterator &it_end)
 
void clearRawBatch (ProfToMetricsTupleVec &batchJob)
 
bool hasStructure (const string &lmname, Prof::Struct::Tree &structure, StringToBoolMap &hasStructureTbl)
 
void computeDerivedMetrics (Prof::Metric::Mgr &mMgr, Prof::Struct::Tree &structure)
 
void computeDerivedBatch (Prof::Struct::Tree &structure, const Prof::Metric::AExpr **mExprVec, uint mBegId, uint mEndId)
 
Prof::Flat::ProfileDatareadProf (const string &fnm)
 
void readProf (Prof::Flat::ProfileData *prof)
 
BinUtil::LMopenLM (const string &fnm)
 
void write_txt_secSummary (std::ostream &os, Analysis::TextUtil::ColumnFormatter &colFmt, const std::string &title, const Prof::Struct::ANodeFilter *filter) const
 
void write_txt_annotateFile (std::ostream &os, Analysis::TextUtil::ColumnFormatter &colFmt, const Prof::Struct::File *fileStrct) const
 
void write_txt_hdr (std::ostream &os, const std::string &hdr) const
 

Private Attributes

const Analysis::Argsm_args
 
Prof::Metric::Mgrm_mMgr
 
Prof::Struct::Treem_structure
 

Static Private Attributes

static uint profileBatchSz = 16
 

Detailed Description

Definition at line 84 of file Flat-SrcCorrelation.hpp.

Member Typedef Documentation

◆ ProfToMetricsTuple

◆ ProfToMetricsTupleVec

◆ StringToBoolMap

typedef std::map<string, bool> Analysis::Flat::Driver::StringToBoolMap

Definition at line 133 of file Flat-SrcCorrelation.hpp.

Constructor & Destructor Documentation

◆ Driver()

Analysis::Flat::Driver::Driver ( const Analysis::Args args,
Prof::Metric::Mgr mMgr,
Prof::Struct::Tree structure 
)

Definition at line 101 of file Flat-SrcCorrelation.cpp.

◆ ~Driver()

Analysis::Flat::Driver::~Driver ( )

Definition at line 108 of file Flat-SrcCorrelation.cpp.

Member Function Documentation

◆ clearRawBatch()

void Analysis::Flat::Driver::clearRawBatch ( ProfToMetricsTupleVec batchJob)
private

Definition at line 860 of file Flat-SrcCorrelation.cpp.

Here is the caller graph for this function:

◆ computeDerivedBatch()

void Analysis::Flat::Driver::computeDerivedBatch ( Prof::Struct::Tree structure,
const Prof::Metric::AExpr **  mExprVec,
uint  mBegId,
uint  mEndId 
)
private

Definition at line 932 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeDerivedMetrics()

void Analysis::Flat::Driver::computeDerivedMetrics ( Prof::Metric::Mgr mMgr,
Prof::Struct::Tree structure 
)
private

Definition at line 895 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeRawBatchJob_LM()

void Analysis::Flat::Driver::computeRawBatchJob_LM ( const string &  lmname,
const string &  lmname_orig,
Prof::Struct::Tree structure,
ProfToMetricsTupleVec profToMetricsVec,
bool  useStruct 
)
private

Definition at line 730 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeRawMetrics()

void Analysis::Flat::Driver::computeRawMetrics ( Prof::Metric::Mgr mMgr,
Prof::Struct::Tree structure 
)
private

Definition at line 650 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ correlateMetricsWithStructure()

void Analysis::Flat::Driver::correlateMetricsWithStructure ( Prof::Metric::Mgr mMgr,
Prof::Struct::Tree structure 
)
private

Definition at line 629 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ correlateRaw()

void Analysis::Flat::Driver::correlateRaw ( Prof::Metric::ADesc metric,
const Prof::Flat::EventData profevent,
VMA  lm_load_addr,
Prof::Struct::Tree structure,
Prof::Struct::LM lmStrct,
BinUtil::LM lm,
bool  useStruct 
)
private

Definition at line 798 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dump()

void Analysis::Flat::Driver::dump ( ) const

Definition at line 588 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNextRawBatch()

bool Analysis::Flat::Driver::getNextRawBatch ( ProfToMetricsTupleVec batchJob,
Prof::Metric::Mgr::StringToADescVecMap::const_iterator &  it,
const Prof::Metric::Mgr::StringToADescVecMap::const_iterator &  it_end 
)
private

Definition at line 836 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hasStructure()

bool Analysis::Flat::Driver::hasStructure ( const string &  lmname,
Prof::Struct::Tree structure,
StringToBoolMap hasStructureTbl 
)
private

Definition at line 871 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ openLM()

BinUtil::LM * Analysis::Flat::Driver::openLM ( const string &  fnm)
private

Definition at line 981 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ populateStructure()

void Analysis::Flat::Driver::populateStructure ( Prof::Struct::Tree structure)
private

Definition at line 607 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readProf() [1/2]

Prof::Flat::ProfileData * Analysis::Flat::Driver::readProf ( const string &  fnm)
private

Definition at line 959 of file Flat-SrcCorrelation.cpp.

Here is the caller graph for this function:

◆ readProf() [2/2]

void Analysis::Flat::Driver::readProf ( Prof::Flat::ProfileData prof)
private

Definition at line 968 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:

◆ replacePath() [1/2]

string Analysis::Flat::Driver::replacePath ( const char *  path)

Definition at line 208 of file Flat-SrcCorrelation.cpp.

Here is the caller graph for this function:

◆ replacePath() [2/2]

std::string Analysis::Flat::Driver::replacePath ( const std::string &  path)
inline

Definition at line 105 of file Flat-SrcCorrelation.hpp.

Here is the call graph for this function:

◆ run()

int Analysis::Flat::Driver::run ( )

Definition at line 114 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toString()

string Analysis::Flat::Driver::toString ( ) const

Definition at line 577 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_config()

void Analysis::Flat::Driver::write_config ( std::ostream &  os = std::cout) const

Definition at line 528 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_csv()

void Analysis::Flat::Driver::write_csv ( std::ostream &  os) const

Definition at line 296 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_experiment()

void Analysis::Flat::Driver::write_experiment ( std::ostream &  os) const

Definition at line 232 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_txt()

void Analysis::Flat::Driver::write_txt ( std::ostream &  os) const

Definition at line 314 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_txt_annotateFile()

void Analysis::Flat::Driver::write_txt_annotateFile ( std::ostream &  os,
Analysis::TextUtil::ColumnFormatter colFmt,
const Prof::Struct::File fileStrct 
) const
private

Definition at line 438 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_txt_hdr()

void Analysis::Flat::Driver::write_txt_hdr ( std::ostream &  os,
const std::string &  hdr 
) const
private

Definition at line 519 of file Flat-SrcCorrelation.cpp.

Here is the caller graph for this function:

◆ write_txt_secSummary()

void Analysis::Flat::Driver::write_txt_secSummary ( std::ostream &  os,
Analysis::TextUtil::ColumnFormatter colFmt,
const std::string &  title,
const Prof::Struct::ANodeFilter filter 
) const
private

Definition at line 388 of file Flat-SrcCorrelation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_args

const Analysis::Args& Analysis::Flat::Driver::m_args
private

Definition at line 220 of file Flat-SrcCorrelation.hpp.

◆ m_mMgr

Prof::Metric::Mgr& Analysis::Flat::Driver::m_mMgr
private

Definition at line 222 of file Flat-SrcCorrelation.hpp.

◆ m_structure

Prof::Struct::Tree& Analysis::Flat::Driver::m_structure
private

Definition at line 223 of file Flat-SrcCorrelation.hpp.

◆ profileBatchSz

uint Analysis::Flat::Driver::profileBatchSz = 16
staticprivate

Definition at line 225 of file Flat-SrcCorrelation.hpp.


The documentation for this class was generated from the following files: