gem5与nvmain的集成
由于NVMain已经停止维护很久了,直接与新的gem5集成会出现很多错误,只能选取老版本的gem5进行协同编译。老版本的编译会遇到一些问题,在这里罗列出来,以免后面还有人需要使用NVMain但不知道该如何运行它。
工具下载
下载已经经过patch的源代码。在这个仓库中已经准备好了旧版本的gem5,以及nvmain。
推荐使用docker。笔者之前使用Ubuntu22.04遇到了非常多的warning和bug,即使全部解决了集成也没有成功。在此使用的是Ubuntu18.04进行编译。如果读者没有Ubuntu18,或者不想再进行过多的环境配置,使用docker是最简单的方案。
环境构建
构建的docker file如下:
1 | FROM ubuntu:18.04 |
使用docker build -t gem5-nvmain .
指令构建出镜像。下载依赖需要几分钟的时间。
然后,使用docker run -it -v ~/simulator/gem5-nvmain-hybrid-simulator:/simulator/gem5-nvmain -it gem5-nvmain
将下载好的源代码挂载到创建容器的/simulator目录下。就完成了基本的环境构建。
编译
在gem5-stable目录下运行scons EXTRAS=nvmain-path -j4 build/X86/gem5.opt
即可开始编译。
编译过程参考博客,在此篇博客中提到了两个坑我都遇到了,如果出现deprecated警告或者有关LO_Cache的报错可以使用该博客中的方法解决问题。
大概几分钟过后就编译完成啦^_^
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.