diff options
Diffstat (limited to 'src/gpgpu-sim')
| -rw-r--r-- | src/gpgpu-sim/shader.cc | 4 | ||||
| -rw-r--r-- | src/gpgpu-sim/shader.h | 12 |
2 files changed, 11 insertions, 5 deletions
diff --git a/src/gpgpu-sim/shader.cc b/src/gpgpu-sim/shader.cc index fbf9d52..3692c01 100644 --- a/src/gpgpu-sim/shader.cc +++ b/src/gpgpu-sim/shader.cc @@ -1036,12 +1036,14 @@ swl_scheduler::swl_scheduler ( shader_core_stats* stats, shader_core_ctx* shader char* config_string ) : scheduler_unit ( stats, shader, scoreboard, simt, warp, sp_out, sfu_out, mem_out, id ) { + unsigned m_prioritization_readin; int ret = sscanf( config_string, "warp_limiting:%d:%d", - (int*)&m_prioritization, + &m_prioritization_readin, &m_num_warps_to_limit ); assert( 2 == ret ); + m_prioritization = (scheduler_prioritization_type)m_prioritization_readin; // Currently only GTO is implemented assert( m_prioritization == SCHEDULER_PRIORITIZATION_GTO ); assert( m_num_warps_to_limit <= shader->get_config()->max_warps_per_shader ); diff --git a/src/gpgpu-sim/shader.h b/src/gpgpu-sim/shader.h index c2775cf..6f31523 100644 --- a/src/gpgpu-sim/shader.h +++ b/src/gpgpu-sim/shader.h @@ -419,14 +419,18 @@ public: int id, char* config_str ) : scheduler_unit ( stats, shader, scoreboard, simt, warp, sp_out, sfu_out, mem_out, id ), - m_pending_warps() + m_pending_warps() { + unsigned inner_level_readin; + unsigned outer_level_readin; int ret = sscanf( config_str, "two_level_active:%d:%d:%d", &m_max_active_warps, - (int*)&m_inner_level_prioritization, - (int*)&m_outer_level_prioritization ); + &inner_level_readin, + &outer_level_readin); assert( 3 == ret ); + m_inner_level_prioritization=(scheduler_prioritization_type)inner_level_readin; + m_outer_level_prioritization=(scheduler_prioritization_type)outer_level_readin; } virtual ~two_level_active_scheduler () {} virtual void order_warps(); @@ -447,7 +451,7 @@ protected: const std::vector< shd_warp_t* >::const_iterator& prioritized_iter ); private: - std::deque< shd_warp_t* > m_pending_warps; + std::deque< shd_warp_t* > m_pending_warps; scheduler_prioritization_type m_inner_level_prioritization; scheduler_prioritization_type m_outer_level_prioritization; unsigned m_max_active_warps; |
