summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/mem_fetch.cc
diff options
context:
space:
mode:
authorDavit Grigoryan <[email protected]>2026-04-23 07:34:57 +0000
committerDavit Grigoryan <[email protected]>2026-04-23 07:34:57 +0000
commit3b2306b471ea0b92fc07ebef54f8f261d9c55a29 (patch)
tree2503bf8109e8a37cb01ed60fdfb507ecdd215f26 /src/gpgpu-sim/mem_fetch.cc
parent84ec3a171c138e35a22ff6bf90960b7f4112593f (diff)
co-issue global mem requests
Diffstat (limited to 'src/gpgpu-sim/mem_fetch.cc')
-rw-r--r--src/gpgpu-sim/mem_fetch.cc7
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();