Processor Counter Monitor
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
pcm::UncoreCounterState Class Reference

Basic uncore counter state. More...

#include <cpucounters.h>

Inheritance diagram for pcm::UncoreCounterState:
Inheritance graph
[legend]

Public Member Functions

 UncoreCounterState (const UncoreCounterState &)=default
 
 UncoreCounterState (UncoreCounterState &&)=default
 
UncoreCounterStateoperator= (UncoreCounterState &&)=default
 
UncoreCounterStateoperator+= (const UncoreCounterState &o)
 

Protected Member Functions

void readAndAggregate (std::shared_ptr< SafeMsrHandle >)
 

Protected Attributes

uint64 UncMCFullWrites
 
uint64 UncMCNormalReads
 
uint64 UncHARequests
 
uint64 UncHALocalRequests
 
uint64 UncPMMWrites
 
uint64 UncPMMReads
 
uint64 UncEDCFullWrites
 
uint64 UncEDCNormalReads
 
uint64 UncMCGTRequests
 
uint64 UncMCIARequests
 
uint64 UncMCIORequests
 
uint64 PackageEnergyStatus
 
uint64 DRAMEnergyStatus
 
uint64 TOROccupancyIAMiss
 
uint64 TORInsertsIAMiss
 
uint64 UncClocks
 
uint64 CStateResidency [PCM::MAX_C_STATE+1]
 

Friends

class PCM
 
class JSONPrinter
 
template<class CounterStateType >
uint64 getBytesReadFromMC (const CounterStateType &before, const CounterStateType &after)
 Computes number of bytes read from DRAM memory controllers. More...
 
template<class CounterStateType >
uint64 getBytesWrittenToMC (const CounterStateType &before, const CounterStateType &after)
 Computes number of bytes written to DRAM memory controllers. More...
 
template<class CounterStateType >
uint64 getBytesReadFromPMM (const CounterStateType &before, const CounterStateType &after)
 Computes number of bytes read from PMM memory. More...
 
template<class CounterStateType >
uint64 getBytesWrittenToPMM (const CounterStateType &before, const CounterStateType &after)
 Computes number of bytes written to PMM memory. More...
 
template<class CounterStateType >
uint64 getBytesReadFromEDC (const CounterStateType &before, const CounterStateType &after)
 Computes number of bytes read from MCDRAM memory controllers. More...
 
template<class CounterStateType >
uint64 getBytesWrittenToEDC (const CounterStateType &before, const CounterStateType &after)
 Computes number of bytes written to MCDRAM memory controllers. More...
 
template<class CounterStateType >
uint64 getGTRequestBytesFromMC (const CounterStateType &before, const CounterStateType &after)
 Computes number of bytes of read/write requests from GT engine. More...
 
template<class CounterStateType >
uint64 getIARequestBytesFromMC (const CounterStateType &before, const CounterStateType &after)
 Computes number of bytes of read/write requests from all IA. More...
 
template<class CounterStateType >
uint64 getIORequestBytesFromMC (const CounterStateType &before, const CounterStateType &after)
 Computes number of bytes of read/write requests from all IO sources. More...
 
template<class CounterStateType >
uint64 getConsumedEnergy (const CounterStateType &before, const CounterStateType &after)
 Returns energy consumed by processor, excluding DRAM (measured in internal units) More...
 
template<class CounterStateType >
uint64 getDRAMConsumedEnergy (const CounterStateType &before, const CounterStateType &after)
 Returns energy consumed by DRAM (measured in internal units) More...
 
template<class CounterStateType >
uint64 getUncoreClocks (const CounterStateType &before, const CounterStateType &after)
 Returns uncore clock ticks. More...
 
template<class CounterStateType >
double getPackageCStateResidency (int state, const CounterStateType &before, const CounterStateType &after)
 Computes residency in the package C-state. More...
 
template<class CounterStateType >
uint64 getPackageCStateResidency (int state, const CounterStateType &now)
 Reads raw residency counter for the package C-state. More...
 
template<class CounterStateType >
double getLLCReadMissLatency (const CounterStateType &before, const CounterStateType &after)
 Returns average last level cache read+prefetch miss latency in ns.
 
template<class CounterStateType >
double getLocalMemoryRequestRatio (const CounterStateType &before, const CounterStateType &after)
 Get local memory access ration measured in home agent. More...
 
template<class CounterStateType >
double getAverageUncoreFrequency (const CounterStateType &before, const CounterStateType &after)
 
template<class CounterStateType >
double getAverageFrequencyFromClocks (const int64 clocks, const CounterStateType &before, const CounterStateType &after)
 

Detailed Description

Basic uncore counter state.

Intended only for derivation, but not for the direct use

Friends And Related Function Documentation

◆ getBytesReadFromEDC

template<class CounterStateType >
uint64 getBytesReadFromEDC ( const CounterStateType &  before,
const CounterStateType &  after 
)
friend

Computes number of bytes read from MCDRAM memory controllers.

