diff options
| author | Inderpreet Singh <[email protected]> | 2012-05-02 15:01:27 -0800 |
|---|---|---|
| committer | Andrew Boktor <[email protected]> | 2014-08-14 13:19:06 -0700 |
| commit | 1a87b8b9b72e49b672b01312280a273f38430c31 (patch) | |
| tree | 800260169072f13f6031e0798c6b6913d7ca676b /src | |
| parent | 6bd512ea5b8cc098903fcb2dd802e652bbed2cb4 (diff) | |
Integrated in CL12250 from coherence branch - fix for atomic payload bug (see Bug #133)
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12257]
Diffstat (limited to 'src')
| -rw-r--r-- | src/gpgpu-sim/shader.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gpgpu-sim/shader.cc b/src/gpgpu-sim/shader.cc index f02e204..91ea72e 100644 --- a/src/gpgpu-sim/shader.cc +++ b/src/gpgpu-sim/shader.cc @@ -868,7 +868,7 @@ bool ldst_unit::memory_cycle( warp_inst_t &inst, mem_stage_stall_type &stall_rea if( CACHE_GLOBAL == inst.cache_op || (m_L1D == NULL) ) { // bypass L1 cache - if( m_icnt->full(size, inst.is_store()) ) { + if( m_icnt->full(size, inst.is_store() || inst.isatomic()) ) { stall_cond = ICNT_RC_FAIL; } else { mem_fetch *mf = m_mf_allocator->alloc(inst,access); @@ -2251,7 +2251,7 @@ void simt_core_cluster::icnt_inject_request_packet(class mem_fetch *mf) } unsigned destination = mf->get_tlx_addr().chip; mf->set_status(IN_ICNT_TO_MEM,gpu_sim_cycle+gpu_tot_sim_cycle); - if (!mf->get_is_write()) + if (!mf->get_is_write() && !mf->isatomic()) ::icnt_push(m_cluster_id, m_config->mem2device(destination), (void*)mf, mf->get_ctrl_size() ); else ::icnt_push(m_cluster_id, m_config->mem2device(destination), (void*)mf, mf->size()); |
