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