Simpoints

From gem5
Revision as of 16:31, 12 November 2014 by Dsunwoo (talk | contribs)
Jump to: navigation, search

<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.