Discussion:
[gem5-dev] Review Request: Garnet: Stats at vnet granularity + code cleanup
(too old to reply)
Tushar Krishna
2012-05-08 19:08:50 UTC
Permalink
Hi Juyoung,
In future pls send the emails directly on gem5-users so that others who experienced similar problems can help out as well?
I am cc:ing gem5-users


I just pulled out the latest version of gem5 and ran this exact command and it worked fine.
Are you getting this error only with ruby and garnet and this particular protocol?

It seems to me that it might be some C++ version issue etc …

Can you test it with another protocol too, without garnet.
Eg:

scons build/ALPHA_MOESI_hammer/gem5.debug

./build/ALPHA_MOESI_hammer/gem5.debug configs/example/ruby_random_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 -l 1000

[The -l command in ruby_random_test specifies the number of cycles to inject].

- Tushar
Hi Tushar,
I am trying to run Garnet simulator with gem5 following the documentation found at http://www.gem5.org/Networktest. However, in my case, it failed to running as it stand, even if other setup conditions have been met. I tested both the most recent stable and dev gem5, and the same problem happened. The followings are errors and warnings which I ran into.
#> ./build/ALPHA_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 compiled May 8 2012 12:20:15
gem5 started May 8 2012 13:15:56
gem5 executing on panther
command line: ./build/ALPHA_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
Global frequency set at 1000000000 ticks per second
File "<string>", line 1, in <module>
File "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/main.py", line 357, in main
exec filecode in scope
File "./configs/example/ruby_network_test.py", line 131, in <module>
m5.instantiate()
File "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/simulate.py", line 90, in instantiate
for obj in root.descendants(): obj.createCCObject()
File "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/SimObject.py", line 1035, in createCCObject
self.getCCParams()
File "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/SimObject.py", line 994, in getCCParams
setattr(cc_params, param, value)
SystemError: NULL result without error in PyObject_Call
Segmentation fault
I am not sure but it seems to have a problem in setting C++ object's attribute.
Even if I found some port-related issues posted by Pavan Poluri from old mailing archive, this problem is likely related to more recent changes in either Ruby, Garnet, or both.
Could you give me a hint how I can resolve the problem?
Thanks.
Regards,
Juyoung
Juyoung Jung
2012-05-08 21:31:34 UTC
Permalink
Hi Tushar,

Thanks for your quick reply.
I was able to run the simulation with ruby_random_test.py +
ALPHA_MOESI_hammer protocol without any error. At a glance, I thought the
protocol used was a problem. However, after more tests, I found that the
simulation failed with option to invoke garnet-network as like:
* ./build/ALPHA_Network_test/gem5.debug
./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4
--topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01
--synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed*
Meanwhile, it worked fine if I drop the option "--garnet-nework=fixed" off
the command like:
* ./build/ALPHA_Network_test/gem5.debug
./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4
--topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01
--synthetic=0 --fixed-pkts --maxpackets=1*

Based on this observation, I wonder if you succeed in running a simulation
with configs/example/ruby_network_test.py, especially invoking garnet
network. I tested the ruby network tester with both g++ 4.3.2 and g++
4.6.1, and checked with different garnet mode (i.e. flexible) as well. They
had the same result "failure" (please see previous email). If you think
this is related to c++ version issue, could you tell me which version of
c++ you are using on your platform? (including other packages' version such
as swig/python/zlib/m4 if possible).

Can you give me more comment on this garnet invocation issue?
Thanks.


