Hi Tsung, In general this error happens when a memory request is trying to issue a request that spans multiple cache lines. From the line you included, it appears that this is the case. I thought I'd added the appropriate support for uncoalesced accesses that should resolve this problem, but it's possible you're hitting a new corner case that I didn't think of. I need some more information from you though:
- What application is this happening for? - What input for that application? - Is this error happening in a GPU kernel? If so, can you trace the request a bit further to see if the ReadReq is actually an atomic request? I recently added a fix for atomic requests that are uncoalesced in GCN3, and it's possible that this commit is just not pushed to the public staging branch yet. Thanks, Matt On Mon, Aug 13, 2018 at 1:20 PM, Tsungtai Yeh <[email protected]> wrote: > The following debug trace tells us the "getOffset(pkt->getAddr()) + > pkt->getSize() <= RubySystem::getBlockSizeBytes()". Why does this > exception happen? Do you give me some hints I can continue to dig in this > error? Thank you. > > > 1428070516000: system.ruby.tcp_cntrl2.coalescer.slave0: > MemSlavePort::recvTimingReq: pkt->getAddr:#20f5c3d, getOffset:#61, > BlockSize:64, pkt->getSize:4, print:ReadReq [20f5c3d:20f5c40] > > > gem5.opt: build/GCN3_X86/mem/ruby/system/RubyPort.cc:294: virtual bool > RubyPort::MemSlavePort::recvTimingReq(PacketPtr): Assertion > `getOffset(pkt->getAddr()) + pkt->getSize() <= > RubySystem::getBlockSizeBytes()' failed. > _______________________________________________ > gem5-dev mailing list > [email protected] > http://m5sim.org/mailman/listinfo/gem5-dev _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
