Hi Chamika, To support multiple clock domains, there’s a difference between simulation ticks and cycles. Thats probably the source of your confusion. I’ll let Srikant (cc:d) answer your specific question wrt the specific events you saw when enabling the debug messages (and managing the changes/updates to garnet that’ll get pushed to the next version of gem5).
Best, Tushar On Jul 24, 2020, 3:17 PM -0400, Chamika Sudusinghe via gem5-users <gem5-users@gem5.org>, wrote: Hi Jason and All, Thank you very much for your suggestion, Jason. I used '1ps' instead of '1ns' and was able to get rid of the warning there. Then when I wanted to debug the network used "--debug-flags=RubyNetwork" and it did not print debug messages when sim-cycles=1000. http://tusharkrishna.ece.gatech.edu/teaching/garnet_gt/ Following is a part of the printed debug message. info: Entering event queue @ 0. Starting simulation... Exiting @ tick 1000 because Network Tester completed simCycles It was the same for sim-cycles=10000 as well. Debug messages were printed for sim-cycles=100000 but started from the 12500th cycle. Following is a part of the printed debug message. info: Entering event queue @ 0. Starting simulation... warn: Replacement policy updates recently became the responsibility of SLICC state machines. Make sure to setMRU() near callbacks in .sm files! 12500: system.ruby.network.netifs10: Network Interface 10 connected to router 10 woke up at time: 25 13500: system.ruby.network.routers10: Router 10 woke up 13500: global: SwitchAllocator at Router 10 granted outvc 0 at outport South to invc 0 at inport Local to flit [flit:: Id=0 Type=3 Vnet=0 VC=0 Src NI=10 Src Router=10 Dest NI=18 Dest Router=2 Enqueue Time=25 ] at time: 27 13500: global: Router 10 OutputUnit 2 decrementing credit for outvc 0 at time: 27 13500: global: CrossbarSwitch at Router 10 woke up at time: 27 14500: system.ruby.network.netifs10: Network Interface 10 connected to router 10 woke up at time: 29 14500: system.ruby.network.routers06: Router 6 woke up 14500: global: SwitchAllocator at Router 6 granted outvc 0 at outport South to invc 0 at inport North to flit [flit:: Id=0 Type=3 Vnet=0 VC=0 Src NI=10 Src Router=10 Dest NI=18 Dest Router=2 Enqueue Time=25 ] at time: 29 14500: global: Router 6 OutputUnit 2 decrementing credit for outvc 0 at time: 29........ The answer was similar for sim-cycles=1000000 as well. The above changes to the sim-cycles were done while keeping tick rate as "1ps". ---------------- Then I tried changing the tick rate to '10ps'. sim-cycles=1000 -> no debug messages sim-cycles=10000 -> debug messages started from 1250th cycle sim-cycles=100000 -> debug messages started from 1250th cycle ---------------- Then I tried changing the tick rate to '100ps'. sim-cycles=1000 -> debug messages started from 125th cycle sim-cycles=10000 -> debug messages started from 1250th cycle sim-cycles=100000 -> debug messages started from 1250th cycle ---------------- Then I tried changing the tick rate to '1ns'. sim-cycles=1000 -> debug messages started from 14th cycle info: Entering event queue @ 0. Starting simulation... warn: Replacement policy updates recently became the responsibility of SLICC state machines. Make sure to setMRU() near callbacks in .sm files! 14: system.ruby.network.netifs10: Network Interface 10 connected to router 10 woke up at time: 14 16: system.ruby.network.routers10: Router 10 woke up 16: global: SwitchAllocator at Router 10 granted outvc 0 at outport South to invc 0 at inport Local to flit [flit:: Id=0 Type=3 Vnet=0 VC=0 Src NI=10 Src Router=10 Dest NI=18 Dest Router=2 Enqueue Time=14 ] at time: 16 16: global: Router 10 OutputUnit 2 decrementing credit for outvc 0 at time: 16 16: global: CrossbarSwitch at Router 10 woke up at time: 16 18: system.ruby.network.netifs10: Network Interface 10 connected to router 10 woke up at time: 18 18: system.ruby.network.routers06: Router 6 woke up 18: global: SwitchAllocator at Router 6 granted outvc 0 at outport South to invc 0 at inport North to flit [flit:: Id=0 Type=3 Vnet=0 VC=0 Src NI=10 Src Router=10 Dest NI=18 Dest Router=2 Enqueue Time=14 ] at time: 18. ---------------- Increasing above '1ns' results in "fatal: system.ruby.clk_domain has a clock period of zero". ---------------- Summarized 1ps - starting from 12500th cycle (had cyles with 1000 windows like 12500, 13500, ...) 10ps - starting from 1250th cycle (had cyles with 100 windows like 1250, 1350, ...) 100ps - starting from 125th cycle (had cyles with 100 windows like 125, 135, ...) 1000ps = 1ns - starting from 14th cycle (had iterative debug messages for the cycles like 14,16, 18, ...) So it is obvious that when having the tick rate as '1ps' it is not possible to debug the first 1000 or 10000 cycles because the first one is the 12500th cycle. But when the tick rate is equal to 1ns though it starts from the 14th cycle, the results are iterative till the 1000th cycle. ---------------- I have two questions arising from these results. 1. Is the first debug message the starting point of the simulation? If it is not, what is the starting point? 2. Why there are gaps (1000 or 100 or 10 depending on the tick rate) in the debug messages apart from when the tick rate is 1ns, where gaps are reduced to multiples of 2? 3. Is there any theoretical explanation of what is happening here? Thank You Chamika On Fri, Jul 24, 2020 at 8:40 PM Jason Lowe-Power <ja...@lowepower.com<mailto:ja...@lowepower.com>> wrote: Hi Chamika, I believe the problem is that the default tick rate for garnet tests is too small. See this line:https://gem5.googlesource.com/public/gem5/+/refs/heads/master/configs/example/garnet_synth_traffic.py#148. You can change that line to '1ps' (or get rid of it altogether which would set the tick rate to the default of 1ps) to overcome this issue. Cheers, Jason On Thu, Jul 23, 2020 at 2:28 AM chamika.sudusinghe--- via gem5-users <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> wrote: Hi All, I have installed gem5 recently and currently following the tutorials and the documentation. When I was running, I continuously receive the following warning. Global frequency set at 1000000000 ticks per second warn: rounding error > tolerance 1.250000 rounded to 1 warn: rounding error > tolerance 1.250000 rounded to 1 warn: rounding error > tolerance 1.250000 rounded to 1 warn: rounding error > tolerance 1.250000 rounded to 1 warn: rounding error > tolerance 1.250000 rounded to 1 I have used the example commands given in the documentation (https://www.gem5.org/documentation/general_docs/ruby/garnet_synthetic_traffic/) as follows and the above warning was received. commands: scons build/NULL/gem5.debug PROTOCOL=Garnet_standalone ./build/NULL/gem5.debug configs/example/garnet_synth_traffic.py \ --num-cpus=16 \ --num-dirs=16 \ --network=garnet2.0 \ --topology=Mesh_XY \ --mesh-rows=4 \ --sim-cycles=1000 \ --synthetic=uniform_random \ --injectionrate=0.01 Please assist me in resolving this issue. Thank You Chamika _______________________________________________ gem5-users mailing list -- gem5-users@gem5.org<mailto:gem5-users@gem5.org> To unsubscribe send an email to gem5-users-le...@gem5.org<mailto:gem5-users-le...@gem5.org> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s