zsim与dramsim3的集成

zsim使用的不是原始zsim而是ramulator-pim里的zsim(项目地址
dramsim3我有做一些简单的结构修改,不然集成时会报错(dramsim3项目地址,代码修改可以看我的git记录)

步骤
1、编译zsim(先确保不集成draimsim3的时候能编译成功)
2、编译dramsim3(注意使用命令cmake -DCMAKE_CXX_FLAGS='-D_GLIBCXX_USE_CXX11_ABI=0' ..而不是简单的cmake ..
3、修改zsim的SConstruct,加上Dramsim3
4、添加动态库路径
5、再次编译zsim
6、测试

详细步骤
1、编译zsim(略,因为以前写过笔记)
2、编译dramsim3,基本按照官方文档,但是需要添加一个flag,不然会因为c++的abi版本不匹配报错(E: Unable to load /zsim-ramulator/build/opt/libzsim.so: /ramulator-pim/ramulator-pim/zsim-ramulator/build/opt/libzsim.so: undefined symbol: _ZN8dramsim315GetMemorySystemERKSsS1_St8functionIFvmEES4_

# cmake out of source build
mkdir build
cd build
cmake .. -DCMAKE_CXX_FLAGS='-D_GLIBCXX_USE_CXX11_ABI=0'

# Build dramsim3 library and executables
make -j4

# Alternatively, build with thermal module enabled
cmake .. -DTHERMAL=1 -DCMAKE_CXX_FLAGS='-D_GLIBCXX_USE_CXX11_ABI=0 # 我没测试这个

3、SConstruct文件

    if "DRAMSIM3PATH" in os.environ:
        DRAMSIM3PATH = "/home/dramsim3/DRAMsim3" # 这里我写死了。。因为我电脑上有好几个DRAMSIM3,正常情况下应该是使用DRAMSIM3PATH的值
        env["CPPFLAGS"] += " -Wl,-R" + DRAMSIM3PATH
        env["PINLIBPATH"] += [DRAMSIM3PATH]
        env["CPPPATH"] += [DRAMSIM3PATH + "/src"]
        env["PINLIBS"] += ["dramsim3"]
        env["CPPFLAGS"] += " -D_WITH_DRAMSIM3_=1 "
        env["LIBPATH"] += [joinpath(DRAMSIM3PATH)]	

4、添加库路径

$ sudo vim /etc/ld.so.conf
添加路径`/home/dramsim3/DRAMsim3`(直接追加一行就好了)
$ ldconfig # 更新一下
$ ldd build/opt/zsim # 检查一下库路径是否正确

5、重新编译zsim
6、运行测试

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值