timemory 3.3.0
Modular C++ Toolkit for Performance Analysis and Logging. Profiling API and Tools for C, C++, CUDA, Fortran, and Python. The C++ template API is essentially a framework to creating tools: it is designed to provide a unifying interface for recording various performance measurements alongside data logging and interfaces to other tools.
|
This component pairs a tim::component::papi_tuple with a component which will provide an interval over which the hardware counters will be reported, e.g. if RateT
is tim::component::wall_clock, the reported values will be the hardware-counters w.r.t. the wall-clock time. If RateT
is tim::component::cpu_clock, the reported values will be the hardware counters w.r.t. the cpu time.
More...
#include "timemory/components/papi/papi_rate_tuple.hpp"
Public Types | |
using | size_type = std::size_t |
using | tuple_type = papi_tuple< EventTypes... > |
using | rate_type = RateT |
using | value_type = std::pair< tuple_type, rate_type > |
using | this_type = papi_rate_tuple< RateT, EventTypes... > |
using | base_type = base< this_type, value_type > |
using | storage_type = typename base_type::storage_type |
using | common_type = tuple_type |
template<typename Tp > | |
using | array_t = std::array< Tp, num_events > |
Public Member Functions | |
void | start () |
void | stop () |
this_type & | operator+= (const this_type &rhs) |
this_type & | operator-= (const this_type &rhs) |
template<typename Tp = double> | |
auto | get () const |
Static Public Member Functions | |
static void | configure () |
static void | initialize () |
static void | finalize () |
static void | global_init () |
static void | global_finalize () |
static void | thread_init () |
static void | thread_finalize () |
static std::string | label () |
static std::string | description () |
static auto | label_array () |
static auto | description_array () |
static auto | display_unit_array () |
static auto | unit_array () |
template<typename... Args> | |
static opaque | get_opaque (Args &&...) |
Static Public Attributes | |
static const size_type | num_events = sizeof...(EventTypes) |
Friends | |
struct | operation::record< common_type > |
struct | operation::start< this_type > |
struct | operation::stop< this_type > |
struct | operation::set_started< this_type > |
struct | operation::set_stopped< this_type > |
class | impl::storage< this_type, trait::uses_value_storage< this_type, value_type >::value > |
std::ostream & | operator<< (std::ostream &os, const this_type &obj) |
This component pairs a tim::component::papi_tuple with a component which will provide an interval over which the hardware counters will be reported, e.g. if RateT
is tim::component::wall_clock, the reported values will be the hardware-counters w.r.t. the wall-clock time. If RateT
is tim::component::cpu_clock, the reported values will be the hardware counters w.r.t. the cpu time.
RateT | Component whose value will be the divisor for all the hardware counters |
EventTypes | Compile-time constant list of PAPI event identifiers |
Definition at line 74 of file papi_rate_tuple.hpp.
using tim::component::papi_rate_tuple< RateT, EventTypes >::array_t = std::array<Tp, num_events> |
Definition at line 94 of file papi_rate_tuple.hpp.
using tim::component::papi_rate_tuple< RateT, EventTypes >::base_type = base<this_type, value_type> |
Definition at line 89 of file papi_rate_tuple.hpp.
using tim::component::papi_rate_tuple< RateT, EventTypes >::common_type = tuple_type |
Definition at line 91 of file papi_rate_tuple.hpp.
using tim::component::papi_rate_tuple< RateT, EventTypes >::rate_type = RateT |
Definition at line 86 of file papi_rate_tuple.hpp.
using tim::component::papi_rate_tuple< RateT, EventTypes >::size_type = std::size_t |
Definition at line 82 of file papi_rate_tuple.hpp.
using tim::component::papi_rate_tuple< RateT, EventTypes >::storage_type = typename base_type::storage_type |
Definition at line 90 of file papi_rate_tuple.hpp.
using tim::component::papi_rate_tuple< RateT, EventTypes >::this_type = papi_rate_tuple<RateT, EventTypes...> |
Definition at line 88 of file papi_rate_tuple.hpp.
using tim::component::papi_rate_tuple< RateT, EventTypes >::tuple_type = papi_tuple<EventTypes...> |
Definition at line 85 of file papi_rate_tuple.hpp.
using tim::component::papi_rate_tuple< RateT, EventTypes >::value_type = std::pair<tuple_type, rate_type> |
Definition at line 87 of file papi_rate_tuple.hpp.
|
inlinestatic |
Definition at line 103 of file papi_rate_tuple.hpp.
References tim::component::papi_tuple< EventTypes >::configure().
|
inlinestatic |
Definition at line 141 of file papi_rate_tuple.hpp.
|
inlinestatic |
Definition at line 196 of file papi_rate_tuple.hpp.
References tim::component::papi_tuple< EventTypes >::description_array().
|
inlinestatic |
Definition at line 204 of file papi_rate_tuple.hpp.
References tim::component::papi_tuple< EventTypes >::label_array().
|
inlinestatic |
Definition at line 105 of file papi_rate_tuple.hpp.
References tim::component::papi_tuple< EventTypes >::finalize().
|
inline |
Definition at line 180 of file papi_rate_tuple.hpp.
|
inlinestaticinherited |
Definition at line 72 of file declaration.hpp.
|
inlinestatic |
Definition at line 114 of file papi_rate_tuple.hpp.
|
inlinestatic |
Definition at line 107 of file papi_rate_tuple.hpp.
|
inlinestatic |
Definition at line 104 of file papi_rate_tuple.hpp.
References tim::component::papi_tuple< EventTypes >::initialize().
|
inlinestatic |
Definition at line 137 of file papi_rate_tuple.hpp.
References tim::component::properties< Tp >::id(), and tim::component::papi_tuple< EventTypes >::label().
|
inlinestatic |
Definition at line 188 of file papi_rate_tuple.hpp.
References tim::component::papi_tuple< EventTypes >::label_array().
|
inline |
Definition at line 165 of file papi_rate_tuple.hpp.
|
inline |
Definition at line 172 of file papi_rate_tuple.hpp.
|
inline |
Definition at line 153 of file papi_rate_tuple.hpp.
|
inline |
Definition at line 159 of file papi_rate_tuple.hpp.
|
inlinestatic |
Definition at line 129 of file papi_rate_tuple.hpp.
|
inlinestatic |
Definition at line 122 of file papi_rate_tuple.hpp.
|
inlinestatic |
Definition at line 216 of file papi_rate_tuple.hpp.
References tim::component::papi_tuple< EventTypes >::unit_array().
|
friend |
Definition at line 227 of file papi_rate_tuple.hpp.
|
friend |
Definition at line 83 of file papi_rate_tuple.hpp.
|
friend |
Definition at line 83 of file papi_rate_tuple.hpp.
|
friend |
Definition at line 83 of file papi_rate_tuple.hpp.
|
friend |
Definition at line 83 of file papi_rate_tuple.hpp.
|
friend |
Definition at line 83 of file papi_rate_tuple.hpp.
|
friend |
Definition at line 227 of file papi_rate_tuple.hpp.
|
static |
Definition at line 83 of file papi_rate_tuple.hpp.