Thank you, I modified the script to use classic caches and I was able to create a checkpoint.
Now, in order to restore it and run command/benchmark, we can pass the checkpoint_path into the Simulator and change the processor type from SimpleSwitchapleProcessor to SimpleProcessor? I did that and the simulation started, connected with m5term but it stuck at “==== m5 terminal: Terminal 0 ====” Kind regards, Chrysanthos Pepi From: Bobby Bruce<mailto:bbr...@ucdavis.edu> Sent: Tuesday, September 6, 2022 18:51 To: The gem5 Users mailing list<mailto:gem5-users@gem5.org> Subject: [gem5-users] Re: Creating Checkpoints There are two restrictions with Ruby and checkpointing that I'm aware of: 1. You have to use MOESI_hammer or another protocol that implements that flush function. 2. If you take a checkpoint in Ruby it has to be restored with Ruby. I don't believe there are any such restrictions with classic caches. -- Dr. Bobby R. Bruce Room 3050, Kemper Hall, UC Davis Davis, CA, 95616 web: https://www.bobbybruce.net On Tue, Sep 6, 2022 at 2:42 PM Chrysanthos Pepi <cpepi...@outlook.com<mailto:cpepi...@outlook.com>> wrote: Hi Dr. Bruce, Thank you for your reply. In order to create checkpoints do I need to use MOESI hammer protocol or classic caches? Kind regards, Chrysanthos Pepi From: Bobby Bruce<mailto:bbr...@ucdavis.edu> Sent: Tuesday, September 6, 2022 12:46 To: The gem5 Users mailing list<mailto:gem5-users@gem5.org> Subject: [gem5-users] Re: Creating Checkpoints You need to explicitly state what you want to do at the "m5 checkpoint" exit event, otherwise it'll just default to a regular exit. You'll need to change the "on_exit_event" parameter when constructing the Simulator. Something like this: ``` ... def create_checkpoint(): m5.checkpoint("<path to checkpoint>") simulator = Simulator( board=board, on_exit_event={ ExitEvent.EXIT : (func() for func in [processor.switch]), ExitEvent.CHECKPOINT: (func() for func in [create_checkpoint]), }, ... ``` Note here we're saying on the first EXIT (m5 exit) exit event we're switching cores, and on the first CHECKPOINT(m5 checkpoint) exit event we're creating the checkpoint. -- Dr. Bobby R. Bruce Room 3050, Kemper Hall, UC Davis Davis, CA, 95616 web: https://www.bobbybruce.net On Mon, Sep 5, 2022 at 3:31 PM Chrysanthos Pepi <cpepi...@outlook.com<mailto:cpepi...@outlook.com>> wrote: > > Hello All, > > > > I want to create checkpoints after a FS Ubuntu boot up with KVM and then use > that checkpoint to run multiple benchmarks with Timing/O3. Right now I am > using x86-ubuntu-run-with-kvm.py script to do that and it successfully boots > up and I am able to connect with the m5term to view the process. > > > > I slightly modified the script to add the `m5 checkpoint;` command, according > to this, and it look like this: > > > > command = "m5 exit;" \ > > + "echo 'This is running on Timing CPU cores.';" \ > > + "m5 checkpoint;" \ # Save a checkpoint > > + "sleep 1;" \ # Run a benchmark > > + "m5 exit;" > > > > My understanding is that, on the 1st m5 exit it switches from KVM to Timing > so I want to get a checkpoint and later run a benchmark. I tried that and I > am able to see the echo message but then it terminates. Then I tried to > execute the same command trough m5term but still the same result (attach log > files) > > > > Kind regards, > > Chrysanthos Pepi > > > > _______________________________________________ > gem5-users mailing list -- gem5-users@gem5.org<mailto:gem5-users@gem5.org> > To unsubscribe send an email to > gem5-users-le...@gem5.org<mailto:gem5-users-le...@gem5.org> _______________________________________________ gem5-users mailing list -- gem5-users@gem5.org<mailto:gem5-users@gem5.org> To unsubscribe send an email to gem5-users-le...@gem5.org<mailto:gem5-users-le...@gem5.org>
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org