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 <[email protected]>
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 <
> [email protected]> 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 -- [email protected]
>> To unsubscribe send an email to [email protected]
>> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
>>
>
_______________________________________________
gem5-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to