GEM5 Model Issue-2 checkpoints save and restore

由于我使用的model经过团队的大量修改、添加,所以直接调用example里面的simulate.run()时,遇到了一些问题。经过一顿折腾,最终能正常save restore。但是有些改动还需check和review。

=================================================

第一步,参照fs.py, 调用Simulate.run()

from common import Simulation

Simulation.run(args, root, system, FutureClass)

在Simulation.py中,run() 对各种checkpoint的使用都做了实现,基本思路都是 m5.instantiate()+m5.simulate() + m5.checkpoint()

第二步,设置checkpoints

我用了scriptcheckpoint这种模式,即在脚本中添加checkpoint:

这种模式又可以分为两类:第一类是将checkpoint加在tick上,如下面的例子,意思是在51000000处设置checkpoint,后面每1000个tick在继续设置,但是max-checkpoints=1限制了只有一处checkpoint

另外一种设置方式,在某行指令处设置checkpoint,注意此时take-checkpoints只有一个参数

restore的时候替换成如下指令即可:

第二步,执行即可

如果正常,可以从log上看到类似如下信息(set/restore):

=========================================================================

由于我们的model经过大量改动,直接套用fs.py会有问题,做了三处改动:

1.如下这个没用到,直接注释掉

2.将simulation.py run()中跟CPU_switch相关的动作都注释掉

3. 将serialize.hh中arrayParamIn中的fatal_if拿掉,因为我们的model里面有一条obj没有

=========================================================================

=========================================================================

以下为debug过程中的截图信息

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值