gem5
|
#include <local_memory_pipeline.hh>
Public Member Functions | |
LocalMemPipeline (const ComputeUnitParams *params) | |
void | init (ComputeUnit *cu) |
void | exec () |
std::queue< GPUDynInstPtr > & | getLMReqFIFO () |
std::queue< GPUDynInstPtr > & | getLMRespFIFO () |
bool | isLMRespFIFOWrRdy () const |
bool | isLMReqFIFOWrRdy (uint32_t pendReqs=0) const |
const std::string & | name () const |
void | regStats () |
void | incLoadVRFBankConflictCycles (int num_cycles) |
Private Attributes | |
ComputeUnit * | computeUnit |
std::string | _name |
int | lmQueueSize |
Stats::Scalar | loadVrfBankConflictCycles |
std::queue< GPUDynInstPtr > | lmIssuedRequests |
std::queue< GPUDynInstPtr > | lmReturnedRequests |
Definition at line 57 of file local_memory_pipeline.hh.
LocalMemPipeline::LocalMemPipeline | ( | const ComputeUnitParams * | params | ) |
Definition at line 45 of file local_memory_pipeline.cc.
void LocalMemPipeline::exec | ( | ) |
Definition at line 58 of file local_memory_pipeline.cc.
References Shader::coissue_return, computeUnit, Wavefront::computeUnit, DPRINTF, lmIssuedRequests, lmQueueSize, lmReturnedRequests, ComputeUnit::locMemToVrfBus, ArmISA::m, Wavefront::outstandingReqs, Wavefront::outstandingReqsRdLm, Wavefront::outstandingReqsWrLm, WaitClass::rdy(), Shader::ScheduleAdd(), ComputeUnit::sendToLds(), WaitClass::set(), ComputeUnit::shader, Wavefront::simdId, ComputeUnit::vrf, MipsISA::w, ComputeUnit::wfWait, and WRITE.
Referenced by ComputeUnit::exec().
|
inline |
Definition at line 64 of file local_memory_pipeline.hh.
References lmIssuedRequests.
Referenced by HsailISA::LdInst< MemDataType, DestDataType, AddrOperandType >::execute(), HsailISA::StInst< MemDataType, SrcDataType, AddrOperandType >::execute(), and HsailISA::AtomicInst< MemDataType, AddrOperandType, NumSrcOperands, HasDst >::execute().
|
inline |
Definition at line 65 of file local_memory_pipeline.hh.
References lmReturnedRequests.
|
inline |
Definition at line 83 of file local_memory_pipeline.hh.
References loadVrfBankConflictCycles.
void LocalMemPipeline::init | ( | ComputeUnit * | cu | ) |
Definition at line 51 of file local_memory_pipeline.cc.
References _name, computeUnit, and SimObject::name().
Referenced by ComputeUnit::init().
|
inline |
Definition at line 74 of file local_memory_pipeline.hh.
References lmIssuedRequests, and lmQueueSize.
Referenced by ComputeUnit::isDone().
|
inline |
Definition at line 68 of file local_memory_pipeline.hh.
References lmQueueSize, and lmReturnedRequests.
Referenced by ComputeUnit::isDone().
|
inline |
void LocalMemPipeline::regStats | ( | ) |
Definition at line 120 of file local_memory_pipeline.cc.
References Stats::DataWrap< Derived, InfoProxyType >::desc(), loadVrfBankConflictCycles, name(), and Stats::DataWrap< Derived, InfoProxyType >::name().
Referenced by ComputeUnit::regStats().
|
private |
Definition at line 90 of file local_memory_pipeline.hh.
|
private |
Definition at line 89 of file local_memory_pipeline.hh.
|
private |
Definition at line 95 of file local_memory_pipeline.hh.
Referenced by exec(), getLMReqFIFO(), and isLMReqFIFOWrRdy().
|
private |
Definition at line 91 of file local_memory_pipeline.hh.
Referenced by exec(), isLMReqFIFOWrRdy(), and isLMRespFIFOWrRdy().
|
private |
Definition at line 99 of file local_memory_pipeline.hh.
Referenced by exec(), getLMRespFIFO(), and isLMRespFIFOWrRdy().
|
private |
Definition at line 92 of file local_memory_pipeline.hh.
Referenced by incLoadVRFBankConflictCycles(), and regStats().