summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim
diff options
context:
space:
mode:
authorMahmoud <[email protected]>2017-07-18 12:59:52 -0400
committerMahmoud <[email protected]>2017-07-18 12:59:52 -0400
commitbc69b31897d6e11dc98d4d75bd7b902a42b146bc (patch)
tree46cebcf1b2f3ae56c06b8c27d9d0be1830939170 /src/gpgpu-sim
parentb806d3a4021a12638e1e67fcd67012dca4b1689e (diff)
Fixing deadlock bug
Diffstat (limited to 'src/gpgpu-sim')
-rw-r--r--src/gpgpu-sim/shader.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gpgpu-sim/shader.cc b/src/gpgpu-sim/shader.cc
index d826b69..bb2cf0e 100644
--- a/src/gpgpu-sim/shader.cc
+++ b/src/gpgpu-sim/shader.cc
@@ -482,11 +482,11 @@ void shader_core_stats::print( FILE* fout ) const
for (unsigned i = 3; i < m_config->warp_size + 3; i++)
fprintf(fout, "\tW%d:%d", i-2, shader_cycle_distro[i]);
fprintf(fout, "\n");
- fprintf(fout, "single_issue_nums:");
+ fprintf(fout, "single_issue_nums: ");
for (unsigned i = 0; i < m_config->gpgpu_num_sched_per_core; i++)
fprintf(fout, "WS%d:%d\t", i, single_issue_nums[i]);
fprintf(fout, "\n");
- fprintf(fout, "dual_issue_nums:");
+ fprintf(fout, "dual_issue_nums: ");
for (unsigned i = 0; i < m_config->gpgpu_num_sched_per_core; i++)
fprintf(fout, "WS%d:%d\t", i, dual_issue_nums[i]);
fprintf(fout, "\n");
@@ -911,8 +911,8 @@ void scheduler_unit::cycle()
ready_inst = true;
const active_mask_t &active_mask = m_simt_stack[warp_id]->get_active_mask();
assert( warp(warp_id).inst_in_pipeline() );
- if( m_mem_out->has_free() && (!diff_exec_units || previous_issued_inst_exec_type != exec_unit_type_t::MEM)) {
- if( m_mem_out->has_free() ) {
+ if ( (pI->op == LOAD_OP) || (pI->op == STORE_OP) || (pI->op == MEMORY_BARRIER_OP) ) {
+ if( m_mem_out->has_free() && (!diff_exec_units || previous_issued_inst_exec_type != exec_unit_type_t::MEM)) {
m_shader->issue_warp(*m_mem_out,pI,active_mask,warp_id);
issued++;
issued_inst=true;