Discussion:
Dumping stats in gem5
(too old to reply)
SHARJEEL KHILJI
2017-06-06 08:15:26 UTC
Permalink
Hi,
I want to dump stats at the end of every kernel that I run from the splash2
benchmark. How to dump stats from each kernel from splash2 at the end of
execution of that particular kernel program and then again dump stats for
the next program without exiting the simulation.

any suggestions ?
best regards,

Sharjeel
Jason Lowe-Power
2017-06-06 14:11:13 UTC
Permalink
Hi Sharjeel,

There is a python function (dumpStats() IIRC), that will do what you want.
Therefore, you need to exit the simulation loop at the end of each kernel.
An easy way to do this is to annotate your benchmark with ROI begin/end m5
magic instructions. You then modify the Python config script to dump stats
and restart simulation at the end of each ROI.

Jason

On Tue, Jun 6, 2017 at 3:15 AM SHARJEEL KHILJI <
Post by SHARJEEL KHILJI
Hi,
I want to dump stats at the end of every kernel that I run from the
splash2 benchmark. How to dump stats from each kernel from splash2 at the
end of execution of that particular kernel program and then again dump
stats for the next program without exiting the simulation.
any suggestions ?
best regards,
Sharjeel
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
SHARJEEL KHILJI
2017-07-04 10:02:49 UTC
Permalink
Hi Jason,
I am sorry but this is very old conversation but still if you please help.
You said that I can modify the python script to dump stats and restart
simulation. How can I do that and where in simulation.py I can do that.
Thanks for your help.

regards,
sharjeel
Post by Jason Lowe-Power
Hi Sharjeel,
There is a python function (dumpStats() IIRC), that will do what you want.
Therefore, you need to exit the simulation loop at the end of each kernel.
An easy way to do this is to annotate your benchmark with ROI begin/end m5
magic instructions. You then modify the Python config script to dump stats
and restart simulation at the end of each ROI.
Jason
On Tue, Jun 6, 2017 at 3:15 AM SHARJEEL KHILJI <
Post by SHARJEEL KHILJI
Hi,
I want to dump stats at the end of every kernel that I run from the
splash2 benchmark. How to dump stats from each kernel from splash2 at the
end of execution of that particular kernel program and then again dump
stats for the next program without exiting the simulation.
any suggestions ?
best regards,
Sharjeel
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Jason Lowe-Power
2017-07-04 14:10:07 UTC
Permalink
Hi Sharjeel,

Here's an example script that I've used:
https://github.com/powerjg/gem5/blob/features/tardis/configs/myconfigs/runkvm.py#L99.
In that same branch (features/tardis) there are also more complicated
scripts that fast-forward, switch CPUs, and reset stats.

In general, I strongly encourage people to *not* use fs/se.py. These
scripts were originally meant as small examples, but have grown to be
complicated, confusing, and very difficult to extend to non-standard
applications.

Jason

On Tue, Jul 4, 2017 at 5:03 AM SHARJEEL KHILJI <
Post by SHARJEEL KHILJI
Hi Jason,
I am sorry but this is very old conversation but still if you please help.
You said that I can modify the python script to dump stats and restart
simulation. How can I do that and where in simulation.py I can do that.
Thanks for your help.
regards,
sharjeel
Post by Jason Lowe-Power
Hi Sharjeel,
There is a python function (dumpStats() IIRC), that will do what you
want. Therefore, you need to exit the simulation loop at the end of each
kernel. An easy way to do this is to annotate your benchmark with ROI
begin/end m5 magic instructions. You then modify the Python config script
to dump stats and restart simulation at the end of each ROI.
Jason
On Tue, Jun 6, 2017 at 3:15 AM SHARJEEL KHILJI <
Post by SHARJEEL KHILJI
Hi,
I want to dump stats at the end of every kernel that I run from the
splash2 benchmark. How to dump stats from each kernel from splash2 at the
end of execution of that particular kernel program and then again dump
stats for the next program without exiting the simulation.
any suggestions ?
best regards,
Sharjeel
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
SHARJEEL KHILJI
2017-07-09 18:04:07 UTC
Permalink
Hi Jason,

I am running ARM NoC and running splash2 benchmark on it. Now I want the
stats to be dumped from all of the kernels in the benchmark without exiting
(ending the simulation). According to your reply. I have understood it such
that I have to annotate my application with check points at the region of
interest.This is done by the following inst.

m5_checkpoint(0,0) at the start of the region of interest

m5_dumpreset_stats(0,0) at the end of the region of interest
Now I have to provide the m5op_arm.S file in the compilation of the
application to the compiler.
Next step is to run the system and boot Linux on it and run the Kernel on
it. The ROI will be automatically get detected and the stats for that part
will be dumped separately from other parts.
Now I want to know that the check point simulation loop exit and stats dump
is controlled by the python
script that you provided in runkvm.py etc.
I want to know that how can I use this script with my system. I am running
ARM NoC in Full system mode.
Should I use the portion within the loop

while exit_event.getCause() != "m5_exit instruction encountered":
since this loop checks "work started count reach": and "work items exit
count reached": and exits the
simulation loop accordingly. Also i have to run system with
--work-begin-exit-count = 1
--work-end-exit-count = 1

My actual question is that where should I use this loop. I mean that where
should I put the script you mentioned in your mail. Should I put it in the
run function in the simulation.py after the point where REAL SIMULATION
STARTS ??

