gauge 运行其他spec_Gem5(SE模式)上运行SPEC2017教程
前言:根据此教程,你可以做到在gem5的se模式下运行spec2017。教程所涉及到的脚本文件和配置文件均已在github上开源,如果你觉得有用,请给我一个大大的star~~~
spec2017的安装与部署
- 安装前的准备
- 装有Ubuntu18.04(或更高)的主机(自带gcc、g++7.5或更高)
- 在主机上安装gfortan(apt-get install gfortran)
- spec2017的镜像文件(本文使用的是cpu2017-1.1.0.iso)
- spec2017的安装(以X86指令集为例)
cd xxx #切换到cpu2017.iso所在的目录下
sudo mount -t iso9660 -o ro,exec,loop cpu2017.iso /mnt #挂载cpu2017.iso镜像文件
cd /mnt #切换目录到挂载目录
./install.sh #运行spec2017的安装文件,并指定其安装路径(以/root/cpu2017为例)
#安装好后,需要将github链接上的spec2017/myconfig_x86.cfg文件拷贝到cpu2017的config目录中,
该文件相较默认的配置文件,修改了gcc、g++的目录,并取消了一些针对本机的编译优化(使得能够在gem5的指令集内正常运行)
cd /root/cpu2017/ #切换到安装目录中
source shrc
runcpu --config=myconfig.x86 --action setup --size=test all #通过size参数可以指定程序输入数据规模大小(test、train、ref)
gem5下的部署
- 概述
将spec2017的可执行文件、输入文件、spec2017参数文件、待运行的脚本程序、gem5.opt的符号链接放在同一个文件夹
- 当前运行命令行执行gem5脚本的目录,是gem5当前的工作目录
- gem5运行的spec2017应用程序会从当前工作目录读取输入文件
- spec2017的可执行文件和输入文件
/root/cpu2017/benchspec/CPU 中各benchmarks文件夹下对应的run文件夹中文件,如:/root/cpu2017/benchspec/CPU/500.perlbench_r/run/run_base_refrate_mytest-m64.0000文件夹中的所有文件(compare、control、speccmds等都有的文件不用)
(PS:如果在gem5运行的过程中可以出现读文件错误,可以在上述run文件夹、data/all文件夹中找到相应的输入文件。有些benchmark提示报错的输入文件甚至可以在其他benchmark的data文件夹中找到,可以在根目录搜索报错的文件名)
- spec2017的参数文件
输入规模为ref的参数文件,repo上的spec2017/spec17_benchmarks_ref.py给出了示例。对于其他输入规模(如test和train),可参考SPEC CPU2017 Command Lines和示例文件做对应的修改。
- 待运行的脚本程序
可根据自己的需求创建相关的脚本程序。本文给出了根据gem5的config/example/se.py文件进行修改以适配spec2017的样例程序(spec2017/run.py)
- 创建gem5.opt的符号链接
cd xxx #切换到目标文件夹
ln -s /root/gem5/build/X86/gem5.opt
总结
完成以上步骤,最后可以在上述创建的目录下用gem5运行spec2017的benchmarks
示例:./gem5.opt [para] run.py -b benchmark_name [other parameters]
[1][2][3][4]
参考
- ^SPEC CPU2017 Command Lines https://uweb.engr.arizona.edu/~tosiron/papers/2018/SPEC2017_commands.pdf
- ^Tutorial: Easily Running SPEC CPU2006 Benchmarks in the gem5 Simulator https://markgottscho.wordpress.com/2014/09/20/tutorial-easily-running-spec-
- ^SPEC2017: Quick Start https://www.spec.org/cpu2017/Docs/quick-start.html
- ^Tutorial: Run SPEC CPU 2017 Benchmarks in Full System Mode with gem5art https://gem5art.readthedocs.io/en/latest/tutorials/spec2017-tutorial.html
gauge 运行其他spec_Gem5(SE模式)上运行SPEC2017教程相关推荐
- 网页在PC 上运行正常,在IPad上运行出错的故障原因分析及应对措施
网页在PC 上运行正常,在IPad上运行出错的故障原因分析及应对措施 最近在测试一个管理系统网站时,发现该网站在PC上运行一切正常,但在Ipad 上运行时,提示网页出现问题,需要重新提交表格,复新提交 ...
- python怎么让py里面逐行运行_怎样在安卓上运行python
"人生苦短,我用python" python丰富的开发库确实为广大使用者缩减了大量的开发时间.小ming没事用python跑个自动化脚本,枯燥乏味的工作就让电脑帮忙做. 怎样在安卓 ...
- 使用 ARChon 运行时环境在 Ubuntu 上运行 Android 应用
在此之前,我们尝试过在多款安卓应用模拟器工具上运行安卓应用,比如Genymotion.VirtualBox和Android SDK等.但是,有了这套全新的Chrome安卓运行环境,就可以在Chrome ...
- 安卓如何运行python_如何在android上运行Python代码?
这个非常简单,Termux和QPython3这2个安卓APP就可以,都集成了Python解释器,可以直接编辑运行Python代码,下面我简单介绍一下: Termux 这是一个安卓高级终端APP,类似于 ...
- 可以u盘上运行linux系统,U盘上运行的linux系统--babylinux
BabyLinux 说明 一,简介 欢迎下载和使用U盘上的迷你linux系统--BabyLinux (USB Key Drive Edition) Babylinux 是一套基于LFS 6.1的迷你l ...
- swt能单独在linux运行么,java – 在Mac上运行基于SWT的跨平台jar
我一直在开发一个基于SWT的项目,该项目旨在部署为Java Web Start,从而在多个平台上使用. 到目前为止,我已经设法解决了SWT所依赖的特定于系统的图书馆出现的出口问题(见相关的thread ...
- linux无后缀名程序运行,linux – 如何在Ubuntu上运行无扩展(也许是ELF)文件?
我的猜测是这是64位系统上的32位编译.我使用gcc上的-m32选项将一个小的c文件交叉编译成二进制文件.这还需要一些额外的包.结果a.out看起来像这样. % file a.out a.out: E ...
- 在哪个Linux发行版上运行python,怎么在linux上运行python
Linux默认是已经安装好了Python程序 目前来说,大多数的Linux发行版是安装了两个版本的Python程序 一个是Python 2.x 一个是Python 3.x 一些系统自带的程序文件需要P ...
- mac上安装vbox虚拟机运行win7系统,mac上运行exe
想在mac运行exe,发现有三种方法: 1. 虚拟机安装win镜像 2. wine或者crossover软件 3. Parallels Desktop 2尝试了发现很多exe都不能运行,3文件很大操作 ...
最新文章
- 23岁一无所有怎么办_我搬到国外去创业,然后一无所有。
- 电视剧中提到的 自然的 聊天对话 细节法则
- x12arima季节调整方法_《时间序列X-12-ARIMA季节调整:原理与方法》
- 错误代码: 1066 Not unique table/alias: #39;c#39;
- 【辨异】relation, relationship
- 如何在Mac上的网站上设置时间限制?
- spring 中发邮件的设置
- Python3网络爬虫(九):使用Selenium爬取百度文库word文章
- 虚拟服务器zend optimizer,windows服务器配置Zend Optimizer方法-安装Zend Optimizer步骤-SEO优化-猴子技术宅...
- 史上最全的Java进阶书籍推荐
- 可视化丨用数据分析福尔摩斯探案集
- CEP的一个简单理解
- RGB color model
- 究竟怎样写代码才算是好代码
- 什么是自律性?如何提高自律性?
- 如何利用软件绘制数学图像中的箭头坐标轴图像?
- Vue3.0 凉凉了?Vue 最黑暗的一天!
- openjudge 1.5.22 津津的储蓄计划
- vue 父子组件 组件挂载 组件通信 slot插槽
- 使用HTML5画布和jQuery使小球颜色不断变化