PlasCom2  1.0
XPACC Multi-physics simluation application
PerfPlot.H File Reference
#include "AppTools.H"
#include <iostream>
Include dependency graph for PerfPlot.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  gpconfig
 
struct  timersettings
 
struct  pctimervalue
 
struct  pcruninfo
 
struct  pcrun
 

Typedefs

typedef apptools::parameters ConfigType
 
typedef apptools::comlinehandler CommandLineType
 
typedef std::map< std::string, struct pctimervaluepcruntimes
 
typedef std::list< std::string > timerlist
 
typedef std::map< std::string, timerlistderivedtimers
 

Functions

std::string MakePlotTitle (const pcruninfo &pcRunInfo, const timersettings &timerSettings, int mode=0)
 
void SetupGnuPlot (std::ostream &outStream, const timersettings &timerSettings, const std::string &idString, bool toDisplay=false)
 
void SingleRunPlotCommands (std::ostream &outStream, const std::string &dataFileName, const std::vector< struct pcrun > &pcRuns, int runIndex, const timersettings &timerSettings, bool toDisplay=false)
 
void MultiRunPlotCommands (std::ostream &outStream, const std::string &dataFileName, const std::vector< struct pcrun > &pcRuns, const timersettings &timerSettings, bool toDisplay=false)
 
void SpeedUpPlotCommands (std::ostream &outStream, const std::string &dataFileName, const timerlist &timerList, const std::vector< struct pcrun > &pcRuns, const timersettings &timerSettings, bool toDisplay=false, bool linScale=false)
 
std::string FormatName (const std::string &inName)
 
void SummarizeScalabilityData (std::ostream &outStream, const std::vector< struct pcrun > &pcRuns, const timerlist &timerList, const timersettings &timerSettings)
 
void SummarizeTimingData (std::ostream &outStream, const std::vector< struct pcrun > &pcRuns, const timerlist &timerList, const timersettings &timerSettings)
 
bool TimerIncluded (const std::string &routineName, const timerlist &timerList)
 
int GetDerivedOperationForRoutine (const std::string &timerName, const std::string &routineName, const derivedtimers &derivedTimers)
 
std::vector< std::string > GetDerivedTimerNames (const std::string &routineName, const derivedtimers &derivedTimers)
 
pcruntimes ProcessRun (const pcruninfo &pcRunInfo, const pcruntimes &rawRunTimes, const derivedtimers &derivedTimers, const timerlist &excludedTimers, const timersettings &timerSettings, pctimervalue &timingDelta)
 
void ReadTimers (pcruntimes &routineTimes, std::ifstream &inFile, int dataColumn)
 
void SetConfigurationDefaults (ConfigType &inConfig)
 
void PopulateRunInfo (pcruninfo &pcRunInfo, std::ifstream &inFile)
 
void SetupTimerSettings (timersettings &timerSettings, const ConfigType &inConfig)
 
void SetupExcludedTimers (timerlist &excludedTimers, const ConfigType &inConfig)
 
void SetupDerivedTimers (derivedtimers &derivedTimers, const ConfigType &inConfig)
 

Typedef Documentation

◆ CommandLineType

Definition at line 5 of file PerfPlot.H.

◆ ConfigType

Definition at line 4 of file PerfPlot.H.

◆ derivedtimers

typedef std::map<std::string,timerlist> derivedtimers

Definition at line 61 of file PerfPlot.H.

◆ pcruntimes

typedef std::map<std::string,struct pctimervalue> pcruntimes

Definition at line 54 of file PerfPlot.H.

◆ timerlist

typedef std::list<std::string> timerlist

Definition at line 60 of file PerfPlot.H.

Function Documentation

◆ FormatName()

std::string FormatName ( const std::string &  inName)

Definition at line 264 of file PerfPlot.H.

References x.

Referenced by SummarizeScalabilityData(), and SummarizeTimingData().

Here is the caller graph for this function:

◆ GetDerivedOperationForRoutine()

int GetDerivedOperationForRoutine ( const std::string &  timerName,
const std::string &  routineName,
const derivedtimers derivedTimers 
)

Definition at line 398 of file PerfPlot.H.

Referenced by ProcessRun().

Here is the caller graph for this function:

◆ GetDerivedTimerNames()

std::vector<std::string> GetDerivedTimerNames ( const std::string &  routineName,
const derivedtimers derivedTimers 
)

Definition at line 428 of file PerfPlot.H.

References TimerIncluded(), and timerNames.