- Juyoung
Post by Tushar Krishna
Hi Juyoung,
In future pls send the emails directly on gem5-users so that others who
experienced similar problems can help out as well?
I am cc:ing gem5-users
I just pulled out the latest version of gem5 and ran this exact command and it worked fine.
Are you getting this error only with ruby and garnet and this particular protocol?
It seems to me that it might be some C++ version issue etc …
Can you test it with another protocol too, without garnet.
scons build/ALPHA_MOESI_hammer/gem5.debug
./build/ALPHA_MOESI_hammer/gem5.debug configs/example/ruby_random_test.py
--num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 -l 1000
[The -l command in ruby_random_test specifies the number of cycles to inject].
- Tushar
Hi Tushar,
I am trying to run Garnet simulator with gem5 following the documentation
found at http://www.gem5.org/Networktest. However, in my case, it failed
to running as it stand, even if other setup conditions have been met. I
tested both the most recent stable and dev gem5, and the same problem
happened. The followings are errors and warnings which I ran into.
#> ./build/ALPHA_Network_test/gem5.debug
./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4
--topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01
--synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 compiled May 8 2012 12:20:15
gem5 started May 8 2012 13:15:56
gem5 executing on panther
command line: ./build/ALPHA_Network_test/gem5.debug
./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4
--topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01
--synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
Global frequency set at 1000000000 ticks per second
File "<string>", line 1, in <module>
File
"/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/main.py",
line 357, in main
exec filecode in scope
File "./configs/example/ruby_network_test.py", line 131, in <module>
m5.*instantiate()*
File
"/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/simulate.py",
line 90, in instantiate
for obj in root.descendants(): obj.*createCCObject()*
File
"/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/SimObject.py",
line 1035, in createCCObject
self.*getCCParams()*
File
"/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/SimObject.py",
line 994, in getCCParams
*setattr(cc_params, param, value)*
SystemError: NULL result without error in PyObject_Call
Segmentation fault
I am not sure but it seems to have a problem in setting C++ object's attribute.
Even if I found some port-related issues posted by Pavan Poluri from old
mailing archive, this problem is likely related to more recent changes in
either Ruby, Garnet, or both.
Could you give me a hint how I can resolve the problem?
Thanks.
Regards,
Juyoung
--
------------------------------------------------------------------------------------
Tushar Krishna
2012-05-09 00:08:03 UTC
Permalink
Yeah it works for me both with and without garnet.

Here are the versions on my machine:
g++: 4.4.5
python: 2.6.6
swig: 1.3.40
m4: 1.4.14
gzip: 1.3.12

Start with matching the python and g++ versions as you seem to be getting an error when it tries to create a garnet object in configs/ruby/Ruby.py


