Difference between revisions of "Visualization"

From gem5
Jump to: navigation, search
(Created page with "This page contains information about different types of information visualization that is integrated or can be used with gem5. == O3 Pipeline Viewer == [[File:o3pipeview.png|cen...")
 
Line 2: Line 2:
  
 
== O3 Pipeline Viewer ==
 
== O3 Pipeline Viewer ==
 +
The o3 pipeline viewer is a text based viewer of the out-of-order CPU pipeline. It shows when instructions are fetched (f), decoded (d), renamed (n), dispatched (p), issued (i), completed (c), and retired (r). It is very useful for understanding where the pipeline is stalling or squashing in a reasonable small sequence of code. Next to the colorized viewer that wraps around is the tick the current instruction retired, the pc of that instruction, it's disassembly, and the o3 sequence number for that instruction.
 +
 
[[File:o3pipeview.png|center]]
 
[[File:o3pipeview.png|center]]
 +
 +
 +
To generate output line you see above you first need to run an experiment with the o3 cpu:
 +
./build/ARM_SE/gem5.opt --debug-flags=O3PipeView --trace-start=<first tick of interest> --trace-file=trace.out configs/example/se.py -d --caches -c <path to binary> -m <last cycle of interest>
 +
 +
Then you can run the script to generate a trace similar to the above (500 is the number of ticks per clock (2GHz) in this case):
 +
./util/o3-pipeview.py -c 500 -o pipeview.out --color m5out/trace.out
 +
 +
You can view the output in color by piping the file through less:
 +
less -r pipeview.out
 +
 +
The script has some additional integrated help: (type ‘./util/o3-pipeview.py --help’ for help).

Revision as of 18:17, 16 July 2011

This page contains information about different types of information visualization that is integrated or can be used with gem5.

O3 Pipeline Viewer

The o3 pipeline viewer is a text based viewer of the out-of-order CPU pipeline. It shows when instructions are fetched (f), decoded (d), renamed (n), dispatched (p), issued (i), completed (c), and retired (r). It is very useful for understanding where the pipeline is stalling or squashing in a reasonable small sequence of code. Next to the colorized viewer that wraps around is the tick the current instruction retired, the pc of that instruction, it's disassembly, and the o3 sequence number for that instruction.

O3pipeview.png


To generate output line you see above you first need to run an experiment with the o3 cpu:

./build/ARM_SE/gem5.opt --debug-flags=O3PipeView --trace-start=<first tick of interest> --trace-file=trace.out configs/example/se.py -d --caches -c <path to binary> -m <last cycle of interest>

Then you can run the script to generate a trace similar to the above (500 is the number of ticks per clock (2GHz) in this case):

./util/o3-pipeview.py -c 500 -o pipeview.out --color m5out/trace.out

You can view the output in color by piping the file through less:

less -r pipeview.out

The script has some additional integrated help: (type ‘./util/o3-pipeview.py --help’ for help).