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
[email protected]
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
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev