diff options
| author | Rodrigo Huerta <[email protected]> | 2022-02-25 10:33:46 +0000 |
|---|---|---|
| committer | Rodrigo Huerta <[email protected]> | 2022-02-25 10:33:46 +0000 |
| commit | da6a16a990a007edb7a760a2eb5b9b48ccc06e4c (patch) | |
| tree | 3965baac422b5aaad53b8759721af1dae580b3e1 /src | |
| parent | 90ec3399763d7c8512cfe7dc193473086c38ca38 (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.cc | 6 |
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; |