Kindly, provide some guidance?
best regards,
Muhammad
Post by Jason Lowe-Power
Hi Sharjeel,
Here's an example script that I've used: https://github.com/
powerjg/gem5/blob/features/tardis/configs/myconfigs/runkvm.py#L99. In
that same branch (features/tardis) there are also more complicated scripts
that fast-forward, switch CPUs, and reset stats.
In general, I strongly encourage people to *not* use fs/se.py. These
scripts were originally meant as small examples, but have grown to be
complicated, confusing, and very difficult to extend to non-standard
applications.
Jason
On Tue, Jul 4, 2017 at 5:03 AM SHARJEEL KHILJI <
Post by SHARJEEL KHILJI
Hi Jason,
I am sorry but this is very old conversation but still if you please
help. You said that I can modify the python script to dump stats and
restart simulation. How can I do that and where in simulation.py I can do
that. Thanks for your help.
regards,
sharjeel
Post by Jason Lowe-Power
Hi Sharjeel,
There is a python function (dumpStats() IIRC), that will do what you
want. Therefore, you need to exit the simulation loop at the end of each
kernel. An easy way to do this is to annotate your benchmark with ROI
begin/end m5 magic instructions. You then modify the Python config script
to dump stats and restart simulation at the end of each ROI.
Jason
On Tue, Jun 6, 2017 at 3:15 AM SHARJEEL KHILJI <
Post by SHARJEEL KHILJI
Hi,
I want to dump stats at the end of every kernel that I run from the
splash2 benchmark. How to dump stats from each kernel from splash2 at the
end of execution of that particular kernel program and then again dump
stats for the next program without exiting the simulation.
any suggestions ?
best regards,
Sharjeel
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Jason Lowe-Power
2017-07-10 14:55:56 UTC
Permalink
Hi Muhammad,

You don't have to use checkpoint. You can either use dumpreset stats or the
m5_roi_begin/end magic instructions.

For how to change the config scripts... I encourage you to trace through
the Python config scripts' execution in configs/. This will help you
understand how the configuration and simulator execution works. You can use
the Learning gem5 book: http://learning.gem5.org/ to get a solid foundation
on how to write config scripts.

Jason

On Sun, Jul 9, 2017 at 1:04 PM SHARJEEL KHILJI <
Post by SHARJEEL KHILJI
Hi Jason,
I am running ARM NoC and running splash2 benchmark on it. Now I want the
stats to be dumped from all of the kernels in the benchmark without exiting
(ending the simulation). According to your reply. I have understood it such
that I have to annotate my application with check points at the region of
interest.This is done by the following inst.
m5_checkpoint(0,0) at the start of the region of interest
m5_dumpreset_stats(0,0) at the end of the region of interest
Now I have to provide the m5op_arm.S file in the compilation of the
application to the compiler.
Next step is to run the system and boot Linux on it and run the Kernel on
it. The ROI will be automatically get detected and the stats for that part
will be dumped separately from other parts.
Now I want to know that the check point simulation loop exit and stats
dump is controlled by the python
script that you provided in runkvm.py etc.
I want to know that how can I use this script with my system. I am running
ARM NoC in Full system mode.
Should I use the portion within the loop
since this loop checks "work started count reach": and "work items exit
count reached": and exits the
simulation loop accordingly. Also i have to run system with
--work-begin-exit-count = 1
--work-end-exit-count = 1
My actual question is that where should I use this loop. I mean that where
should I put the script you mentioned in your mail. Should I put it in the
run function in the simulation.py after the point where REAL SIMULATION
STARTS ??
Kindly, provide some guidance?
best regards,
Muhammad
Post by Jason Lowe-Power
Hi Sharjeel,
https://github.com/powerjg/gem5/blob/features/tardis/configs/myconfigs/runkvm.py#L99.
In that same branch (features/tardis) there are also more complicated
scripts that fast-forward, switch CPUs, and reset stats.
In general, I strongly encourage people to *not* use fs/se.py. These
scripts were originally meant as small examples, but have grown to be
complicated, confusing, and very difficult to extend to non-standard
applications.
Jason
On Tue, Jul 4, 2017 at 5:03 AM SHARJEEL KHILJI <
Post by SHARJEEL KHILJI
Hi Jason,
I am sorry but this is very old conversation but still if you please
help. You said that I can modify the python script to dump stats and
restart simulation. How can I do that and where in simulation.py I can do
that. Thanks for your help.
regards,
sharjeel
Post by Jason Lowe-Power
Hi Sharjeel,
There is a python function (dumpStats() IIRC), that will do what you
want. Therefore, you need to exit the simulation loop at the end of each
kernel. An easy way to do this is to annotate your benchmark with ROI
begin/end m5 magic instructions. You then modify the Python config script
to dump stats and restart simulation at the end of each ROI.
Jason
On Tue, Jun 6, 2017 at 3:15 AM SHARJEEL KHILJI <
Post by SHARJEEL KHILJI
Hi,
I want to dump stats at the end of every kernel that I run from the
splash2 benchmark. How to dump stats from each kernel from splash2 at the
end of execution of that particular kernel program and then again dump
stats for the next program without exiting the simulation.
any suggestions ?
best regards,
Sharjeel
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Continue reading on narkive:
Loading...