diff options
| author | Tim Rogers <[email protected]> | 2011-10-27 17:12:10 -0800 |
|---|---|---|
| committer | Andrew Boktor <[email protected]> | 2014-08-14 13:18:24 -0700 |
| commit | 0921d949dbb6233b8482b1fee90cfcc4ab2d0764 (patch) | |
| tree | 51433f52f8d2a4d70ad0821995027b8e05d31d03 /src/gpgpu-sim | |
| parent | e11f8a1d3deb7dcb1b5dbef06dcc994436ff98c1 (diff) | |
Actually fixing the atomic bug
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 10756]
Diffstat (limited to 'src/gpgpu-sim')
| -rw-r--r-- | src/gpgpu-sim/mem_fetch.h | 1 | ||||
| -rw-r--r-- | src/gpgpu-sim/shader.cc | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/gpgpu-sim/mem_fetch.h b/src/gpgpu-sim/mem_fetch.h index 369ea33..cc3147c 100644 --- a/src/gpgpu-sim/mem_fetch.h +++ b/src/gpgpu-sim/mem_fetch.h @@ -118,6 +118,7 @@ public: unsigned get_icnt_receive_time() const { return m_icnt_receive_time; } enum mem_access_type get_access_type() const { return m_access.get_type(); } + const active_mask_t& get_access_warp_mask() const { return m_access.get_warp_mask(); } address_type get_pc() const { return m_inst.empty()?-1:m_inst.pc; } const warp_inst_t &get_inst() { return m_inst; } enum mem_fetch_status get_status() const { return m_status; } diff --git a/src/gpgpu-sim/shader.cc b/src/gpgpu-sim/shader.cc index 50ad5ea..4ce7536 100644 --- a/src/gpgpu-sim/shader.cc +++ b/src/gpgpu-sim/shader.cc @@ -1132,7 +1132,7 @@ void ldst_unit::writeback() if( m_next_global ) { m_next_wb = m_next_global->get_inst(); if( m_next_global->isatomic() ) - m_core->decrement_atomic_count(m_next_global->get_wid(),m_next_wb.active_count()); + m_core->decrement_atomic_count(m_next_global->get_wid(),m_next_global->get_access_warp_mask().count()); delete m_next_global; m_next_global = NULL; } |
