diff options
| author | Jin Wang <[email protected]> | 2014-11-13 18:47:03 -0500 |
|---|---|---|
| committer | Jin Wang <[email protected]> | 2016-07-06 02:17:14 -0400 |
| commit | 69bb1082de9df29d1d7b40486301049767e607b0 (patch) | |
| tree | 4af4d3d7f5f2a6c336d377da64d7142b038214a5 /src/gpgpu-sim/gpu-sim.cc | |
| parent | 3321626d5e858df8e2154bf4e7a1bacda76658e7 (diff) | |
BUG: for concurrent kernels on same shader, should select kernel from the distributor directly
Diffstat (limited to 'src/gpgpu-sim/gpu-sim.cc')
| -rw-r--r-- | src/gpgpu-sim/gpu-sim.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gpgpu-sim/gpu-sim.cc b/src/gpgpu-sim/gpu-sim.cc index 8a5d581..10c4ccf 100644 --- a/src/gpgpu-sim/gpu-sim.cc +++ b/src/gpgpu-sim/gpu-sim.cc @@ -523,6 +523,10 @@ bool gpgpu_sim::get_more_cta_left() const kernel_info_t *gpgpu_sim::select_kernel() { + if(m_running_kernels[m_last_issued_kernel] && + !m_running_kernels[m_last_issued_kernel]->no_more_ctas_to_run()) + return m_running_kernels[m_last_issued_kernel]; + for(unsigned n=0; n < m_running_kernels.size(); n++ ) { unsigned idx = (n+m_last_issued_kernel+1)%m_config.max_concurrent_kernel; if( kernel_more_cta_left(m_running_kernels[idx]) ){ |