- Tushar
Hi Tushar,
Thanks for your quick reply.
./build/ALPHA_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
./build/ALPHA_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1
Based on this observation, I wonder if you succeed in running a simulation with configs/example/ruby_network_test.py, especially invoking garnet network. I tested the ruby network tester with both g++ 4.3.2 and g++ 4.6.1, and checked with different garnet mode (i.e. flexible) as well. They had the same result "failure" (please see previous email). If you think this is related to c++ version issue, could you tell me which version of c++ you are using on your platform? (including other packages' version such as swig/python/zlib/m4 if possible).
Can you give me more comment on this garnet invocation issue?
Thanks.
- Juyoung
Hi Juyoung,
In future pls send the emails directly on gem5-users so that others who experienced similar problems can help out as well?
I am cc:ing gem5-users
I just pulled out the latest version of gem5 and ran this exact command and it worked fine.
Are you getting this error only with ruby and garnet and this particular protocol?
It seems to me that it might be some C++ version issue etc …
Can you test it with another protocol too, without garnet.
scons build/ALPHA_MOESI_hammer/gem5.debug
./build/ALPHA_MOESI_hammer/gem5.debug configs/example/ruby_random_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 -l 1000
[The -l command in ruby_random_test specifies the number of cycles to inject].
- Tushar
Hi Tushar,
I am trying to run Garnet simulator with gem5 following the documentation found at http://www.gem5.org/Networktest. However, in my case, it failed to running as it stand, even if other setup conditions have been met. I tested both the most recent stable and dev gem5, and the same problem happened. The followings are errors and warnings which I ran into.
#> ./build/ALPHA_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 compiled May 8 2012 12:20:15
gem5 started May 8 2012 13:15:56
gem5 executing on panther
command line: ./build/ALPHA_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
Global frequency set at 1000000000 ticks per second
File "<string>", line 1, in <module>
File "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/main.py", line 357, in main
exec filecode in scope
File "./configs/example/ruby_network_test.py", line 131, in <module>
m5.instantiate()
File "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/simulate.py", line 90, in instantiate
for obj in root.descendants(): obj.createCCObject()
File "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/SimObject.py", line 1035, in createCCObject
self.getCCParams()
File "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/SimObject.py", line 994, in getCCParams
setattr(cc_params, param, value)
SystemError: NULL result without error in PyObject_Call
Segmentation fault
I am not sure but it seems to have a problem in setting C++ object's attribute.
Even if I found some port-related issues posted by Pavan Poluri from old mailing archive, this problem is likely related to more recent changes in either Ruby, Garnet, or both.
Could you give me a hint how I can resolve the problem?
Thanks.
Regards,
Juyoung
--
------------------------------------------------------------------------------------
Juyoung Jung
2012-05-09 00:21:29 UTC
Permalink
Hi Tushar.

I will try to perform the same process with the given version of packages.
Thanks

Regards,

Juyoung
Post by Tushar Krishna
Yeah it works for me both with and without garnet.
g++: 4.4.5
python: 2.6.6
swig: 1.3.40
m4: 1.4.14
gzip: 1.3.12
Start with matching the python and g++ versions as you seem to be getting
an error when it tries to create a garnet object in configs/ruby/Ruby.py
- Tushar
Hi Tushar,
Thanks for your quick reply.
I was able to run the simulation with ruby_random_test.py +
ALPHA_MOESI_hammer protocol without any error. At a glance, I thought the
protocol used was a problem. However, after more tests, I found that the
* ./build/ALPHA_Network_test/gem5.debug
./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4
--topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01
--synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed*
Meanwhile, it worked fine if I drop the option "--garnet-nework=fixed" off
* ./build/ALPHA_Network_test/gem5.debug
./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4
--topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01
--synthetic=0 --fixed-pkts --maxpackets=1*
Based on this observation, I wonder if you succeed in running a simulation
with configs/example/ruby_network_test.py, especially invoking garnet
network. I tested the ruby network tester with both g++ 4.3.2 and g++
4.6.1, and checked with different garnet mode (i.e. flexible) as well. They
had the same result "failure" (please see previous email). If you think
this is related to c++ version issue, could you tell me which version of
c++ you are using on your platform? (including other packages' version such
as swig/python/zlib/m4 if possible).
Can you give me more comment on this garnet invocation issue?
Thanks.
- Juyoung
Post by Tushar Krishna
Hi Juyoung,
In future pls send the emails directly on gem5-users so that others who
experienced similar problems can help out as well?
I am cc:ing gem5-users
I just pulled out the latest version of gem5 and ran this exact command
and it worked fine.
Are you getting this error only with ruby and garnet and this particular protocol?
It seems to me that it might be some C++ version issue etc …
Can you test it with another protocol too, without garnet.
scons build/ALPHA_MOESI_hammer/gem5.debug
./build/ALPHA_MOESI_hammer/gem5.debug configs/example/ruby_random_test.py
--num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 -l 1000
[The -l command in ruby_random_test specifies the number of cycles to inject].
- Tushar
Hi Tushar,
I am trying to run Garnet simulator with gem5 following the documentation
found at http://www.gem5.org/Networktest. However, in my case, it
failed to running as it stand, even if other setup conditions have been
met. I tested both the most recent stable and dev gem5, and the same
problem happened. The followings are errors and warnings which I ran into.
#> ./build/ALPHA_Network_test/gem5.debug
./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4
--topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01
--synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 compiled May 8 2012 12:20:15
gem5 started May 8 2012 13:15:56
gem5 executing on panther
command line: ./build/ALPHA_Network_test/gem5.debug
./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4
--topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01
--synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
Global frequency set at 1000000000 ticks per second
File "<string>", line 1, in <module>
File
"/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/main.py",
line 357, in main
exec filecode in scope
File "./configs/example/ruby_network_test.py", line 131, in <module>
m5.*instantiate()*
File
"/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/simulate.py",
line 90, in instantiate
for obj in root.descendants(): obj.*createCCObject()*
File
"/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/SimObject.py",
line 1035, in createCCObject
self.*getCCParams()*
File
"/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/SimObject.py",
line 994, in getCCParams
*setattr(cc_params, param, value)*
SystemError: NULL result without error in PyObject_Call
Segmentation fault
I am not sure but it seems to have a problem in setting C++ object's attribute.
Even if I found some port-related issues posted by Pavan Poluri from old
mailing archive, this problem is likely related to more recent changes in
either Ruby, Garnet, or both.
Could you give me a hint how I can resolve the problem?
Thanks.
Regards,
Juyoung
--
------------------------------------------------------------------------------------
--
------------------------------------------------------------------------------------
Tushar Krishna
2012-05-10 05:23:22 UTC
Permalink
Hi Juyoung,
Regarding the first deadlock:
The simulation actually doesn't give you anything useful since you have --fixed-pkts --maxpackets=1 which basically means that each core will only inject ONE packet whether you run it for 1000 or 1M cycles.
To run with more cycles, you should remove the --fixed-pkts options, or increase the maxpackets.
The reason why you get a deadlock error is because the tester (src/cpu/testers/networktest/networktest.cc) thinks there is a deadlock since nothing happened for the past 500K cycles.


For the second deadlock, hmm thats weird. MOESI_hammer is a pretty rigorously tested protocol.
Note that this is not a deadlock error: the error is that the cache controller received a non-existent transition request.

BTW how did you compile a ALPHA_SE_MOESI_hammer? I thought the current gem5 version has no separate SE and FS versions…
Are you using the latest version?
Can you compile as scons build/ALPHA_MOESI_hammer/gem5.debug and re-try?

cheers,
Tushar
Hi Tushar,
I installed the prerequisites having the following versions, and run the network tester.
g++: 4.4.6 (rather than 4.4.5)
python: 2.6.7 (rather than 4.4.6)
swig: 1.3.40
m4: 1.4.14
gzip: 1.3.12
The result was successful with a command
./build/ALPHA_SE_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
gem5 compiled May 9 2012 15:40:30
gem5 started May 9 2012 16:00:17
gem5 executing on cairo1
command line: ./build/ALPHA_SE_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
Global frequency set at 1000000000 ticks per second
system.cpu3: deadlocked at cycle 500015
@ cycle 500015
[tick:build/ALPHA_SE_Network_test/cpu/testers/networktest/networktest.cc, line 175]
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 compiled May 9 2012 15:54:32
gem5 started May 9 2012 16:06:42
gem5 executing on cairo1
command line: ./build/ALPHA_SE_MOESI_hammer/gem5.debug configs/example/ruby_random_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 -l 1000
Global frequency set at 1000000000 ticks per second
fatal: Invalid transition
system.l1_cntrl0 time: 330144 addr: [0x20c0, line 0x20c0] event: Flush_line state: MR
@ cycle 330144
[doTransitionWorker:build/ALPHA_SE_MOESI_hammer/mem/protocol/L1Cache_Transitions.cc, line 1132]
Memory Usage: 220192 KBytes
From these trials, I could not successfully run the network simulation even though I am able to invoke a garnet object without error in this time. I am not sure if this deadlock or invalid transition problem is also caused by slightly different development tool version. What would be the real cause of the deadlock/invalid transition between simply bad code generation and test controller's bug based on wrong protocol? How can I debug it? I would like to run the network-only simulation as like being shown in gem5 document(http://www.m5sim.org/Networktest). Let me hear your comments.
Thanks.
- Juyoung
Yeah it works for me both with and without garnet.
g++: 4.4.5
python: 2.6.6
swig: 1.3.40
m4: 1.4.14
gzip: 1.3.12
Start with matching the python and g++ versions as you seem to be getting an error when it tries to create a garnet object in configs/ruby/Ruby.py
- Tushar
Hi Tushar,
Thanks for your quick reply.
./build/ALPHA_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
./build/ALPHA_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1
Based on this observation, I wonder if you succeed in running a simulation with configs/example/ruby_network_test.py, especially invoking garnet network. I tested the ruby network tester with both g++ 4.3.2 and g++ 4.6.1, and checked with different garnet mode (i.e. flexible) as well. They had the same result "failure" (please see previous email). If you think this is related to c++ version issue, could you tell me which version of c++ you are using on your platform? (including other packages' version such as swig/python/zlib/m4 if possible).
Can you give me more comment on this garnet invocation issue?
Thanks.
- Juyoung
Hi Juyoung,
In future pls send the emails directly on gem5-users so that others who experienced similar problems can help out as well?
I am cc:ing gem5-users
I just pulled out the latest version of gem5 and ran this exact command and it worked fine.
Are you getting this error only with ruby and garnet and this particular protocol?
It seems to me that it might be some C++ version issue etc …
Can you test it with another protocol too, without garnet.
scons build/ALPHA_MOESI_hammer/gem5.debug
./build/ALPHA_MOESI_hammer/gem5.debug configs/example/ruby_random_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 -l 1000
[The -l command in ruby_random_test specifies the number of cycles to inject].
- Tushar
Hi Tushar,
I am trying to run Garnet simulator with gem5 following the documentation found at http://www.gem5.org/Networktest. However, in my case, it failed to running as it stand, even if other setup conditions have been met. I tested both the most recent stable and dev gem5, and the same problem happened. The followings are errors and warnings which I ran into.
#> ./build/ALPHA_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 compiled May 8 2012 12:20:15
gem5 started May 8 2012 13:15:56
gem5 executing on panther
command line: ./build/ALPHA_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
Global frequency set at 1000000000 ticks per second
File "<string>", line 1, in <module>
File "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/main.py", line 357, in main
exec filecode in scope
File "./configs/example/ruby_network_test.py", line 131, in <module>
m5.instantiate()
File "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/simulate.py", line 90, in instantiate
for obj in root.descendants(): obj.createCCObject()
File "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/SimObject.py", line 1035, in createCCObject
self.getCCParams()
File "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/SimObject.py", line 994, in getCCParams
setattr(cc_params, param, value)
SystemError: NULL result without error in PyObject_Call
Segmentation fault
I am not sure but it seems to have a problem in setting C++ object's attribute.
Even if I found some port-related issues posted by Pavan Poluri from old mailing archive, this problem is likely related to more recent changes in either Ruby, Garnet, or both.
Could you give me a hint how I can resolve the problem?
Thanks.
Regards,
Juyoung
--
------------------------------------------------------------------------------------
--
------------------------------------------------------------------------------------
Juyoung Jung
2012-05-10 18:28:26 UTC
Permalink
Hi Tushar,

Oh..it's my shame !!! Yes, the network-only simulation works fine after
removing the options. Thank you for your point.

As for ALPHA_SE_MOESI_hammer, the problematic protocol state should not
have been generated withe the protocol, according to the state diagram in
document page. That is why I wonder.
Anyway, I downloaded the recent *stable version of gem5* called *gem5-stable
* by running *hg clone http://repo.gem5.org/gem5-stable, and *the simulator
package's build_opts directory showed me that there was a
ALPHA_SE_MOESI_hammer. Thus, I compiled the gem5 binary by executing "scons
build/ALPHA_SE_MOESI_hammer". This is the process that I did so as to get
the binary. I guess the problem is only related to gem5-stable version,
because I am able to run the same command with gem5 (development version).
Can you perform the regression test for the protocol with gem5-stable in
your side?
Thanks.

Regards,

Juyoung
Post by Tushar Krishna
Hi Juyoung,
The simulation actually doesn't give you anything useful since you have
--fixed-pkts --maxpackets=1 which basically means that each core will only
inject ONE packet whether you run it for 1000 or 1M cycles.
To run with more cycles, you should remove the --fixed-pkts options, or
increase the maxpackets.
The reason why you get a deadlock error is because the tester
(src/cpu/testers/networktest/networktest.cc) thinks there is a deadlock
since nothing happened for the past 500K cycles.
For the second deadlock, hmm thats weird. MOESI_hammer is a pretty
rigorously tested protocol.
Note that this is not a deadlock error: the error is that the cache
controller received a non-existent transition request.
BTW how did you compile a ALPHA_SE_MOESI_hammer? I thought the current
gem5 version has no separate SE and FS versions…
Are you using the latest version?
Can you compile as scons build/ALPHA_MOESI_hammer/gem5.debug and re-try?
cheers,
Tushar
Hi Tushar,
I installed the prerequisites having the following versions, and run the network tester.
g++: 4.4.6 (rather than 4.4.5)
python: 2.6.7 (rather than 4.4.6)
swig: 1.3.40
m4: 1.4.14
gzip: 1.3.12
The result was successful with a command
./build/ALPHA_SE_Network_test/gem5.debug
./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4
--topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01
--synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
However, when I increased the simulation cycles up to 1M, it exited with
gem5 compiled May 9 2012 15:40:30
gem5 started May 9 2012 16:00:17
gem5 executing on cairo1
command line: ./build/ALPHA_SE_Network_test/gem5.debug
./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4
--topology=Mesh --mesh-rows=2 *--sim-cycles=1000000* --injectionrate=0.01
--synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
Global frequency set at 1000000000 ticks per second
system.cpu3: deadlocked at cycle 500015
@ cycle 500015
[tick:build/ALPHA_SE_Network_test/cpu/testers/networktest/networktest.cc, line 175]
The same deadlock situation occurred with hammer protocol at even earlier
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 compiled May 9 2012 15:54:32
gem5 started May 9 2012 16:06:42
gem5 executing on cairo1
command line: ./build/ALPHA_SE_MOESI_hammer/gem5.debug
configs/example/ruby_random_test.py --num-cpus=4 --num-dirs=4
--topology=Mesh --mesh-rows=2 *-l 1000*
Global frequency set at 1000000000 ticks per second
fatal: Invalid transition
system.l1_cntrl0 time: 330144 addr: [0x20c0, line 0x20c0] event: Flush_line state: MR
@ cycle 330144
[doTransitionWorker:build/ALPHA_SE_MOESI_hammer/mem/protocol/L1Cache_Transitions.cc,
line 1132]
Memory Usage: 220192 KBytes
From these trials, I could not successfully run the network simulation
even though I am able to invoke a garnet object without error in this time.
I am not sure if this deadlock or invalid transition problem is also caused
by slightly different development tool version. What would be the real
cause of the deadlock/invalid transition between simply bad code generation
and test controller's bug based on wrong protocol? How can I debug it? I
would like to run the network-only simulation as like being shown in gem5
document(http://www.m5sim.org/Networktest). Let me hear your comments.
Thanks.
- Juyoung
Post by Tushar Krishna
Yeah it works for me both with and without garnet.
g++: 4.4.5
python: 2.6.6
swig: 1.3.40
m4: 1.4.14
gzip: 1.3.12
Start with matching the python and g++ versions as you seem to be getting
an error when it tries to create a garnet object in configs/ruby/Ruby.py
- Tushar
Hi Tushar,
Thanks for your quick reply.
I was able to run the simulation with ruby_random_test.py +
ALPHA_MOESI_hammer protocol without any error. At a glance, I thought the
protocol used was a problem. However, after more tests, I found that the
* ./build/ALPHA_Network_test/gem5.debug
./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4
--topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01
--synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed*
Meanwhile, it worked fine if I drop the option "--garnet-nework=fixed"
* ./build/ALPHA_Network_test/gem5.debug
./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4
--topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01
--synthetic=0 --fixed-pkts --maxpackets=1*
Based on this observation, I wonder if you succeed in running a
simulation with configs/example/ruby_network_test.py, especially invoking
garnet network. I tested the ruby network tester with both g++ 4.3.2 and
g++ 4.6.1, and checked with different garnet mode (i.e. flexible) as well.
They had the same result "failure" (please see previous email). If you
think this is related to c++ version issue, could you tell me which version
of c++ you are using on your platform? (including other packages' version
such as swig/python/zlib/m4 if possible).
Can you give me more comment on this garnet invocation issue?
Thanks.
- Juyoung
Post by Tushar Krishna
Hi Juyoung,
In future pls send the emails directly on gem5-users so that others who
experienced similar problems can help out as well?
I am cc:ing gem5-users
I just pulled out the latest version of gem5 and ran this exact command
and it worked fine.
Are you getting this error only with ruby and garnet and this particular protocol?
It seems to me that it might be some C++ version issue etc …
Can you test it with another protocol too, without garnet.
scons build/ALPHA_MOESI_hammer/gem5.debug
./build/ALPHA_MOESI_hammer/gem5.debug
configs/example/ruby_random_test.py --num-cpus=4 --num-dirs=4
--topology=Mesh --mesh-rows=2 -l 1000
[The -l command in ruby_random_test specifies the number of cycles to inject].
- Tushar
Hi Tushar,
I am trying to run Garnet simulator with gem5 following the
documentation found at http://www.gem5.org/Networktest. However, in my
case, it failed to running as it stand, even if other setup conditions have
been met. I tested both the most recent stable and dev gem5, and the same
problem happened. The followings are errors and warnings which I ran into.
#> ./build/ALPHA_Network_test/gem5.debug
./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4
--topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01
--synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 compiled May 8 2012 12:20:15
gem5 started May 8 2012 13:15:56
gem5 executing on panther
command line: ./build/ALPHA_Network_test/gem5.debug
./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4
--topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01
--synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
Global frequency set at 1000000000 ticks per second
File "<string>", line 1, in <module>
File
"/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/main.py",
line 357, in main
exec filecode in scope
File "./configs/example/ruby_network_test.py", line 131, in <module>
m5.*instantiate()*
File
"/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/simulate.py",
line 90, in instantiate
for obj in root.descendants(): obj.*createCCObject()*
File
"/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/SimObject.py",
line 1035, in createCCObject
self.*getCCParams()*
File
"/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/SimObject.py",
line 994, in getCCParams
*setattr(cc_params, param, value)*
SystemError: NULL result without error in PyObject_Call
Segmentation fault
I am not sure but it seems to have a problem in setting C++ object's attribute.
Even if I found some port-related issues posted by Pavan Poluri from old
mailing archive, this problem is likely related to more recent changes in
either Ruby, Garnet, or both.
Could you give me a hint how I can resolve the problem?
Thanks.
Regards,
Juyoung
--
------------------------------------------------------------------------------------
--
------------------------------------------------------------------------------------
--
------------------------------------------------------------------------------------
Tushar Krishna
2012-05-10 19:08:07 UTC
Permalink
Hi Juyoung,
Yeah just use the dev version then.

- Tushar
Hi Tushar,
Oh..it's my shame !!! Yes, the network-only simulation works fine after removing the options. Thank you for your point.
As for ALPHA_SE_MOESI_hammer, the problematic protocol state should not have been generated withe the protocol, according to the state diagram in document page. That is why I wonder.
Anyway, I downloaded the recent stable version of gem5 called gem5-stable by running hg clone http://repo.gem5.org/gem5-stable, and the simulator package's build_opts directory showed me that there was a ALPHA_SE_MOESI_hammer. Thus, I compiled the gem5 binary by executing "scons build/ALPHA_SE_MOESI_hammer". This is the process that I did so as to get the binary. I guess the problem is only related to gem5-stable version, because I am able to run the same command with gem5 (development version). Can you perform the regression test for the protocol with gem5-stable in your side?
Thanks.
Regards,
Juyoung
Hi Juyoung,
The simulation actually doesn't give you anything useful since you have --fixed-pkts --maxpackets=1 which basically means that each core will only inject ONE packet whether you run it for 1000 or 1M cycles.
To run with more cycles, you should remove the --fixed-pkts options, or increase the maxpackets.
The reason why you get a deadlock error is because the tester (src/cpu/testers/networktest/networktest.cc) thinks there is a deadlock since nothing happened for the past 500K cycles.
For the second deadlock, hmm thats weird. MOESI_hammer is a pretty rigorously tested protocol.
Note that this is not a deadlock error: the error is that the cache controller received a non-existent transition request.
BTW how did you compile a ALPHA_SE_MOESI_hammer? I thought the current gem5 version has no separate SE and FS versions

Are you using the latest version?
Can you compile as scons build/ALPHA_MOESI_hammer/gem5.debug and re-try?
cheers,
Tushar
Hi Tushar,
I installed the prerequisites having the following versions, and run the network tester.
g++: 4.4.6 (rather than 4.4.5)
python: 2.6.7 (rather than 4.4.6)
swig: 1.3.40
m4: 1.4.14
gzip: 1.3.12
The result was successful with a command
./build/ALPHA_SE_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
gem5 compiled May 9 2012 15:40:30
gem5 started May 9 2012 16:00:17
gem5 executing on cairo1
command line: ./build/ALPHA_SE_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
Global frequency set at 1000000000 ticks per second
system.cpu3: deadlocked at cycle 500015
@ cycle 500015
[tick:build/ALPHA_SE_Network_test/cpu/testers/networktest/networktest.cc, line 175]
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 compiled May 9 2012 15:54:32
gem5 started May 9 2012 16:06:42
gem5 executing on cairo1
command line: ./build/ALPHA_SE_MOESI_hammer/gem5.debug configs/example/ruby_random_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 -l 1000
Global frequency set at 1000000000 ticks per second
fatal: Invalid transition
system.l1_cntrl0 time: 330144 addr: [0x20c0, line 0x20c0] event: Flush_line state: MR
@ cycle 330144
[doTransitionWorker:build/ALPHA_SE_MOESI_hammer/mem/protocol/L1Cache_Transitions.cc, line 1132]
Memory Usage: 220192 KBytes
From these trials, I could not successfully run the network simulation even though I am able to invoke a garnet object without error in this time. I am not sure if this deadlock or invalid transition problem is also caused by slightly different development tool version. What would be the real cause of the deadlock/invalid transition between simply bad code generation and test controller's bug based on wrong protocol? How can I debug it? I would like to run the network-only simulation as like being shown in gem5 document(http://www.m5sim.org/Networktest). Let me hear your comments.
Thanks.
- Juyoung
Yeah it works for me both with and without garnet.
g++: 4.4.5
python: 2.6.6
swig: 1.3.40
m4: 1.4.14
gzip: 1.3.12
Start with matching the python and g++ versions as you seem to be getting an error when it tries to create a garnet object in configs/ruby/Ruby.py
- Tushar
Hi Tushar,
Thanks for your quick reply.
./build/ALPHA_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
./build/ALPHA_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1
Based on this observation, I wonder if you succeed in running a simulation with configs/example/ruby_network_test.py, especially invoking garnet network. I tested the ruby network tester with both g++ 4.3.2 and g++ 4.6.1, and checked with different garnet mode (i.e. flexible) as well. They had the same result "failure" (please see previous email). If you think this is related to c++ version issue, could you tell me which version of c++ you are using on your platform? (including other packages' version such as swig/python/zlib/m4 if possible).
Can you give me more comment on this garnet invocation issue?
Thanks.
- Juyoung
Hi Juyoung,
In future pls send the emails directly on gem5-users so that others who experienced similar problems can help out as well?
I am cc:ing gem5-users
I just pulled out the latest version of gem5 and ran this exact command and it worked fine.
Are you getting this error only with ruby and garnet and this particular protocol?
It seems to me that it might be some C++ version issue etc 

Can you test it with another protocol too, without garnet.
scons build/ALPHA_MOESI_hammer/gem5.debug
./build/ALPHA_MOESI_hammer/gem5.debug configs/example/ruby_random_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 -l 1000
[The -l command in ruby_random_test specifies the number of cycles to inject].
- Tushar
Hi Tushar,
I am trying to run Garnet simulator with gem5 following the documentation found at http://www.gem5.org/Networktest. However, in my case, it failed to running as it stand, even if other setup conditions have been met. I tested both the most recent stable and dev gem5, and the same problem happened. The followings are errors and warnings which I ran into.
#> ./build/ALPHA_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 compiled May 8 2012 12:20:15
gem5 started May 8 2012 13:15:56
gem5 executing on panther
command line: ./build/ALPHA_Network_test/gem5.debug ./configs/example/ruby_network_test.py --num-cpus=4 --num-dirs=4 --topology=Mesh --mesh-rows=2 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1 --garnet-network=fixed
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
warning: add_child('cls'): child 'credit_links0 credit_links1' already has parent
Global frequency set at 1000000000 ticks per second
File "<string>", line 1, in <module>
File "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/main.py", line 357, in main
exec filecode in scope
File "./configs/example/ruby_network_test.py", line 131, in <module>
m5.instantiate()
File "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/simulate.py", line 90, in instantiate
for obj in root.descendants(): obj.createCCObject()
File "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/SimObject.py", line 1035, in createCCObject
self.getCCParams()
File "/home/juyoung/research/simulators/gem5-dev/gem5/src/python/m5/SimObject.py", line 994, in getCCParams
setattr(cc_params, param, value)
SystemError: NULL result without error in PyObject_Call
Segmentation fault
I am not sure but it seems to have a problem in setting C++ object's attribute.
Even if I found some port-related issues posted by Pavan Poluri from old mailing archive, this problem is likely related to more recent changes in either Ruby, Garnet, or both.
Could you give me a hint how I can resolve the problem?
Thanks.
Regards,
Juyoung
--
------------------------------------------------------------------------------------
--
------------------------------------------------------------------------------------
--
------------------------------------------------------------------------------------
Loading...