Parameters
beforeCPU counter state before the experiment
afterCPU counter state after the experiment
Returns
Number of bytes

◆ getBytesReadFromMC

template<class CounterStateType >
uint64 getBytesReadFromMC ( const CounterStateType &  before,
const CounterStateType &  after 
)
friend

Computes number of bytes read from DRAM memory controllers.

Parameters
beforeCPU counter state before the experiment
afterCPU counter state after the experiment
Returns
Number of bytes

◆ getBytesReadFromPMM

template<class CounterStateType >
uint64 getBytesReadFromPMM ( const CounterStateType &  before,
const CounterStateType &  after 
)
friend

Computes number of bytes read from PMM memory.

Parameters
beforeCPU counter state before the experiment
afterCPU counter state after the experiment
Returns
Number of bytes

◆ getBytesWrittenToEDC

template<class CounterStateType >
uint64 getBytesWrittenToEDC ( const CounterStateType &  before,
const CounterStateType &  after 
)
friend

Computes number of bytes written to MCDRAM memory controllers.

Parameters
beforeCPU counter state before the experiment
afterCPU counter state after the experiment
Returns
Number of bytes

◆ getBytesWrittenToMC

template<class CounterStateType >
uint64 getBytesWrittenToMC ( const CounterStateType &  before,
const CounterStateType &  after 
)
friend

Computes number of bytes written to DRAM memory controllers.

Parameters
beforeCPU counter state before the experiment
afterCPU counter state after the experiment
Returns
Number of bytes

◆ getBytesWrittenToPMM

template<class CounterStateType >
uint64 getBytesWrittenToPMM ( const CounterStateType &  before,
const CounterStateType &  after 
)
friend

Computes number of bytes written to PMM memory.

Parameters
beforeCPU counter state before the experiment
afterCPU counter state after the experiment
Returns
Number of bytes

◆ getConsumedEnergy

template<class CounterStateType >
uint64 getConsumedEnergy ( const CounterStateType &  before,
const CounterStateType &  after 
)
friend

Returns energy consumed by processor, excluding DRAM (measured in internal units)

Parameters
beforeCPU counter state before the experiment
afterCPU counter state after the experiment

◆ getDRAMConsumedEnergy

template<class CounterStateType >
uint64 getDRAMConsumedEnergy ( const CounterStateType &  before,
const CounterStateType &  after 
)
friend

Returns energy consumed by DRAM (measured in internal units)

Parameters
beforeCPU counter state before the experiment
afterCPU counter state after the experiment

◆ getGTRequestBytesFromMC

template<class CounterStateType >
uint64 getGTRequestBytesFromMC ( const CounterStateType &  before,
const CounterStateType &  after 
)
friend

Computes number of bytes of read/write requests from GT engine.

Parameters
beforeCPU counter state before the experiment
afterCPU counter state after the experiment
Returns
Number of bytes

◆ getIARequestBytesFromMC

template<class CounterStateType >
uint64 getIARequestBytesFromMC ( const CounterStateType &  before,
const CounterStateType &  after 
)
friend

Computes number of bytes of read/write requests from all IA.

Parameters
beforeCPU counter state before the experiment
afterCPU counter state after the experiment
Returns
Number of bytes

◆ getIORequestBytesFromMC

template<class CounterStateType >
uint64 getIORequestBytesFromMC ( const CounterStateType &  before,
const CounterStateType &  after 
)
friend

Computes number of bytes of read/write requests from all IO sources.

Parameters
beforeCPU counter state before the experiment
afterCPU counter state after the experiment
Returns
Number of bytes

◆ getLocalMemoryRequestRatio

template<class CounterStateType >
double getLocalMemoryRequestRatio ( const CounterStateType &  before,
const CounterStateType &  after 
)
friend

Get local memory access ration measured in home agent.

Parameters
beforeSystem CPU counter state before the experiment
afterSystem CPU counter state after the experiment
Returns
Ratio

◆ getPackageCStateResidency [1/2]

template<class CounterStateType >
double getPackageCStateResidency ( int  state,
const CounterStateType &  before,
const CounterStateType &  after 
)
friend

Computes residency in the package C-state.

Parameters
stateC-state
beforeCPU counter state before the experiment
afterCPU counter state after the experiment
Returns
residence ratio (0..1): 0 - 0%, 1.0 - 100%

◆ getPackageCStateResidency [2/2]

template<class CounterStateType >
uint64 getPackageCStateResidency ( int  state,
const CounterStateType &  now 
)
friend

Reads raw residency counter for the package C-state.

Parameters
stateC-state #
nowCPU counter state
Returns
raw residency value

◆ getUncoreClocks

template<class CounterStateType >
uint64 getUncoreClocks ( const CounterStateType &  before,
const CounterStateType &  after 
)
friend

Returns uncore clock ticks.

Parameters
beforeCPU counter state before the experiment
afterCPU counter state after the experiment

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