diff options
| author | Davit Grigoryan <[email protected]> | 2026-04-23 07:34:57 +0000 |
|---|---|---|
| committer | Davit Grigoryan <[email protected]> | 2026-04-23 07:34:57 +0000 |
| commit | 3b2306b471ea0b92fc07ebef54f8f261d9c55a29 (patch) | |
| tree | 2503bf8109e8a37cb01ed60fdfb507ecdd215f26 /src/gpgpu-sim/mem_fetch.cc | |
| parent | 84ec3a171c138e35a22ff6bf90960b7f4112593f (diff) | |
co-issue global mem requests
Diffstat (limited to 'src/gpgpu-sim/mem_fetch.cc')
| -rw-r--r-- | src/gpgpu-sim/mem_fetch.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gpgpu-sim/mem_fetch.cc b/src/gpgpu-sim/mem_fetch.cc index 809c920..e171d9e 100644 --- a/src/gpgpu-sim/mem_fetch.cc +++ b/src/gpgpu-sim/mem_fetch.cc @@ -46,7 +46,12 @@ mem_fetch::mem_fetch(const mem_access_t &access, const warp_inst_t *inst, m_access = access; if (inst) { m_inst = *inst; - assert(wid == m_inst.warp_id()); + // Sanity: the stamped wid matches the inst's warp_id, UNLESS this is a + // MEM co-issue transaction where the access carries an override source + // warp_id. In that case m_inst is a copy of the composite (whose + // warp_id is the primary) but wid is the originating warp. + assert(wid == m_inst.warp_id() || + access.get_source_wid() != (unsigned)-1); } m_streamID = streamID; m_data_size = access.get_size(); |
