cpu: generate SimPoint basic block vector profiles
Review Request #1705 - Created Feb. 13, 2013 and submitted
| Information | |
|---|---|
| Ali Saidi | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 9536:af826b390123 --------------------------- cpu: generate SimPoint basic block vector profiles This patch is based on http://reviews.m5sim.org/r/1474/ originally written by Mitch Hayenga. Basic block vectors are generated (simpoint.bb.gz in simout folder) based on start and end addresses of basic blocks. Some comments to the original patch are addressed and hooks are added to create and resume from checkpoints based on instruction counts dictated by external SimPoint analysis tools. SimPoint creation/resuming options will be implemented as a separate patch.
Issue Summary
2
2
0
0
| Description | From | Last Updated | Status |
|---|---|---|---|
| I'm new to gem5 and curious about this patch. My question is what the function of this instruction is? Is ... | Meng Wang | April 1, 2013, 5:38 a.m. | Open |
| Should here be: "info.count++;" ? Or info.count will become the BBV number timed by instruction number of this basic block. | Meng Wang | April 2, 2013, 5:36 a.m. | Open |
Posted (Feb. 15, 2013, 2:44 p.m.)
Performance note: I realized later that changing the "counts" map to a "vector<pair<uint64_t, uint64_t> >" results in a big speed boost (30%) for the gem5.fast build. I had originally used the map just as an easy way to sort and store. Pushing to the back of a vector and sorting once is a much better method. It's a 3 line change.
Posted (April 1, 2013, 5:38 a.m.)
-
src/cpu/BaseCPU.py (Diff revision 1) -
I'm new to gem5 and curious about this patch. My question is what the function of this instruction is? Is it related to simulator events?
Ship It!
Posted (April 2, 2013, 5:36 a.m.)
-
src/cpu/simple/atomic.cc (Diff revision 1) -
Should here be: "info.count++;" ? Or info.count will become the BBV number timed by instruction number of this basic block.
