Hi Juan,

There is probably something from with a configuration script somewhere
that tries to set the interleaving match bits to start at bit 256.
PyBind enforces that the value is small enough to fit in the target C++
type (uint8_t), which 256 clearly doesn't. This is why you get the
somewhat cryptic error message. I'm not familiar enough with Garnet/Ruby
to help you with the configuration scripts though.

Cheers,
Andreas


On 13/06/2017 09:22, JUAN JOSE GARCIA-CASTRO CRESPO wrote:
I'm trying to launch simulations with more than 256 cores, this is my
simulation parameters and the output:

./build/NULL/gem5.opt configs/example/garnet_synth_traffic.py
--num-cpus=512 --num-dirs=512 --mem-size=8192MB --network=garnet2.0
--topology=Mesh_XY --mesh-rows=1 --sim-cycles=1000
--synthetic=uniform_random --injectionrate=0.01

The output (crash) after initialization and so on:

Traceback (most recent call last):
   File "<string>", line 1, in <module>
   File "/home/jjgcc/dev/gem5/src/python/m5/main.py", line 437, in main
     exec filecode in scope
   File "configs/example/garnet_synth_traffic.py", line 152, in <module>
     m5.instantiate()
   File "/home/jjgcc/dev/gem5/src/python/m5/simulate.py", line 115, in
instantiate
     for obj in root.descendants(): obj.createCCObject()
   File "/home/jjgcc/dev/gem5/src/python/m5/SimObject.py", line 1463, in
createCCObject
     self.getCCParams()
   File "/home/jjgcc/dev/gem5/src/python/m5/SimObject.py", line 1411, in
getCCParams
     value = value.getValue()
   File "/home/jjgcc/dev/gem5/src/python/m5/params.py", line 245, in getValue
     return [ v.getValue() for v in self ]
   File "/home/jjgcc/dev/gem5/src/python/m5/SimObject.py", line 1467, in
getValue
     return self.getCCObject()
   File "/home/jjgcc/dev/gem5/src/python/m5/SimObject.py", line 1445, in
getCCObject
     params = self.getCCParams()
   File "/home/jjgcc/dev/gem5/src/python/m5/SimObject.py", line 1411, in
getCCParams
     value = value.getValue()
   File "/home/jjgcc/dev/gem5/src/python/m5/params.py", line 801, in getValue
     int(self.intlvBits), int(self.intlvMatch))
TypeError: __init__(): incompatible constructor arguments. The following
argument types are supported:
     1. _m5.range.AddrRange()
     2. _m5.range.AddrRange(arg0: int, arg1: int)
     3. _m5.range.AddrRange(arg0: std::vector<AddrRange,
std::allocator<AddrRange> >)
     4. _m5.range.AddrRange(arg0: int, arg1: int, arg2: int, arg3: int,
arg4: int, arg5: int)

Invoked with: 0L, 8589934591L, 14, 28, 9, 256

Looks like something with interleaving address ranges is wrong, I've
followed the wiki to build in Garnet standalone mode and I'm using the
example script with no modifications at all. All I've changed is the
--num-cpus=512, --num-dirs=512 and --mem-size=8192 command line options to
simulate a network of 512 cpus.

Does anyone have any idea about what is going on here? Is there any way to
disable interleaving address ranges?
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to