Config file for simulating heterogeneous architecture

12 views
Skip to first unread message

Ankita (Garg) Goel

unread,
Nov 11, 2011, 11:37:48 AM11/11/11
to MV5sim
Hi,

I have created a config file to create a heterogeneous architecture consisting of SIMD and OOO cores. It is derived from 2 already existing config files under configs/fractal. I am attaching the files here for reference.

When I run the simulation using the following command, I hit an assertion.

build/ALPHA_SE/m5.opt configs/fractal/config_hetero_gpu.py --detailed --rootdir=. --bindir=./api/binsimd_blocktask/ --simd=True --wkCpuFrequency=2.00GHz --ctrlCpuFrequency=2.00GHz --DcacheAssoc=16 --DcacheBanks=4 --DcacheBlkSize=32 --DcacheHWPFdegree=1 --DcacheHWPFpolicy=none --DcacheLookupLatency=2ns --DcachePropagateLatency=2ns --DcacheSize=16kB --IcacheAssoc=4 --IcacheBlkSize=32 --IcacheHWPFdegree=1 --IcacheHWPFpolicy=none --IcacheSize=16kB --L2NetBandWidthMbps=456000 --L2NetFrequency=300MHz --L2NetPortOutQueueLength=4 --L2NetRouterBufferSize=256 --L2NetRoutingLatency=1ns --L2NetTimeOfFlight=13t --L2NetType=FullyNoC --L2NetWormHole=True --MemNetBandWidthMbps=128000 --MemNetFrequency=266MHz --MemNetPortOutQueueLength=4 --MemNetRouterBufferSize=2048 --MemNetTimeOfFlight=130t --benchmark=HOTSPOT --l2wkAssoc=16 --l2wkBanks=16 --l2wkBlkSize=128 --l2wkHWPFDataOnly=False --l2wkHWPFdegree=1 --l2wkHWPFpolicy=none --l2wkMSHRs=64 --l2wkSize=4096kB --l2wkTgtsPerMSHR=32 --l2wklookupLatency=2ns --l2wkpropagateLatency=12ns --l2wktol1ratio=2 --localAddrPolicy=1 --maxThreadBlockSize=0 --numHWTCs=16 --numSWTCs=2 --numcpus=4 --physmemLatency=50ns --physmemSize=2048MB --portLookup=0 --restoreContextDelay=0 --retryDcacheDelay=10 --stackAlloc=3 --switchOnDataAcc=True --warpSize=8 --protocol=mesi


Any idea what could be going on ? I tried different values for --protocol. Thanks a lot for your help!

--
Regards,
Ankita


config_hetero_gpu.py
frCommons_hetero.py

Ankita (Garg) Goel

unread,
Nov 11, 2011, 12:15:51 PM11/11/11
to MV5sim
This is the assert failure:

m5.opt: build/ALPHA_SE/mem/cache/dirbased/protocols/locmsi/blk_state.cc:817: virtual int LocMSIBlkState::Invalid_SpillLocal::executeFromMemSide(Packet*, BaseDirCohCache*, CacheBlk*, Tick): Assertion `false' failed.
Program aborted at cycle 883544745758
./cmd: line 5: 15394 Aborted                 build/ALPHA_SE/m5.opt configs/fractal/config_hetero_gpu.py --detailed --rootdir=. --bindir=./api/binsimd_blocktask/ --simd=True --wkCpuFrequency=2.00GHz --ctrlCpuFrequency=2.00GHz --DcacheAssoc=16 --DcacheBanks=4 --DcacheBlkSize=32 --DcacheHWPFdegree=1 --DcacheHWPFpolicy=none --DcacheLookupLatency=2ns --DcachePropagateLatency=2ns --DcacheSize=16kB --IcacheAssoc=4 --IcacheBlkSize=32 --IcacheHWPFdegree=1 --IcacheHWPFpolicy=none --IcacheSize=16kB --L2NetBandWidthMbps=456000 --L2NetFrequency=300MHz --L2NetPortOutQueueLength=4 --L2NetRouterBufferSize=256 --L2NetRoutingLatency=1ns --L2NetTimeOfFlight=13t --L2NetType=FullyNoC --L2NetWormHole=True --MemNetBandWidthMbps=128000 --MemNetFrequency=266MHz --MemNetPortOutQueueLength=4 --MemNetRouterBufferSize=2048 --MemNetTimeOfFlight=130t --benchmark=HOTSPOT --l2wkAssoc=16 --l2wkBanks=16 --l2wkBlkSize=128 --l2wkHWPFDataOnly=False --l2wkHWPFdegree=1 --l2wkHWPFpolicy=none --l2wkMSHRs=64 --l2wkSize=4096kB --l2wkTgtsPerMSHR=32 --l2wklookupLatency=2ns --l2wkpropagateLatency=12ns --l2wktol1ratio=2 --localAddrPolicy=1 --maxThreadBlockSize=0 --numHWTCs=16 --numSWTCs=2 --numcpus=4 --physmemLatency=50ns --physmemSize=2048MB --portLookup=0 --restoreContextDelay=0 --retryDcacheDelay=10 --stackAlloc=3 --switchOnDataAcc=True --warpSize=8 --protocol=msi

Regards,
Ankita
--
Regards,
Ankita


Jiayuan Meng

unread,
Nov 12, 2011, 1:32:21 AM11/12/11
to mv5...@googlegroups.com
Hi Ankit,

It seems the simulator is unexpectedly using locMSIBlkState. If
localAddrPolicy=1 and protocol=mesi, you should end up using
LocMESIBlkState. Can you run pdb.set_trace in frCommons_hetero.py to
see if directory_protocol and block_protocol are set appropriately
(does not fall into any branch that set them to LocMSI)?

Another thing to try is modifying the example file incrementally, so
you know right away when something goes wrong.

Jiayuan

On Fri, Nov 11, 2011 at 11:15 AM, Ankita (Garg) Goel

Jiayuan Meng

unread,
Nov 12, 2011, 1:36:16 AM11/12/11
to mv5...@googlegroups.com
Another thing to try is to set localAddrPolicy to 0 instead of one,
and then the simulator should use MESI.

Jiayuan

Reply all
Reply to author
Forward
0 new messages