Zsim+nvmain安装
来源:互联网 发布:命运 定数 知乎 编辑:程序博客网 时间:2024/06/08 18:40
最近在装zsim+nvmain模拟器,做混合存储器实验,一翻从开始到放弃的折腾后,今天又google了下最后的一个问题。终于安装成功,下面是这些天的折腾。。。。。
zsim集成nvmain安装步骤:
1.下载软件
zsim和nvmain下载地址
2. 安装依赖软件(依赖软件安装好,你就成功了一大半)
这里一定注意安装软件的版本问题,zsim有很强的系统内核依赖问题,对软件版本的要求特别高。在此介绍下我的各种软件的版本:
ubuntu 系统(14.04):4.10.0-38-generic 64位
gcc ,g++ : gcc version 4.8.5
pin: pin-2.13-61206-gcc.4.4.7-linux 软件项目里已经集成,这里无需安装
boost :version 1.59 boost下载地址
libconfig: version 1.5 libconfig下载地址 安装参考
hdf5 : version 1.8 hdf5下载地址
这里的软件安装可以google,必须保证安装正确,下面在编译zsim的时候才不会有那么多的问题。在安装gcc的时候,尝试了各种版本(5 4.8 3.3 3.4 ),一直提示版本问题,最终换成了4.8.5,可以使用。一直在报错以下问题
The version of the compiler you use to build a tool must be compatible with the pin kit. On Linux*, you can use gcc 3.4 or any later version. Note, however, that you cannot use gcc versions 4.5 or newer to compile Probe mode tools, since these versions create files with a new OS ABI version which is not compatible with the pin kit. You can also use Intel(R) C++ compiler.
3 编译zsim
配置env.sh里的路径,下面是我的本地的配置信息
#!/bin/shPINPATH=/home/***/SHMA-master/zsim-nvmain/pin_kit/NVMAINPATH=/home/***/SHMA-master/zsim-nvmain/nvmain/ZSIMPATH=/home/***/SHMA-master/zsim-nvmain/BOOST=/usr/localHDF5=/home/jyf/SHMA-master/hdf5-1.8.9-linux-x86_64-sharedLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PINPATH/intel64/lib:$PINPATH/intel64/runtime:$PINPATH/intel64/lib:$PINPATH/intel64/lib-ext:$BOOST/lib:$HDF5/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/mpc-0.8.1/libINCLUDE=$INCLUDE:$HDF5/includeLIBRARY_PATH=$LIBRARY_PATH:$HDF5/libCPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:$HDF5/includeexport ZSIMPATH PINPATH NVMAINPATH LD_LIBRARY_PATH BOOST CPLUS_INCLUDE_PATH LIBRARY_PATH
执行命令:
source env.sh
scons -j4这里在编译的时候会报错,version.h有问题,由于生成时多了个-e ,去掉Sconstruct文件中的-e即可。
if os.path.exists(".git"): env.Command(versionFile, allSrcs + [".git/index", "SConstruct"], 'echo -e "#define ZSIM_BUILDDATE \\""`date`\\""\\\\n#define ZSIM_BUILDVERSION \\""`python misc/gitver.py`\\""" >>' + versionFile) else: env.Command(versionFile, allSrcs + ["SConstruct"], 'echo -e "#define ZSIM_BUILDDATE \\""`date`\\""\\\\n#define ZSIM_BUILDVERSION \\""no git repo\\""" >>' + versionFile)编译成功后会生成可执行文件zsim,如下图
4.测试
执行测试命令:注意文件中的地址路径修改
./bin/zsim config/shma-static.cfg
新的错误又来了,
E: 4.4 is not a supported linux release
经过一翻查找,网上说的是pin2.13不支持内核为4.×的linux系统,pin3.4才能支持内核为4.*的系统,然后尝试下载pin3.4,安装zsim的时候一直报错,有一些动态链接库一直找不到,改到了内核级别,还是一堆错误参照这个博客的介绍参考地址,三种方法都尝试了,还是不行,至此,陷入了无法解决的地步。
今天过来又接着查找问题,这次的关键字变成:zsim pin problem . 终于,柳暗花明又一村,看到了新的分析和解决思路。
https://github.com/s5z/zsim/issues/109
根据这里的介绍,一开始我在pin里面查找pin_bin.cpp或者pin_cmd.cpp 发现没有这些文件,我开始在pycharm中,全局搜索zsim_nvmain,终于在pin外面的src下找到了pin_cmd.cpp,然后根据博客中的介绍,在52行添加
args.push_back("-injection"); args.push_back("child");这时候编译不再报错内核不支持了。
实验平台终于可以接着搭建了,接着执行测试,真是一波三折,新的错误又来了:
unexpected AUX VEC type 26经过查找,需要加-ifeellucky到pin的配置里面。我尝试着再次修改pin_cmd.cpp文件,这里还是pin2.13版本不支持4.*内核的问题。
args.push_back("-ifeellucky");
重新编译zsim,这次所有问题解决,成功跑起来了测试文件。
下面是参考的相关博客
https://github.com/s5z/zsim/issues/109
https://github.com/s5z/zsim
https://software.intel.com/en-us/forums/intel-vtune-amplifier-xe/topic/735694
https://stackoverflow.com/questions/43589174/pin-tool-segmentation-fault-for-ubuntu-17-04
- Zsim+nvmain安装
- zsim+nvmain problem to solve1
- Nvmain模拟器(单独使用)安装步骤:
- 在线安装gem5和nvmain集成gem5
- NVMain运行机制
- GEM5集成NVMain
- gem5集成nvmain
- gem5集成NVMain
- NVMain运行机制深入了解之一
- zsim shmget出现shmget:Invalid argument错误的解决办法
- NVMain运行机制深入了解之二
- NVMain运行机制深入了解之三
- NVMain运行机制深入了解之四
- NVMain运行机制深入了解之五
- NVMain运行机制深入了解之六
- NVMain运行机制深入了解之七
- NVMain运行机制深入了解之八
- 安装
- [转载]技改之路:从单块应用到微服务,我的血泪总结
- 虚拟机3.3垃圾收集算法
- 第二章变量和基本类型17.11.8
- centos7下完全式hadoop集群搭建
- php扩展开发---使用CLion开发PHP扩展
- Zsim+nvmain安装
- 报错上传到bugly进行统计
- PASCAL VOC数据集介绍
- spring事务传播行为笔记
- ShoeCAM v4.2 1CD(鞋模专业CAM系统,智能路径规划)
- day-18-数据库-MySQL-查询和多表
- QT自学笔记(5)
- 2017-11-08
- TCHAR转为char类型和TCHAR转为TCHAR类型