QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
quda::TimeProfile Class Reference

#include <timer.h>

Collaboration diagram for quda::TimeProfile:
Collaboration graph
[legend]

Public Member Functions

 TimeProfile (std::string fname)
 
 TimeProfile (std::string fname, bool use_global)
 
void Print ()
 
void Start_ (const char *func, const char *file, int line, QudaProfileType idx)
 
void Stop_ (const char *func, const char *file, int line, QudaProfileType idx)
 
void Reset_ (const char *func, const char *file, int line)
 
double Last (QudaProfileType idx)
 
bool isRunning (QudaProfileType idx)
 

Static Public Member Functions

static void PrintGlobal ()
 

Static Private Member Functions

static void StopGlobal (const char *func, const char *file, int line, QudaProfileType idx)
 
static void StartGlobal (const char *func, const char *file, int line, QudaProfileType idx)
 

Private Attributes

std::string fname
 
Timer profile [QUDA_PROFILE_COUNT]
 
bool switchOff
 
bool use_global
 

Static Private Attributes

static std::string pname []
 
static Timer global_profile [QUDA_PROFILE_COUNT]
 
static bool global_switchOff [QUDA_PROFILE_COUNT] = {}
 
static int global_total_level [QUDA_PROFILE_COUNT] = {}
 

Detailed Description

Definition at line 171 of file timer.h.

Constructor & Destructor Documentation

◆ TimeProfile() [1/2]

quda::TimeProfile::TimeProfile ( std::string  fname)
inline

Definition at line 214 of file timer.h.

◆ TimeProfile() [2/2]

quda::TimeProfile::TimeProfile ( std::string  fname,
bool  use_global 
)
inline

Print out the profile information

Definition at line 216 of file timer.h.

References Print().

Here is the call graph for this function:

Member Function Documentation

◆ isRunning()

bool quda::TimeProfile::isRunning ( QudaProfileType  idx)
inline

Definition at line 257 of file timer.h.

References quda::Timer::running.

Referenced by quda::MinResExt::operator()().

Here is the caller graph for this function:

◆ Last()

double quda::TimeProfile::Last ( QudaProfileType  idx)
inline

◆ Print()

void quda::TimeProfile::Print ( )

◆ PrintGlobal()

void quda::TimeProfile::PrintGlobal ( )
static

Definition at line 81 of file timer.cpp.

References quda::count, global_profile, pname, printfQuda, quda::QUDA_PROFILE_LOWER_LEVEL, quda::QUDA_PROFILE_TOTAL, quda::Timer::time, and warningQuda.

Referenced by endQuda(), and Last().

Here is the caller graph for this function:

◆ Reset_()

void quda::TimeProfile::Reset_ ( const char *  func,
const char *  file,
int  line 
)
inline

Definition at line 246 of file timer.h.

References quda::QUDA_PROFILE_COUNT.

◆ Start_()

void quda::TimeProfile::Start_ ( const char *  func,
const char *  file,
int  line,
QudaProfileType  idx 
)
inline

Definition at line 221 of file timer.h.

References PUSH_RANGE, quda::QUDA_PROFILE_TOTAL, quda::Timer::Start(), and StartGlobal().

Here is the call graph for this function:

◆ StartGlobal()

static void quda::TimeProfile::StartGlobal ( const char *  func,
const char *  file,
int  line,
QudaProfileType  idx 
)
inlinestaticprivate

Definition at line 201 of file timer.h.

References quda::Timer::Start().

Referenced by Start_().

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

◆ Stop_()

void quda::TimeProfile::Stop_ ( const char *  func,
const char *  file,
int  line,
QudaProfileType  idx 
)
inline

Definition at line 234 of file timer.h.

References POP_RANGE, quda::QUDA_PROFILE_TOTAL, quda::Timer::Stop(), and StopGlobal().

Here is the call graph for this function:

◆ StopGlobal()

static void quda::TimeProfile::StopGlobal ( const char *  func,
const char *  file,
int  line,
QudaProfileType  idx 
)
inlinestaticprivate

Definition at line 188 of file timer.h.

References quda::Timer::Stop().

Referenced by Stop_().

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

Member Data Documentation

◆ fname

std::string quda::TimeProfile::fname
private

Which function are we profiling

Definition at line 172 of file timer.h.

Referenced by Print().

◆ global_profile

Timer quda::TimeProfile::global_profile
staticprivate

Definition at line 184 of file timer.h.

Referenced by Print(), and PrintGlobal().

◆ global_switchOff

bool quda::TimeProfile::global_switchOff = {}
staticprivate

Definition at line 185 of file timer.h.

Referenced by Print().

◆ global_total_level

int quda::TimeProfile::global_total_level = {}
staticprivate

Definition at line 186 of file timer.h.

Referenced by Print().

◆ pname

std::string quda::TimeProfile::pname
staticprivate

Definition at line 178 of file timer.h.

Referenced by Print(), and PrintGlobal().

◆ profile

Timer quda::TimeProfile::profile[QUDA_PROFILE_COUNT]
private

Definition at line 177 of file timer.h.

Referenced by Print().

◆ switchOff

bool quda::TimeProfile::switchOff
private

Definition at line 180 of file timer.h.

◆ use_global

bool quda::TimeProfile::use_global
private

Definition at line 181 of file timer.h.


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