#include "timemory/components/papi/papi_vector.hpp"
Definition at line 52 of file papi_vector.hpp.
◆ base_type
◆ common_type
◆ entry_type
◆ event_list
◆ get_initializer_t
◆ size_type
◆ storage_type
◆ this_type
◆ tracker_type
◆ value_type
◆ vector_t
◆ papi_vector() [1/3]
tim::component::papi_vector::papi_vector |
( |
| ) |
|
|
inline |
◆ ~papi_vector()
tim::component::papi_vector::~papi_vector |
( |
| ) |
|
|
default |
◆ papi_vector() [2/3]
tim::component::papi_vector::papi_vector |
( |
const papi_vector & |
| ) |
|
|
default |
◆ papi_vector() [3/3]
tim::component::papi_vector::papi_vector |
( |
papi_vector && |
| ) |
|
|
defaultnoexcept |
◆ configure()
static void tim::component::papi_vector::configure |
( |
| ) |
|
|
inlinestatic |
◆ description()
static std::string tim::component::papi_vector::description |
( |
| ) |
|
|
inlinestatic |
Definition at line 221 of file papi_vector.hpp.
223 return "Dynamically allocated array of PAPI HW counters";
◆ description_array()
vector_t< std::string > tim::component::papi_vector::description_array |
( |
| ) |
const |
|
inline |
◆ display_unit_array()
vector_t< std::string > tim::component::papi_vector::display_unit_array |
( |
| ) |
const |
|
inline |
◆ finalize()
static void tim::component::papi_vector::finalize |
( |
| ) |
|
|
inlinestatic |
Definition at line 96 of file papi_vector.hpp.
96{ papi_common::finalize<common_type>(); }
◆ get()
vector_t< Tp > tim::component::papi_vector::get |
( |
| ) |
const |
|
inline |
◆ get_display() [1/2]
string_t tim::component::papi_vector::get_display |
( |
| ) |
const |
|
inline |
Definition at line 329 of file papi_vector.hpp.
334 auto _get_display = [&](std::ostream&
os,
size_type idx) {
335 auto _obj_value = val.at(idx);
336 auto _evt_type =
events.at(idx);
337 string_t _label = papi::get_event_info(_evt_type).short_descr;
338 string_t _disp = papi::get_event_info(_evt_type).units;
343 std::stringstream ss;
344 std::stringstream ssv;
345 std::stringstream ssi;
347 ssv << std::setw(_width) << std::setprecision(_prec) << _obj_value;
351 ssi <<
" " << _label;
352 ss << ssv.str() << ssi.str();
356 std::stringstream ss;
const std::string std::ostream * os
static short get_precision()
static fmtflags get_format_flags()
References events, tim::component::base< Tp, Value >::get_format_flags(), tim::component::base< Tp, Value >::get_precision(), tim::component::base< Tp, Value >::get_width(), tim::component::base< papi_vector, std::vector< long long > >::load(), and tim::os.
Referenced by save().
◆ get_display() [2/2]
entry_type tim::component::papi_vector::get_display |
( |
int |
evt_type | ) |
const |
|
inline |
◆ get_initializer()
static auto & tim::component::papi_vector::get_initializer |
( |
| ) |
|
|
inlinestatic |
Definition at line 84 of file papi_vector.hpp.
84{
return papi_common::get_initializer<common_type>(); }
◆ get_opaque()
template<typename... Args>
static opaque tim::component::empty_base::get_opaque |
( |
Args && |
... | ) |
|
|
inlinestaticinherited |
◆ initialize()
static void tim::component::papi_vector::initialize |
( |
| ) |
|
|
inlinestatic |
◆ label()
static std::string tim::component::papi_vector::label |
( |
| ) |
|
|
inlinestatic |
Definition at line 214 of file papi_vector.hpp.
216 return "papi_vector" + std::to_string((event_set<common_type>() < 0)
218 : event_set<common_type>());
◆ label_array()
vector_t< std::string > tim::component::papi_vector::label_array |
( |
| ) |
const |
|
inline |
Definition at line 261 of file papi_vector.hpp.
263 vector_t<std::string> arr(
events.size(),
"");
265 arr[i] = papi::get_event_info(
events[i]).short_descr;
269 size_t n = std::string::npos;
270 while((n = itr.find(
"L/S")) != std::string::npos)
271 itr.replace(n, 3,
"Loads_Stores");
276 size_t n = std::string::npos;
277 while((n = itr.find(
'/')) != std::string::npos)
278 itr.replace(n, 1,
"_per_");
283 size_t n = std::string::npos;
284 while((n = itr.find(
' ')) != std::string::npos)
285 itr.replace(n, 1,
"_");
287 while((n = itr.find(
"__")) != std::string::npos)
288 itr.replace(n, 2,
"_");
References events.
◆ load()
void tim::component::papi_vector::load |
( |
Archive & |
ar, |
|
|
const unsigned int |
|
|
) |
| |
|
inline |
◆ operator+=()
◆ operator-=()
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ record()
value_type tim::component::papi_vector::record |
( |
| ) |
|
|
inline |
Definition at line 121 of file papi_vector.hpp.
124 if(is_configured<common_type>())
125 papi::read(event_set<common_type>(), read_value.data());
vector_t< long long > value_type
References events.
Referenced by sample(), start(), and stop().
◆ sample()
void tim::component::papi_vector::sample |
( |
| ) |
|
|
inline |
◆ save()
void tim::component::papi_vector::save |
( |
Archive & |
ar, |
|
|
const unsigned int |
|
|
) |
| const |
|
inline |
Definition at line 245 of file papi_vector.hpp.
248 vector_t<double> _disp(sz, 0.0);
253 ar(cereal::make_nvp(
"laps",
laps), cereal::make_nvp(
"repr_data", _disp),
254 cereal::make_nvp(
"value", value), cereal::make_nvp(
"accum", accum),
255 cereal::make_nvp(
"display", _disp), cereal::make_nvp(
"events",
events));
string_t get_display() const
References events, get_display(), and tim::component::base< papi_vector, std::vector< long long > >::laps.
◆ size()
size_t tim::component::papi_vector::size |
( |
| ) |
|
|
inline |
◆ start()
void tim::component::papi_vector::start |
( |
| ) |
|
|
inline |
◆ stop()
void tim::component::papi_vector::stop |
( |
| ) |
|
|
inline |
◆ thread_finalize()
static void tim::component::papi_vector::thread_finalize |
( |
| ) |
|
|
inlinestatic |
◆ unit_array()
vector_t< int64_t > tim::component::papi_vector::unit_array |
( |
| ) |
const |
|
inline |
◆ cpu_roofline
◆ gpu_roofline
◆ operator<<
std::ostream & operator<< |
( |
std::ostream & |
os, |
|
|
const this_type & |
obj |
|
) |
| |
|
friend |
Definition at line 368 of file papi_vector.hpp.
370 if(obj.events.empty())
373 auto _value = obj.get_display();
380 std::stringstream ss_value;
381 std::stringstream ss_extra;
382 ss_value.setf(_flags);
383 ss_value << std::setw(_width) << std::setprecision(_prec) << _value;
386 ss_extra <<
" " << _disp;
388 else if(!_label.empty())
390 ss_extra <<
" " << _label;
392 os << ss_value.str() << ss_extra.str();
static std::string get_label()
static std::string display_unit()
◆ events
Definition at line 352 of file papi_common.hpp.
Referenced by papi_vector(), description_array(), display_unit_array(), get(), get_display(), label_array(), load(), record(), sample(), save(), size(), start(), and unit_array().
◆ precision
const short tim::component::papi_vector::precision = 3 |
|
static |
◆ width
const short tim::component::papi_vector::width = 8 |
|
static |
The documentation for this struct was generated from the following file: