diff options
| author | Tim Rogers <[email protected]> | 2013-07-06 12:22:34 -0800 |
|---|---|---|
| committer | Andrew Boktor <[email protected]> | 2014-08-14 13:50:58 -0700 |
| commit | 7da201cb86702aca80407b94858c380fd90aba38 (patch) | |
| tree | 5ad4d81a260d9110679c03b9eb34bf57e14572f5 /src/gpgpu-sim/shader.h | |
| parent | ded72b7697f0244aa789e25330b58674797929b0 (diff) | |
Integrating changes from my personal branch.
Main contribution is a static warp limiting scheduler.
There is also some minor cleanup to the heirarchy of the cache code and removal some excessively long lines
Review ID: 36001 lgtm: 1
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 16580]
Diffstat (limited to 'src/gpgpu-sim/shader.h')
| -rw-r--r-- | src/gpgpu-sim/shader.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/gpgpu-sim/shader.h b/src/gpgpu-sim/shader.h index 76133e2..7c99ac5 100644 --- a/src/gpgpu-sim/shader.h +++ b/src/gpgpu-sim/shader.h @@ -279,6 +279,7 @@ enum concrete_scheduler CONCRETE_SCHEDULER_LRR = 0, CONCRETE_SCHEDULER_GTO, CONCRETE_SCHEDULER_TWO_LEVEL_ACTIVE, + CONCRETE_SCHEDULER_WARP_LIMITING, NUM_CONCRETE_SCHEDULERS }; @@ -452,6 +453,28 @@ private: unsigned m_max_active_warps; }; +// Static Warp Limiting Scheduler +class swl_scheduler : public scheduler_unit { +public: + swl_scheduler ( shader_core_stats* stats, shader_core_ctx* shader, + Scoreboard* scoreboard, simt_stack** simt, + std::vector<shd_warp_t>* warp, + register_set* sp_out, + register_set* sfu_out, + register_set* mem_out, + int id, + char* config_string ); + virtual ~swl_scheduler () {} + virtual void order_warps (); + virtual void done_adding_supervised_warps() { + m_last_supervised_issued = m_supervised_warps.begin(); + } + +protected: + scheduler_prioritization_type m_prioritization; + unsigned m_num_warps_to_limit; +}; + class opndcoll_rfu_t { // operand collector based register file unit |
