42 numMemUnits(p->num_global_mem_pipes + p->num_shared_mem_pipes),
43 vectorAluInstAvail(nullptr), glbMemInstAvail(nullptr),
44 shrMemInstAvail(nullptr), lastTimeInstExecuted(false),
45 thisTimeInstExecuted(false), instrExecuted (false),
46 executionResourcesUsed(0)
155 .
name(
name() +
".num_transitions_active_to_idle")
156 .
desc(
"number of CU transitions from active to idle")
160 .
name(
name() +
".num_cycles_with_no_issue")
161 .
desc(
"number of cycles the CU issues nothing")
165 .
name(
name() +
".num_cycles_with_instr_issued")
166 .
desc(
"number of cycles the CU issued at least one instruction")
172 .
desc(
"Execution units active per cycle (Exec unit=SIMD,MemPipe)")
177 .
name(
name() +
".idle_duration_in_cycles")
178 .
desc(
"duration of idle periods in cycles")
183 .
name(
name() +
".num_cycles_with_instrtype_issue")
184 .
desc(
"Number of cycles at least one instruction of specific type "
190 .
name(
name() +
".num_cycles_with_instr_type_no_issue")
191 .
desc(
"Number of cycles no instruction of specific type issued")
std::vector< bool > vectorAluInstAvail
Derived & subname(off_type index, const std::string &name)
Set the subfield name for the given index, and marks this stat to print at the end of simulation...
uint32_t executionResourcesUsed
Stats::Distribution idleDur
Stats::Vector numCyclesWithInstrTypeIssued
Stats::Scalar numCyclesWithInstrIssued
ExecStage(const ComputeUnitParams *params)
void collectStatistics(enum STAT_STATUS stage, int unitId)
Derived & init(size_type size)
Set this vector to have the given size.
ComputeUnit * computeUnit
bool isShrMem(int unitId)
std::string csprintf(const char *format, const Args &...args)
bool lastTimeInstExecuted
Stats::Scalar numCyclesWithNoIssue
Distribution & init(Counter min, Counter max, Counter bkt)
Set the parameters of this distribution.
void init(ComputeUnit *cu)
Stats::Vector numCyclesWithNoInstrTypeIssued
bool isGlbMem(int unitId)
std::vector< std::pair< Wavefront *, DISPATCH_STATUS > > dispatchList
Derived & name(const std::string &name)
Set the name and marks this stat to print at the end of simulation.
virtual const std::string name() const
std::vector< std::pair< Wavefront *, DISPATCH_STATUS > > * dispatchList
Stats::Scalar numTransActiveIdle
std::vector< bool > * vectorAluInstAvail
Derived & desc(const std::string &_desc)
Set the description and marks this stat to print at the end of simulation.
bool thisTimeInstExecuted
void sample(const U &v, int n=1)
Add a value to the distribtion n times.
bool isVecAlu(int unitId)