Base class to built upon by programs that want to collect profile information about certain functions.
More...
|
| base_profiler (std::string inname="untitled", std::string ver="STAPL", int argc=0, char **argv=nullptr) |
|
unsigned int | get_iterations (void) const |
|
double | get_avg (void) const |
|
double | get_min (void) const |
|
double | get_max (void) const |
|
double | get_std (void) const |
|
double | get_conf (void) const |
|
std::string const & | get_name (void) const |
|
bool | get_validation_result () const |
|
virtual void | initialize (void) |
|
virtual void | initialize_iteration (void) |
|
virtual void | run (void)=0 |
|
virtual void | finalize_iteration (void) |
|
virtual bool | continue_iterating (void) |
|
virtual void | finalize (void) |
|
virtual void | check_validity (void) |
| Method used in the general validation run (validate()) to actually check for the validity of the results and set m_passed to appropriate value. More...
|
|
virtual void | collect_profile (void) |
|
virtual void | report (std::stringstream &ss) |
|
void | report (void) |
|
void | set_options (int argc, char **argv) |
|
|
virtual void | print_extra_information (std::stringstream &ss) |
| Profilers may use multiple counters to collect different pieces of information, such as L2 or L3 cache misses; these may be reported in addition to the default counter (usually time) by overriding this method.
|
|
|
metric_type | reflect_metric (metric_type const &m) const |
|
template<typename T > |
T | reflect_value (T x) const |
|
|
std::string | name |
| Basic name of the profiler.
|
|
time_t | m_start_time |
| Starting time of this profiling run.
|
|
time_t | m_wallclock_sec |
| Total time taken by this profiling run.
|
|
std::size_t | m_max_wallclock_sec |
| Maximum allowed time for this profiling run before terminating it.
|
|
std::size_t | m_cache_size |
| Cache size in MB to be flushed before every iteration.
|
|
std::size_t | m_cache_tmp |
| Temporary variable to prevent the compiler optimizing out cache flushing.
|
|
std::string | m_file_name_prefix |
| Prefix for the filename to dump the profiler report into.
|
|
Counter | m_counter |
| Performance counter.
|
|
bool | m_passed |
| Flag indicating the validation status (. More...
|
|
template<typename Counter>
class stapl::confidence_interval_controller< Counter >
Base class to built upon by programs that want to collect profile information about certain functions.
Backed by confidence_interval_controller to control the iteration until desired confidence level has been reached, compute sample statistics and report the results.
- Template Parameters
-
Counter | Counter type used. |
◆ reflect_metric()
template<typename Counter >
Helper function to facilitate RMIs used when collecting the results.
◆ check_validity()
template<typename Counter >
Method used in the general validation run (validate()) to actually check for the validity of the results and set m_passed to appropriate value.
Specialized profilers may customize this method for simple validity checking based on the results of a single profiling run. If different code than the one used for profiling purposes has to be executed to obtain results for validation, the full validate() method has to be overriden.
- Note
- m_passed will be set locally – a reduction will be typically required to determine the global validity.
◆ m_passed
template<typename Counter >
Flag indicating the validation status (.
- See also
- validate())
The documentation for this class was generated from the following file: