Simpoints
<To be updated>
Steps to profile, generate, and use SimPoints with gem5:
1. To profile workload and generate SimPoint BBV file, use the following option:
build/ARM/gem5.opt <base options> configs/example/fs.py --simpoint-profile [--simpoint-interval <interval length>] <rest of fs.py options>
This will generate a SimPoint Basic Block Vector file (named simpoint.bb.gz) in the gem5 run folder. SimPoint profiling should be run with a single AtomicSimpleCPU configuration and fastmem. Multicore simulation is not supported. <interval length> is in number of instructions. Default interval length is 10M instructions.
2. Generate SimPoint analysis using SimPoint 3.2 from UCSD. See http://cseweb.ucsd.edu/~calder/simpoint/index.htm for details. (SimPoint 3.2 not included with this flow.)
3. To take gem5 checkpoints based on SimPoint analysis, use the following option:
--take-simpoint-checkpoint=<simpoint file path>,<weight file path>,<interval length>,<warmup length>
<simpoint file> and <weight file> is generated by SimPoint analysis tool from UCSD. SimPoint 3.2 format expected. <interval length> and <warmup length> are in number of instructions.
4. To resume from gem5 SimPoint checkpoints, use the following option:
--restore-simpoint-checkpoint -r <N> --checkpoint-dir <simpoint checkpoint path>
<N> is (SimPoint index + 1). E.g., "-r 1" will resume from SimPoint #0.