GEM5中运行parsec 2.1
参考《Configure and run parsec 2.1 benchmark in gem5》
PARSEC Benchmark需要在GEM5中的全系统(full system)模式下运行,本篇介绍如何在GEM5模拟器中配置和运行PARSEC Benchmark (以x86架构方式为例),如果需要在其他架构下运行,需要下载对应的镜像等文件,具体参考PARSEC官网。
首先新建一个文件夹用于存储PARSEC Benchmark的disk image
mkdir parsec_full_system_imagescd parsec_full_system_images
下载初始的系统文件,并解压,再重命名文件夹(重命名可选)
wget http://www.m5sim.org/dist/current/m5_system_2.0b3.tar.bz2tar jxvf m5_system_2.0b3.tar.bz2mv m5_system_2.0b3 system
解压后,文件的目录结构如下:
system/binaries/consolets_osfpalvmlinuxdisks/linux-bigswap2.imglinux-latest.img
下载PARSEC Benchmark相关文件,并替换掉system文件夹中的相应文件
下载PARSEC对应的linux kernel文件,并替换掉 ‘system/binaries/vmlinux’
cd ./system/binaries/wget http://www.cs.utexas.edu/~parsec_m5/x86_64-vmlinux-2.6.28.4-smprm vmlinuxmv vmlinux_2.6.27-gcc_4.3.4 vmlinux
下载PARSEC-2.1 Disk Image并解压
cd ../disks/wget http://www.cs.utexas.edu/~parsec_m5/x86root-parsec.img.bz2bzip2 -d x86root-parsec.img.bz2
进入gem5文件夹,修改三个文件(SysPaths.py 、 Benckmarks.py和FSConfig.py)配置parsec的路径和文件名
打开SysPaths.py配置parsec disk image的完整路径:
vim ./configs/common/SysPaths.py
修改前(49行):
path = [ '/dist/m5/system', '/n/poolfs/z/dist/m5/system' ]
修改后:
path = [ '/dist/m5/system', '/home/parsec_full_system_images/system' ]
打开Benchmarks.py修改image文件名:
vim ./configs/common/Benchmarks.py
修改前(62行):
elif buildEnv['TARGET_ISA'] == 'x86':return env.get('LINUX_IMAGE', disk('x86root.img'))
修改后:
elif buildEnv['TARGET_ISA'] == 'x86':return env.get('LINUX_IMAGE', disk('linux-parsec-2-1-m5-with-test-inputs.img'))
打开FSConfig.py修改image文件名(第127,563,681行):
vim ./configs/common/FSConfig.py
修改前(127行):
self.disk2.childImage(disk('linux-bigswap2.img'))
修改后:
self.disk2.childImage(disk('x86root-parsec.img))
修改前(563行):
disk2.childImage(disk('linux-bigswap2.img'))
修改后:
disk2.childImage(disk('x86root-parsec.img'))
修改前(681行):
self.kernel = binary('x86_64-vmlinux-2.6.22.9')
修改后:
self.kernel = binary('vmlinux')
生成benchmark的script文件,用于运行benchmark
下载PARSEC script生成包,并解压(这里不对应该找对应x86的脚本<\font>):
wget http://www.cs.utexas.edu/~parsec_m5/TR-09-32-parsec-2.1-alpha-files.tar.gztar zxvf TR-09-32-parsec-2.1-alpha-files.tar.gz
生成script命令:
./writescripts.pl <benchmark> <nthreads>
有以下13种benchmark:
blackscholesbodytrackcannealdedupfacesimferretfluidanimatefreqminestreamclusterswaptionsvipsx264rtview
perl可能会报警告,可以不用管
根据生成的script文件运行gem5:
./build/X86/gem5.opt ./configs/example/fs.py -n <number> --script=./path/to/runScript.rcS --caches --l2cache -F 5000000000
其中-n 是线程数,也可以不加这个参数。–script部分要换成自己生成的.rcS脚本。
新开一个窗口,使用telnet与gem5模拟系统进行交互
telnet localhost 3456
GEM5中运行parsec 2.1相关推荐
- gem5中运行spec2006
问题来源:为了模拟和测试cpu架构的性能,故摸索了下gem5下如何运行spec2006的. 步骤一 (编译spec2006): 1. 购买或下载spec2006源码: 2. 参考Docs/instal ...
- GEM5教程: 使用 gem5 运行 PARSEC 基准测试
Intro 本文内容 使用 gem5 运行 PARSEC 基准测试.full system 全系统模拟,包括gem5模拟一个计算机架构运行ubuntu,在gem5模拟的ubuntu里运行parsec基 ...
- 【CXL】在gem5中跑一个实际的应用程序——Viper KV存储
有了CXL扩展内存,自然是要在DRAM+CXL扩展内存上跑跑实际的应用程序,看看和DRAM+传统磁盘有什么区别. 实际的应用程序其实就是一些工业界部署使用的,比如数据库.深度学习训练项目等等.本文主要 ...
- 安卓中运行报错Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决
在androidstuio中运行我的未完项目,报错: Error:Execution failed for task ':app:transformClassesWithDexForDebug'. & ...
- 程序在内存中运行的奥秘
简介 当丰富多彩的应用程序在计算机上运行,为你每天的工作和生活带来便利时,你是否知道它们是如何在计算机中工作呢?本文用形象的图表与生动的解释,揭示了程序在计算机中运行的奥秘. 内存管理是操作系统的核心 ...
- IIS配置相关问题:Framework 4.5 在IIS 7.5中运行
<system.webServer> <validation validateIntegratedModeConfiguration="false" /& ...
- docker保护python源码_Tensorflow在Docker中运行和源码编译
本文分享在在Docker中运行Tensorflow和进行源码编译的方法和步骤,包括:编译.构建docker镜像.创建和运行Docker容器.部署完的容器可以通过Jupyter Notebook进行访问 ...
- 在 Linux“.NET研究” 操作系统中运行 ASP.NET 4 (下)
"在 Linux 操作系统中运行 ASP.NET 4 (中)"中已经配置好了 openSUSE 11.3 操作系统. 现在,我们进入"GNOME 终端",使用 ...
- “Matlab R2016a中运行‘mex -setup’,错误使用 mex 未找到支持的编译器或 SDK”的解决办法
目录 问题描述: 原因分析: 解决方案: 1.失败经验 2.成功方法 (1)下载MinGW-w64 C/C++ 编译器 (2)安装MinGW-w64 C/C++ 编译器 (3)设置为系统环境变量 (4 ...
最新文章
- CentOS 更改MySQL数据库目录位置
- scala学习-类与对象
- interp2 matlab fcn,matlab7.0自动关闭问题(zz)
- Linux NFS存储服务部署
- vue开源Element UI表单设计及代码生成器
- win10 物理按键映射、快捷键修改
- 【新手基础教程】maix asr(自动语音识别)
- “决策树”——数据挖掘、数据分析
- qt中将按钮指向的鼠标变成手型
- 支付宝《神奇海洋》素材
- outlook如何同步服务器sent文件夹,.ost 文件的同步问题 - Exchange | Microsoft Docs
- golang数据结构初探之字典map
- 2018年2月Ivanti英万齐(前LANDESK蓝代斯克)关闭中国研发中心
- MAC电脑连接windows台式机
- 海底的下面究竟有什么?
- 漫步微积分二十——微分和切线逼近
- PyBullet(六)UR5机器人手臂模型
- 阿桑奇,真正的网络英雄!
- win7系统ftp服务器共享文件夹权限,win7 ftp服务器 文件夹权限
- 材料与化学数据库分享