summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRodrigo Huerta <[email protected]>2022-02-25 10:33:46 +0000
committerRodrigo Huerta <[email protected]>2022-02-25 10:33:46 +0000
commitda6a16a990a007edb7a760a2eb5b9b48ccc06e4c (patch)
tree3965baac422b5aaad53b8759721af1dae580b3e1 /src
parent90ec3399763d7c8512cfe7dc193473086c38ca38 (diff)
Fixed old bug that happens when there are different latencies to the same execution unit
Diffstat (limited to 'src')
-rw-r--r--src/gpgpu-sim/shader.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gpgpu-sim/shader.cc b/src/gpgpu-sim/shader.cc
index c6e7b8f..90bb900 100644
--- a/src/gpgpu-sim/shader.cc
+++ b/src/gpgpu-sim/shader.cc
@@ -2294,8 +2294,10 @@ void pipelined_simd_unit::cycle() {
if (!m_dispatch_reg->dispatch_delay()) {
int start_stage =
m_dispatch_reg->latency - m_dispatch_reg->initiation_interval;
- move_warp(m_pipeline_reg[start_stage], m_dispatch_reg);
- active_insts_in_pipeline++;
+ if(m_pipeline_reg[start_stage]->empty()) {
+ move_warp(m_pipeline_reg[start_stage], m_dispatch_reg);
+ active_insts_in_pipeline++;
+ }
}
}
occupied >>= 1;