Go to the documentation of this file.
   39 #include "params/ComputeUnit.hh" 
   50     int num_func_units = 
p.num_SIMDs + 
p.num_scalar_cores
 
   51         + 
p.num_global_mem_pipes + 
p.num_shared_mem_pipes
 
   52         + 
p.num_scalar_mem_pipes;
 
   55     for (
auto &func_unit_wf_list : 
_readyWFs) {
 
   56         func_unit_wf_list.reserve(
p.n_wf);
 
   63     for (
auto &func_unit_wf_list : 
_readyWFs) {
 
   64         func_unit_wf_list.resize(0);
 
   95     for (
auto it = func_unit_wf_list.begin(); it != func_unit_wf_list.end();) {
 
   96         if ((*it)->instructionBuffer.empty()) {
 
   97             it = func_unit_wf_list.erase(it);
 
  109     int num_func_units = 
p.num_SIMDs + 
p.num_scalar_cores
 
  110         + 
p.num_global_mem_pipes + 
p.num_shared_mem_pipes
 
  111         + 
p.num_scalar_mem_pipes;
 
  120         func_unit_ready_inst = 
nullptr;
 
  124         func_unit_status = 
EMPTY;
 
  
void markWFReady(Wavefront *wf, int func_unit_id)
Mark the WF as ready for execution on a particular functional unit.
std::vector< GPUDynInstPtr > _readyInsts
void updateReadyList(int func_unit_id)
Delete all wavefronts that have been marked as ready at scoreboard stage but are found to have empty ...
ScoreboardCheckToSchedule()=delete
DISPATCH_STATUS dispatchStatus(int func_unit_id) const
ScheduleToExecute()=delete
void reset() override
Reset the pipe stage interface.
GPUDynInstPtr & readyInst(int func_unit_id)
void reset() override
Reset the pipe stage interface.
std::vector< DISPATCH_STATUS > _dispatchStatus
std::shared_ptr< GPUDynInst > GPUDynInstPtr
std::vector< Wavefront * > & readyWFs(int func_unit_id)
TODO: These methods expose this class' implementation too much by returning references to its interna...
void dispatchTransition(const GPUDynInstPtr &gpu_dyn_inst, int func_unit_id, DISPATCH_STATUS disp_status)
Once the scheduler has chosen a winning WF for execution, and after the WF's oldest instruction's ope...
std::vector< std::vector< Wavefront * > > _readyWFs
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
int numReadyLists() const
Returns the number of ready lists (i.e., the number of functional units).
Generated on Tue Sep 21 2021 12:25:23 for gem5 by  doxygen 1.8.17