X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgpu-compute%2Flocal_memory_pipeline.hh;h=3ff3b79eccd2c7688460fc32b3a86c7245b7f713;hb=e783e4c4e25bbd9e04408f305284916679d1a30f;hp=dba938d6af361292b18a8e54809d8f35de324d11;hpb=990b7a7f114a1d4f6da434eb0288626a6d6b29ec;p=gem5.git diff --git a/src/gpu-compute/local_memory_pipeline.hh b/src/gpu-compute/local_memory_pipeline.hh index dba938d6a..3ff3b79ec 100644 --- a/src/gpu-compute/local_memory_pipeline.hh +++ b/src/gpu-compute/local_memory_pipeline.hh @@ -55,13 +55,13 @@ class Wavefront; class LocalMemPipeline { public: - LocalMemPipeline(const ComputeUnitParams *params); - void init(ComputeUnit *cu); + LocalMemPipeline(const ComputeUnitParams *p, ComputeUnit &cu); void exec(); - - std::queue &getLMReqFIFO() { return lmIssuedRequests; } std::queue &getLMRespFIFO() { return lmReturnedRequests; } + void issueRequest(GPUDynInstPtr gpuDynInst); + + bool isLMRespFIFOWrRdy() const { @@ -84,8 +84,8 @@ class LocalMemPipeline } private: - ComputeUnit *computeUnit; - std::string _name; + ComputeUnit &computeUnit; + const std::string _name; int lmQueueSize; Stats::Scalar loadVrfBankConflictCycles; // Local Memory Request Fifo: all shared memory requests