gem5
[DEVELOP-FOR-23.0]
|
Implementation of a distribution stat. More...
#include <statistics.hh>
Public Types | |
typedef DistInfoProxy< Derived > | Info |
typedef Stor | Storage |
typedef Stor::Params | Params |
![]() | |
typedef DistInfoProxy< Derived > | Info |
Public Member Functions | |
DistBase (Group *parent, const char *name, const units::Base *unit, const char *desc) | |
template<typename U > | |
void | sample (const U &v, int n=1) |
Add a value to the distribtion n times. More... | |
size_type | size () const |
Return the number of entries in this stat. More... | |
bool | zero () const |
Return true if no samples have been added. More... | |
void | prepare () |
void | reset () |
Reset stat value to default. More... | |
void | add (DistBase &d) |
Add the argument distribution to the this distribution. More... | |
![]() | |
const Info * | info () const |
DataWrap ()=delete | |
DataWrap (const DataWrap &)=delete | |
DataWrap (Group *parent, const char *name, const units::Base *unit, const char *desc) | |
DataWrap & | operator= (const DataWrap &)=delete |
Derived & | name (const std::string &name) |
Set the name and marks this stat to print at the end of simulation. More... | |
const std::string & | name () const |
Derived & | setSeparator (const std::string &_sep) |
Set the character(s) used between the name and vector number on vectors, dist, etc. More... | |
const std::string & | setSeparator () const |
Derived & | unit (const units::Base *_unit) |
Set the unit of the stat. More... | |
Derived & | desc (const std::string &_desc) |
Set the description and marks this stat to print at the end of simulation. More... | |
Derived & | precision (int _precision) |
Set the precision and marks this stat to print at the end of simulation. More... | |
Derived & | flags (Flags _flags) |
Set the flags and marks this stat to print at the end of simulation. More... | |
Derived & | prereq (const Stat &prereq) |
Set the prerequisite stat and marks this stat to print at the end of simulation. More... | |
![]() | |
InfoAccess () | |
void | reset () |
Reset the stat to the default state. More... | |
bool | zero () const |
bool | check () const |
Check that this stat has been set up properly and is ready for use. More... | |
Protected Member Functions | |
GEM5_ALIGNED (8) char storage[sizeof(Storage)] | |
The storage for this stat. More... | |
Storage * | data () |
Retrieve the storage. More... | |
const Storage * | data () const |
Retrieve a const pointer to the storage. More... | |
void | doInit () |
![]() | |
Derived & | self () |
Info * | info () |
![]() | |
void | setInfo (Group *parent, Info *info) |
Set up an info class for this statistic. More... | |
void | setParams (const StorageParams *params) |
Save Storage class parameters if any. More... | |
void | setInit () |
Save Storage class parameters if any. More... | |
Info * | info () |
Grab the information class for this statistic. More... | |
const Info * | info () const |
Grab the information class for this statistic. More... | |
bool | newStyleStats () const |
Check if the info is new style stats. More... | |
Implementation of a distribution stat.
The type of distribution is determined by the Storage template.
Definition at line 1273 of file statistics.hh.
typedef DistInfoProxy<Derived> gem5::statistics::DistBase< Derived, Stor >::Info |
Definition at line 1276 of file statistics.hh.
typedef Stor::Params gem5::statistics::DistBase< Derived, Stor >::Params |
Definition at line 1278 of file statistics.hh.
typedef Stor gem5::statistics::DistBase< Derived, Stor >::Storage |
Definition at line 1277 of file statistics.hh.
|
inline |
Definition at line 1313 of file statistics.hh.
|
inline |
Add the argument distribution to the this distribution.
Definition at line 1359 of file statistics.hh.
Referenced by gem5::ruby::Profiler::collateStats().
|
inlineprotected |
Retrieve the storage.
Definition at line 1290 of file statistics.hh.
Referenced by gem5::statistics::DistBase< Distribution, DistStor >::add(), gem5::statistics::DistBase< Distribution, DistStor >::prepare(), gem5::statistics::DistBase< Distribution, DistStor >::reset(), gem5::statistics::DistBase< Distribution, DistStor >::sample(), gem5::statistics::DistBase< Distribution, DistStor >::size(), and gem5::statistics::DistBase< Distribution, DistStor >::zero().
|
inlineprotected |
Retrieve a const pointer to the storage.
Definition at line 1300 of file statistics.hh.
|
inlineprotected |
Definition at line 1306 of file statistics.hh.
|
protected |
The storage for this stat.
|
inline |
Definition at line 1341 of file statistics.hh.
|
inline |
Reset stat value to default.
Definition at line 1351 of file statistics.hh.
Referenced by gem5::ruby::Sequencer::resetStats(), gem5::ruby::AbstractController::resetStats(), and gem5::ruby::GPUCoalescer::resetStats().
|
inline |
Add a value to the distribtion n times.
Calls sample on the storage class.
v | The value to add. |
n | The number of times to add it, defaults to 1. |
Definition at line 1327 of file statistics.hh.
Referenced by gem5::FlashDevice::accessDevice(), gem5::memory::NVMInterface::chooseRead(), gem5::ExecStage::collectStatistics(), gem5::o3::LSQUnit::commitLoad(), gem5::SMMUTranslationProcess::completeTransaction(), gem5::PowerState::computeStats(), gem5::memory::NVMInterface::doBurstAccess(), gem5::ArmISA::TableWalker::doL1DescriptorWrapper(), gem5::ArmISA::TableWalker::doL2DescriptorWrapper(), gem5::ArmISA::TableWalker::doLongDescriptorWrapper(), gem5::Wavefront::exec(), gem5::Gcn3ISA::Inst_SOPP__S_ENDPGM::execute(), gem5::VegaISA::Inst_SOPP__S_ENDPGM::execute(), gem5::CoherentXBar::forwardAtomic(), gem5::CoherentXBar::forwardTiming(), gem5::SimpleCache::handleResponse(), gem5::ruby::CacheMemory::htmAbortTransaction(), gem5::ruby::HTMSequencer::htmCallback(), gem5::ruby::CacheMemory::htmCommitTransaction(), gem5::ruby::Sequencer::insertRequest(), gem5::ArmISA::TableWalker::pendingChange(), gem5::FetchStage::processFetchReturn(), gem5::ComputeUnit::DataPort::processMemRespEvent(), gem5::memory::MemCtrl::processNextReqEvent(), gem5::LdsState::processPacket(), gem5::ArmISA::TableWalker::processWalk(), gem5::ArmISA::TableWalker::processWalkAArch64(), gem5::ArmISA::TableWalker::processWalkLPAE(), gem5::ArmISA::TableWalker::processWalkWrapper(), gem5::memory::NVMInterface::processWriteRespondEvent(), gem5::ruby::AbstractController::profileMsgDelay(), gem5::ruby::Sequencer::recordMissLatency(), gem5::Shader::sampleInstRoundTrip(), gem5::Shader::sampleLineRoundTrip(), gem5::Shader::sampleLoad(), gem5::Shader::sampleStore(), gem5::o3::InstructionQueue::scheduleReadyInsts(), gem5::SMMUTranslationProcess::smmuTranslation(), gem5::ComputeUnit::startWavefront(), gem5::o3::Fetch::tick(), gem5::CommMonitor::MonitorStats::updateReqStats(), gem5::CommMonitor::MonitorStats::updateRespStats(), and gem5::GPUDynInst::updateStats().
|
inline |
Return the number of entries in this stat.
Definition at line 1333 of file statistics.hh.
|
inline |
Return true if no samples have been added.
Definition at line 1338 of file statistics.hh.