2

美好的一天每个

人我在这里遇到了一个真正的问题,花了将近几周的时间进行搜索,但没有结论

我试图在 gem5 上运行编译的 c++ 代码(二进制文件)来测量我制作的一些架构所消耗的时间使用python并进行比较以显示统计信息等。

使用需要花费少量时间才能完成的二进制文件看起来还可以,但是当二进制文件需要例如2秒时,模拟时间会非常
长解决这个问题,我需要尽可能优化模拟时间
我认为这很容易,但直到现在我才能弄清楚:\

我到目前为止达到的是:
- 在快速模式下构建 gem5,但这并没有给我在模拟时间上与优化模式的任何区别
- 但是在优化模式下使用快速转发。直到现在我才能做到这一点,

请提供任何帮助!

4

2 回答 2

2

几点建议:

  • 如果程序不涉及复杂的内存交互,您可以使用经典内存模型。这将比 Ruby 模型更快。
  • 将您的应用程序快进到真正计算开始的位置。你提到它对你不起作用。要检查的一件事是:如果您使用的是 Ruby 内存模型,那么它不支持快速转发。它适用于经典内存模型。http://www.m5sim.org/General_Memory_System
  • 您可能感兴趣的另一件事是 Simpoints,它可以表征应用程序的重要部分,以便您运行这些部分而不是完整的应用程序。当然,您可能希望稍后运行完整的应用程序,但这可以为您提供一个不错的跨架构的一阶比较。检查http://gem5.org/Simpoints
于 2016-07-15T20:12:39.843 回答
0

以下是我为克服 gem5 运行时间过长而采取的一些措施

  1. 升级您的硬件。几年前将我的硬盘驱动器升级到固态驱动器对我来说是这样的。Android Gingerbread 过去需要 3 小时才能启动,但升级后需要 1 小时。
  2. 使用原子 CPU。如果您不需要研究内存系统,那么只需使用没有缓存的原子CPU模型
  3. 设置它并忘记它。如果您可以访问服务器,然后运行一些工作,喝杯咖啡,打个盹,踢足球,做点别的事情,然后回来检查您的工作
于 2016-12-08T20:40:42.203 回答