gem5 [DEVELOP-FOR-25.0]
Loading...
Searching...
No Matches
gem5::ruby::Profiler Class Reference

#include <Profiler.hh>

Classes

struct  ProfilerStats
 

Public Member Functions

 Profiler (const RubySystemParams &params, RubySystem *rs)
 
 ~Profiler ()
 
void wakeup ()
 
void regStats ()
 
void collateStats ()
 
AddressProfilergetAddressProfiler ()
 
AddressProfilergetInstructionProfiler ()
 
void addAddressTraceSample (const RubyRequest &msg, NodeID id)
 
bool getHotLines () const
 
bool getAllInstructions () const
 

Public Attributes

RubySystemm_ruby_system
 
ProfilerStats rubyProfilerStats
 

Private Member Functions

 Profiler (const Profiler &obj)
 
Profileroperator= (const Profiler &obj)
 

Private Attributes

AddressProfilerm_address_profiler_ptr
 
AddressProfilerm_inst_profiler_ptr
 
const bool m_hot_lines
 
const bool m_all_instructions
 
const uint32_t m_num_vnets
 

Detailed Description

Definition at line 71 of file Profiler.hh.

Constructor & Destructor Documentation

◆ Profiler() [1/2]

gem5::ruby::Profiler::Profiler ( const RubySystemParams & params,
RubySystem * rs )

◆ ~Profiler()

gem5::ruby::Profiler::~Profiler ( )

Definition at line 106 of file Profiler.cc.

◆ Profiler() [2/2]

gem5::ruby::Profiler::Profiler ( const Profiler & obj)
private

References Profiler().

Member Function Documentation

◆ addAddressTraceSample()

◆ collateStats()

void gem5::ruby::Profiler::collateStats ( )

Definition at line 371 of file Profiler.cc.

References gem5::statistics::DistBase< Derived, Stor >::add(), gem5::ruby::Profiler::ProfilerStats::delayVCHistogram, gem5::ruby::AbstractController::getCPUSequencer(), gem5::ruby::AbstractController::getDelayHist(), gem5::ruby::AbstractController::getDelayVCHist(), gem5::ruby::GPUCoalescer::getFirstResponseToCompletionDelayHist(), gem5::ruby::GPUCoalescer::getForwardRequestToFirstResponseHist(), gem5::ruby::AbstractController::getGPUCoalescer(), gem5::ruby::Sequencer::getHitLatencyHist(), gem5::ruby::Sequencer::getHitMachLatencyHist(), gem5::ruby::Sequencer::getHitTypeLatencyHist(), gem5::ruby::Sequencer::getHitTypeMachLatencyHist(), gem5::ruby::Sequencer::getIncompleteTimes(), gem5::ruby::GPUCoalescer::getInitialToForwardDelayHist(), gem5::ruby::GPUCoalescer::getIssueToInitialDelayHist(), gem5::ruby::Sequencer::getIssueToInitialDelayHist(), gem5::ruby::GPUCoalescer::getLatencyHist(), gem5::ruby::Sequencer::getLatencyHist(), gem5::ruby::GPUCoalescer::getMissLatencyHist(), gem5::ruby::Sequencer::getMissLatencyHist(), gem5::ruby::GPUCoalescer::getMissMachLatencyHist(), gem5::ruby::Sequencer::getMissMachLatencyHist(), gem5::ruby::GPUCoalescer::getMissTypeLatencyHist(), gem5::ruby::Sequencer::getMissTypeLatencyHist(), gem5::ruby::GPUCoalescer::getMissTypeMachLatencyHist(), gem5::ruby::Sequencer::getMissTypeMachLatencyHist(), gem5::ruby::GPUCoalescer::getOutstandReqHist(), gem5::ruby::Sequencer::getOutstandReqHist(), gem5::ruby::GPUCoalescer::getTypeLatencyHist(), gem5::ruby::Sequencer::getTypeLatencyHist(), gem5::ArmISA::i, gem5::MipsISA::k, m_address_profiler_ptr, m_all_instructions, gem5::ruby::Profiler::ProfilerStats::m_hitLatencyHistSeqr, m_inst_profiler_ptr, gem5::ruby::Profiler::ProfilerStats::m_latencyHistCoalsr, gem5::ruby::Profiler::ProfilerStats::m_latencyHistSeqr, gem5::ruby::Profiler::ProfilerStats::m_missLatencyHistCoalsr, gem5::ruby::Profiler::ProfilerStats::m_missLatencyHistSeqr, m_num_vnets, gem5::ruby::Profiler::ProfilerStats::m_outstandReqHistCoalsr, gem5::ruby::Profiler::ProfilerStats::m_outstandReqHistSeqr, m_ruby_system, and rubyProfilerStats.

◆ getAddressProfiler()

AddressProfiler * gem5::ruby::Profiler::getAddressProfiler ( )
inline

Definition at line 83 of file Profiler.hh.

References m_address_profiler_ptr.

◆ getAllInstructions()

bool gem5::ruby::Profiler::getAllInstructions ( ) const
inline

Definition at line 90 of file Profiler.hh.

References m_all_instructions.

Referenced by gem5::ruby::printSorted().

◆ getHotLines()

bool gem5::ruby::Profiler::getHotLines ( ) const
inline

Definition at line 89 of file Profiler.hh.

References m_hot_lines.

◆ getInstructionProfiler()

AddressProfiler * gem5::ruby::Profiler::getInstructionProfiler ( )
inline

Definition at line 84 of file Profiler.hh.

References m_inst_profiler_ptr.

◆ operator=()

Profiler & gem5::ruby::Profiler::operator= ( const Profiler & obj)
private

References Profiler().

◆ regStats()

void gem5::ruby::Profiler::regStats ( )

◆ wakeup()

void gem5::ruby::Profiler::wakeup ( )

Member Data Documentation

◆ m_address_profiler_ptr

AddressProfiler* gem5::ruby::Profiler::m_address_profiler_ptr
private

Definition at line 97 of file Profiler.hh.

Referenced by addAddressTraceSample(), collateStats(), getAddressProfiler(), and Profiler().

◆ m_all_instructions

const bool gem5::ruby::Profiler::m_all_instructions
private

Definition at line 194 of file Profiler.hh.

Referenced by collateStats(), getAllInstructions(), and Profiler().

◆ m_hot_lines

const bool gem5::ruby::Profiler::m_hot_lines
private

Definition at line 193 of file Profiler.hh.

Referenced by getHotLines(), and Profiler().

◆ m_inst_profiler_ptr

AddressProfiler* gem5::ruby::Profiler::m_inst_profiler_ptr
private

Definition at line 98 of file Profiler.hh.

Referenced by collateStats(), getInstructionProfiler(), and Profiler().

◆ m_num_vnets

const uint32_t gem5::ruby::Profiler::m_num_vnets
private

◆ m_ruby_system

RubySystem* gem5::ruby::Profiler::m_ruby_system

Definition at line 77 of file Profiler.hh.

Referenced by collateStats(), and Profiler().

◆ rubyProfilerStats

ProfilerStats gem5::ruby::Profiler::rubyProfilerStats

Definition at line 199 of file Profiler.hh.

Referenced by collateStats(), and Profiler().


The documentation for this class was generated from the following files:

Generated on Mon May 26 2025 09:19:36 for gem5 by doxygen 1.13.2