Hello all,
  I want to use checkpoints to accelerate my simulation. The problem is that 
when I restore from the checkpoint, the gem5 simulation aborted.
  The mode I am using is se mode. I am using m5 pseudo instruction 
m5_checkpoint(0,0) in my application program to create checkpoints.
  I change the CPU model when restoring checkpoints and find out when the 
system doesn't have cache, the restoration is successful. 

The error outputs are as below:
0: system.remote_gdb: listening for remote gdb on port 7005
build/ARM/sim/process.cc:389: warn: Checkpoints for pipes, device drivers and 
sockets do not work.
Switch at curTick count:10000
gem5.opt: build/ARM/sim/eventq.hh:766: void 
gem5::EventQueue::schedule(gem5::Event*, gem5::Tick, bool): Assertion `when >= 
getCurTick()' failed.
Program aborted at tick 16277372800

   The command line to create checkpoint is:
$GEM5_BIN --outdir=$OUTPUT_PATH $GEM5_PATH/configs/example/se.py \
--num-cpu 1 --cpu-clock 2.5GHz --cpu-type AtomicSimpleCPU \
--mem-type DDR3_2133_8x8 --mem-size 1GB \
-c "$TARGET_PATH" --options "$DATA_PATH" --output  "$OUTPUT_PATH/output.txt" 

The command line to restore checkpoint is:
$GEM5_BIN --outdir=$OUTPUT_PATH $GEM5_PATH/configs/example/se.py \
--num-cpu 1 --cpu-clock 2.5GHz --cpu-type O3_ARM_v7a_3 \
--caches --l2cache --l1i_size 64kB --l1d_size 32kB --l2_size 256kB --l1i_assoc 
8 --l1d_assoc 8 --l2_assoc 16 --cacheline_size 128 \
--l2-hwp-type StridePrefetcher --mem-type DDR3_2133_8x8 --mem-size 1GB \
-r 1 --checkpoint-dir "$CHECK_PATH" \
-c "$TARGET_PATH" --options "$DATA_PATH" --output $OUTPUT_PATH/output.txt" \

The version of gem5 I am using is 21.1.0.2.

Best Regards, Gelin
_______________________________________________
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