Referenced by ProcessRun().

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

◆ MakePlotTitle()

std::string MakePlotTitle ( const pcruninfo pcRunInfo,
const timersettings timerSettings,
int  mode = 0 
)

◆ MultiRunPlotCommands()

void MultiRunPlotCommands ( std::ostream &  outStream,
const std::string &  dataFileName,
const std::vector< struct pcrun > &  pcRuns,
const timersettings timerSettings,
bool  toDisplay = false 
)

Definition at line 167 of file PerfPlot.H.

References timersettings::gridMode, MakePlotTitle(), and SetupGnuPlot().

Referenced by main().

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

◆ PopulateRunInfo()

void PopulateRunInfo ( pcruninfo pcRunInfo,
std::ifstream &  inFile 
)

◆ ProcessRun()

pcruntimes ProcessRun ( const pcruninfo pcRunInfo,
const pcruntimes rawRunTimes,
const derivedtimers derivedTimers,
const timerlist excludedTimers,
const timersettings timerSettings,
pctimervalue timingDelta 
)

◆ ReadTimers()

void ReadTimers ( pcruntimes routineTimes,
std::ifstream &  inFile,
int  dataColumn 
)

Definition at line 515 of file PerfPlot.H.

References pctimervalue::max, pctimervalue::mean, and pctimervalue::min.

Referenced by main().

Here is the caller graph for this function:

◆ SetConfigurationDefaults()

void SetConfigurationDefaults ( ConfigType inConfig)

Definition at line 536 of file PerfPlot.H.

◆ SetupDerivedTimers()

void SetupDerivedTimers ( derivedtimers derivedTimers,
const ConfigType inConfig 
)

Definition at line 661 of file PerfPlot.H.

References parameters::GetValueList().

Referenced by main().

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

◆ SetupExcludedTimers()

void SetupExcludedTimers ( timerlist excludedTimers,
const ConfigType inConfig 
)

Definition at line 655 of file PerfPlot.H.

References parameters::GetValueList().

Referenced by main().

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

◆ SetupGnuPlot()

void SetupGnuPlot ( std::ostream &  outStream,
const timersettings timerSettings,
const std::string &  idString,
bool  toDisplay = false 
)

◆ SetupTimerSettings()

◆ SingleRunPlotCommands()

void SingleRunPlotCommands ( std::ostream &  outStream,
const std::string &  dataFileName,
const std::vector< struct pcrun > &  pcRuns,
int  runIndex,
const timersettings timerSettings,
bool  toDisplay = false 
)

Definition at line 149 of file PerfPlot.H.

References MakePlotTitle(), and SetupGnuPlot().

Referenced by main().

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

◆ SpeedUpPlotCommands()

void SpeedUpPlotCommands ( std::ostream &  outStream,
const std::string &  dataFileName,
const timerlist timerList,
const std::vector< struct pcrun > &  pcRuns,
const timersettings timerSettings,
bool  toDisplay = false,
bool  linScale = false 
)

Definition at line 198 of file PerfPlot.H.

References timersettings::effMode, timersettings::gridMode, MakePlotTitle(), pcruninfo::ngridpointstotal, pcruninfo::numproc, pcruninfo::numthreads, timersettings::platformName, and SetupGnuPlot().

Referenced by main().

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

◆ SummarizeScalabilityData()

void SummarizeScalabilityData ( std::ostream &  outStream,
const std::vector< struct pcrun > &  pcRuns,
const timerlist timerList,
const timersettings timerSettings 
)

Definition at line 275 of file PerfPlot.H.

References timersettings::effMode, FormatName(), timersettings::gridMode, pctimervalue::max, pcruninfo::ngridpointstotal, pcruninfo::numproc, pcruninfo::numthreads, and timersettings::weakMode.

Referenced by main().

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

◆ SummarizeTimingData()

void SummarizeTimingData ( std::ostream &  outStream,
const std::vector< struct pcrun > &  pcRuns,
const timerlist timerList,
const timersettings timerSettings 
)

Definition at line 350 of file PerfPlot.H.

References FormatName(), timersettings::gridMode, pctimervalue::max, pctimervalue::mean, and pctimervalue::min.

Referenced by main().

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

◆ TimerIncluded()

bool TimerIncluded ( const std::string &  routineName,
const timerlist timerList 
)

Definition at line 382 of file PerfPlot.H.

Referenced by GetDerivedTimerNames(), and ProcessRun().

Here is the caller graph for this function: