Hi Tushar Thank you very much for the above clarification.
Thank You Chamika On Sat, Jul 25, 2020 at 12:59 AM Krishna, Tushar <tus...@ece.gatech.edu> wrote: > 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> > 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> 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 >>> To unsubscribe send an email to 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