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,100000,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,100000,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: 100000
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 1000000000000 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.200000
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.200000
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.150000
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 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`
Resuming from
m5out/cpt.simpoint_00_inst_299000_weight_0.200000_interval_100000_warmup_1000
Resuming from SimPoint #0, start_inst:299000, weight:0.200000,
interval:100000, warmup:1000
Global frequency set at 1000000000000 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)
info: kernel located at:
/home/tflynn/archsim/gem5/../m5_binaries/binaries/vmlinux.arm64
warn: Highest ARM exception-level set to AArch32 but the workload is for
AArch64. Assuming you wanted these to match.
system.vncserver: Listening for connections on port 5900
system.terminal: Listening for connections on port 3456
system.realview.uart1.device: Listening for connections on port 3457
system.realview.uart2.device: Listening for connections on port 3458
system.realview.uart3.device: Listening for connections on port 3459
0: system.remote_gdb: listening for remote gdb on port 7000
fatal: Memory range size has changed! Saw 536870912, expected 67108864
Memory Usage: 1080816 KBytes

As you can see, the error  'fatal: Memory range size has changed! Saw
536870912, expected 67108864' appears. Any idea why this could happen?
The disk image and kernel I am using are from the Arm RSK Gem5 tutorial (
https://github.com/arm-university/arm-gem5-rsk)

Thanks,
Tom
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to