Hi,
I am trying to generate and later restore checkpoints using SimPoint, but
right now I get an error about the system's memory size when restoring from
the checkpoints.
This is the command I use to generate the checkpoint, after obtaining the
phases and weights from the SimPoint binary:
./build/ARM/gem5.opt configs/example/se.py
--take-simpoint-checkpoint=/home/tom/archsim/SimPoint.3.2/bin/simpoints,/home/tom/archsim/SimPoint.3.2/bin/weights,10,1000
--cpu-type=NonCachingSimpleCPU --cmd="se-benchmarks/Bubblesort"
The output from this looks fine:
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 version 20.1.0.4
gem5 compiled Feb 23 2021 21:47:19
gem5 started Mar 10 2021 22:47:21
gem5 executing on home, pid 21676
command line: ./build/ARM/gem5.opt configs/example/se.py
--take-simpoint-checkpoint=/home/tom/archsim/SimPoint.3.2/bin/simpoints,/home/tom/archsim/SimPoint.3.2/bin/weights,10,1000
--cpu-type=NonCachingSimpleCPU --cmd=se-benchmarks/Bubblesort
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.master is deprecated. `master` is now called `mem_side_ports`
simpoint analysis file: /home/tom/archsim/SimPoint.3.2/bin/simpoints
simpoint weight file: /home/tom/archsim/SimPoint.3.2/bin/weights
interval length: 10
warmup length: 1000
3 0.2 299000 1000
6 0.2 599000 1000
21 0.15 2099000 1000
22 0.225 2199000 1000
27 0.225 2699000 1000
Total # of simpoints: 5
Global frequency set at 1 ticks per second
warn: No dot file generated. Please install pydot to generate the dot file
and pdf.
warn: DRAM device capacity (8192 Mbytes) does not match the address range
assigned (512 Mbytes)
0: system.remote_gdb: listening for remote gdb on port 7000
info: Entering event queue @ 0. Starting simulation...
info: Increasing stack size by one page.
Writing checkpoint
warn: Checkpoints for file descriptors currently do not work.
Checkpoint #0 written. start inst:299000 weight:0.20
info: Entering event queue @ 149915000. Starting simulation...
Writing checkpoint
warn: Checkpoints for file descriptors currently do not work.
Checkpoint #1 written. start inst:599000 weight:0.20
info: Entering event queue @ 299915000. Starting simulation...
Writing checkpoint
warn: Checkpoints for file descriptors currently do not work.
Checkpoint #2 written. start inst:2099000 weight:0.15
info: Entering event queue @ 1049915000. Starting simulation...
Writing checkpoint
warn: Checkpoints for file descriptors currently do not work.
Checkpoint #3 written. start inst:2199000 weight:0.225000
info: Entering event queue @ 1099915000. Starting simulation...
Writing checkpoint
warn: Checkpoints for file descriptors currently do not work.
Checkpoint #4 written. start inst:2699000 weight:0.225000
Exiting @ tick 1349915000 because simpoint starting point found
5 checkpoints taken
Then I try to restore from a checkpoint using this command:
./build/ARM/gem5.opt configs/example/fs.py --restore-simpoint-checkpoint
-r 1 --checkpoint-dir m5out --cpu-type=TimingSimpleCPU
--restore-with-cpu=NonCachingSimpleCPU
--disk-image=$M5_PATH/disks/expanded-linaro-minimal-aarch64.img
--kernel=$M5_PATH/binaries/vmlinux.arm64
and encounter the following:
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 version 20.1.0.4
gem5 compiled Feb 23 2021 21:47:19
gem5 started Mar 10 2021 22:50:20
gem5 executing on home, pid 21819
command line: ./build/ARM/gem5.opt configs/example/fs.py
--restore-simpoint-checkpoint -r 1 --checkpoint-dir m5out
--cpu-type=TimingSimpleCPU --restore-with-cpu=NonCachingSimpleCPU
--disk-image=/home/tflynn/archsim/gem5/../m5_binaries/disks/expanded-linaro-minimal-aarch64.img
--kernel=/home/tflynn/archsim/gem5/../m5_binaries/binaries/vmlinux.arm64
warn: iobus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: bridge.master is deprecated. `master` is now called `mem_side_port`
warn: membus.master is deprecated. `master` is now called `mem_side_ports`
warn: bridge.slave is deprecated. `slave` is now called `cpu_side_port`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: iobus.master is deprecated. `master` is now called `mem_side_ports`
warn: iobridge.slave is deprecated. `slave` is now called `cpu_side_port`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: iobridge.master is deprecated. `master` is now called `mem_side_port`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave