gem5 v24.0.0.0
|
Implementation of a distribution stat. More...
#include <statistics.hh>
Public Types | |
typedef DistInfoProxy< Derived > | Info |
typedef Stor | Storage |
typedef Stor::Params | Params |
Public Types inherited from gem5::statistics::DataWrap< Derived, DistInfoProxy > | |
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. | |
size_type | size () const |
Return the number of entries in this stat. | |
bool | zero () const |
Return true if no samples have been added. | |
void | prepare () |
void | reset () |
Reset stat value to default. | |
void | add (DistBase &d) |
Add the argument distribution to the this distribution. | |
Public Member Functions inherited from gem5::statistics::DataWrap< Derived, DistInfoProxy > | |
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. | |
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. | |
const std::string & | setSeparator () const |
Derived & | unit (const units::Base *_unit) |
Set the unit of the stat. | |
Derived & | desc (const std::string &_desc) |
Set the description and marks this stat to print at the end of simulation. | |
Derived & | precision (int _precision) |
Set the precision and marks this stat to print at the end of simulation. | |
Derived & | flags (Flags _flags) |
Set the flags and marks this stat to print at the end of simulation. | |
Derived & | prereq (const Stat &prereq) |
Set the prerequisite stat and marks this stat to print at the end of simulation. | |
Public Member Functions inherited from gem5::statistics::InfoAccess | |
InfoAccess () | |
void | reset () |
Reset the stat to the default state. | |
bool | zero () const |
bool | check () const |
Check that this stat has been set up properly and is ready for use. | |
Protected Member Functions | |
GEM5_ALIGNED (8) char storage[sizeof(Storage)] | |
The storage for this stat. | |
Storage * | data () |
Retrieve the storage. | |
const Storage * | data () const |
Retrieve a const pointer to the storage. | |
void | doInit () |
Protected Member Functions inherited from gem5::statistics::DataWrap< Derived, DistInfoProxy > | |
Derived & | self () |
Info * | info () |
Protected Member Functions inherited from gem5::statistics::InfoAccess | |
void | setInfo (Group *parent, Info *info) |
Set up an info class for this statistic. | |
void | setParams (const StorageParams *params) |
Save Storage class parameters if any. | |
void | setInit () |
Save Storage class parameters if any. | |
Info * | info () |
Grab the information class for this statistic. | |
const Info * | info () const |
Grab the information class for this statistic. | |
bool | newStyleStats () const |
Check if the info is new style stats. | |
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.
References gem5::ArmISA::d, and gem5::statistics::DistBase< Derived, Stor >::data().
Referenced by gem5::ruby::Profiler::collateStats().
|
inlineprotected |
Retrieve the storage.
Definition at line 1290 of file statistics.hh.
Referenced by gem5::statistics::DistBase< Derived, Stor >::add(), gem5::statistics::DistBase< Derived, Stor >::prepare(), gem5::statistics::DistBase< Derived, Stor >::reset(), gem5::statistics::DistBase< Derived, Stor >::sample(), gem5::statistics::DistBase< Derived, Stor >::size(), and gem5::statistics::DistBase< Derived, Stor >::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.
References gem5::statistics::Info::getStorageParams(), gem5::statistics::DataWrap< Derived, DistInfoProxy >::info(), and gem5::statistics::InfoAccess::setInit().
|
protected |
The storage for this stat.
|
inline |
Definition at line 1341 of file statistics.hh.
References gem5::statistics::DistBase< Derived, Stor >::data(), gem5::statistics::DistInfo::data, gem5::statistics::Info::getStorageParams(), and gem5::statistics::DataWrap< Derived, DistInfoProxy >::info().
|
inline |
Reset stat value to default.
Definition at line 1351 of file statistics.hh.
References gem5::statistics::DistBase< Derived, Stor >::data(), and gem5::statistics::DataWrap< Derived, DistInfoProxy >::info().
Referenced by gem5::ruby::AbstractController::resetStats(), gem5::ruby::GPUCoalescer::resetStats(), and gem5::ruby::Sequencer::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.
References gem5::statistics::DistBase< Derived, Stor >::data(), gem5::ArmISA::n, and gem5::ArmISA::v.
Referenced by gem5::FlashDevice::accessDevice(), gem5::memory::NVMInterface::chooseRead(), gem5::ExecStage::collectStatistics(), gem5::o3::Commit::commitInsts(), gem5::o3::LSQUnit::commitLoad(), gem5::SMMUTranslationProcess::completeTransaction(), gem5::PowerState::computeStats(), gem5::memory::NVMInterface::doBurstAccess(), gem5::ArmISA::TableWalker::doL2DescriptorWrapper(), gem5::ArmISA::TableWalker::doLongDescriptorWrapper(), gem5::Wavefront::exec(), gem5::VegaISA::Inst_SOPP__S_ENDPGM::execute(), gem5::UFSHostDevice::finalUTP(), gem5::CoherentXBar::forwardAtomic(), gem5::CoherentXBar::forwardTiming(), gem5::StackDistProbe::handleRequest(), gem5::SimpleCache::handleResponse(), gem5::ruby::CacheMemory::htmAbortTransaction(), gem5::ruby::HTMSequencer::htmCallback(), gem5::ruby::CacheMemory::htmCommitTransaction(), gem5::ruby::Sequencer::insertRequest(), gem5::ArmISA::TableWalker::pendingChange(), gem5::memory::DRAMInterface::prechargeBank(), 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::memory::NVMInterface::processWriteRespondEvent(), gem5::ruby::AbstractController::profileMsgDelay(), gem5::ruby::Sequencer::recordMissLatency(), gem5::SpatterGen::recvTimingResp(), gem5::Shader::sampleInstRoundTrip(), gem5::Shader::sampleLineRoundTrip(), gem5::Shader::sampleLoad(), gem5::CommMonitor::samplePeriodic(), gem5::Shader::sampleStore(), gem5::o3::InstructionQueue::scheduleReadyInsts(), gem5::SMMUTranslationProcess::smmuTranslation(), gem5::ComputeUnit::startWavefront(), gem5::o3::Fetch::tick(), gem5::GPUDynInst::updateStats(), and gem5::UFSHostDevice::write().
|
inline |
Return the number of entries in this stat.
Definition at line 1333 of file statistics.hh.
References gem5::statistics::DistBase< Derived, Stor >::data().
|
inline |
Return true if no samples have been added.
Definition at line 1338 of file statistics.hh.
References gem5::statistics::DistBase< Derived, Stor >::data().