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