#include <AdlibTiming.h>
Public Types | |
WHOLE | |
MISC | |
INITIALIZATION | |
INTEGRATION | |
ASSEMBLE | |
OUTPUT | |
EXAMINE1 | |
EXAMINE2 | |
EXAMINE3 | |
EXAMINE4 | |
ELC_SNDBND_RCVPRS | |
CPL_SEND_OVERHEAD | |
CPL_RECEIVE_OVERHEAD | |
_ACMAX | |
enum | TimingAccounts { WHOLE, MISC, INITIALIZATION, INTEGRATION, ASSEMBLE, OUTPUT, EXAMINE1, EXAMINE2, EXAMINE3, EXAMINE4, ELC_SNDBND_RCVPRS, CPL_SEND_OVERHEAD, CPL_RECEIVE_OVERHEAD, _ACMAX } |
Public Member Functions | |
void | start_timing () |
void | start () |
void | stop (enum TimingAccounts account) |
void | collect_timing (MPI_Comm Comm, enum TimingAccounts ac, double *stat_times) |
void | collect_timing (MPI_Comm Comm) |
void | print_timing (std::ostream &os) |
AdlibTiming () | |
Static Public Member Functions | |
static void | collect (MPI_Comm Comm) |
static void | print (std::ostream &os) |
static void | print_local (std::ostream &os) |
Protected Types | |
MAXRECURSIONS = 300 | |
enum | { MAXRECURSIONS = 300 } |
Protected Member Functions | |
void | add_time () |
template<typename T> | |
T | calcsum (typename std::vector< T > &data, int start, int end, T sum) |
void | pl (std::ostream &OS, char *name, enum TimingAccounts ac, bool opt=false) |
Protected Attributes | |
std::vector< double > | times |
std::vector< unsigned int > | calls |
std::vector< double > | timestack |
double * | tos |
bool | print_local_times |
std::vector< double > | stat_times_max |
std::vector< double > | stat_times_min |
std::vector< double > | stat_times_avg |
double | start_time |
AdlibTiming::AdlibTiming | ( | ) | [inline] |
void AdlibTiming::add_time | ( | ) | [inline, protected] |
T AdlibTiming::calcsum | ( | typename std::vector< T > & | data, | |
int | start, | |||
int | end, | |||
T | sum | |||
) | [inline, protected] |
calculate sum over values of an array. The sum is calculated from account start till end (including).
static void AdlibTiming::collect | ( | MPI_Comm | Comm | ) | [inline, static] |
compatibility function for calling report generator.
void AdlibTiming::collect_timing | ( | MPI_Comm | Comm | ) | [inline] |
collect timing data of all nodes
void AdlibTiming::collect_timing | ( | MPI_Comm | Comm, | |
enum TimingAccounts | ac, | |||
double * | stat_times | |||
) | [inline] |
collect specific timing data of all nodes
void AdlibTiming::pl | ( | std::ostream & | OS, | |
char * | name, | |||
enum TimingAccounts | ac, | |||
bool | opt = false | |||
) | [inline, protected] |
generate one report line.
static void AdlibTiming::print | ( | std::ostream & | os | ) | [inline, static] |
static void AdlibTiming::print_local | ( | std::ostream & | os | ) | [inline, static] |
void AdlibTiming::print_timing | ( | std::ostream & | os | ) | [inline] |
report generator
os | the output stream to write the report to |
void AdlibTiming::start | ( | ) | [inline] |
Enter a new timer frame.
void AdlibTiming::start_timing | ( | ) | [inline] |
Function to be called first, initializing the timers.
void AdlibTiming::stop | ( | enum TimingAccounts | account | ) | [inline] |
Leave timer frame.
account | where to add elapsed time |
std::vector<unsigned int> AdlibTiming::calls [protected] |
bool AdlibTiming::print_local_times [protected] |
statistics
double AdlibTiming::start_time [protected] |
std::vector<double> AdlibTiming::stat_times_avg [protected] |
std::vector<double> AdlibTiming::stat_times_max [protected] |
std::vector<double> AdlibTiming::stat_times_min [protected] |
std::vector<double> AdlibTiming::times [protected] |
std::vector<double> AdlibTiming::timestack [protected] |
double* AdlibTiming::tos [protected] |