gem5 run parsec2.1 ---- 亲测跑通教程

目录

一、打开终端,建立一个实验文件夹

1.1 参考gem5官网教程,安装依赖

1.2 下载gem5源码并build

二、下载parsec源码并生成可执行文件提供给gem5进行仿真。

2.1 下载parsec二进制文件:

2.2 下载PARSEC-2.1 Disk Image并解压:

2.3 下载PARSEC script生成包并解压,然后将其移动至实验根目录下:

2.4 生成script命令:

2.5 查看full_system_images文件架构:

 三、修改gem5文件夹下SysPaths.py来配置parsec的路径:

 四、根据生成的script文件运行gem5:

 五、新开一个终端窗口,使用telnet与gem5模拟系统进行交互

一、打开终端,建立一个实验文件夹

        mkdir experiment

        cd experiment

1.1 参考gem5官网教程,安装依赖

        gem5: Building gem5

1.2 下载gem5源码并build

        git clone https://gem5.googlesource.com/public/gem5

        cd gem5

        scons build/X86/gem5.opt -j<n>    

        Note: 我们使用X86为例,后面的全系统仿真也使用X86,其可以替换成ARM、RISCV,ALPHA等。

        注意: scons build/X86/gem5.opt -j<n>  X大写, n表示调用的逻辑核个数。第一次build需要一段时间,没有报错耐心等待即可。

        Q:如何查询及其核心数量?

        A: cat /proc/cpuinfo| grep "processor"| wc -l

        显示以下,即为build成功

二、下载parsec源码并生成可执行文件提供给gem5进行仿真。

2.1 下载parsec二进制文件:

wget -P ../full_system_images/binaries http://www.cs.utexas.edu/~parsec_m5/x86_64-vmlinux-2.6.28.4-smp

wget -P ../full_system_images/binaries http://www.cs.utexas.edu/~parsec_m5/tsb_osfpal

2.2 下载PARSEC-2.1 Disk Image并解压:

wget -P ../full_system_images/disks http://www.cs.utexas.edu/~parsec_m5/x86root-parsec.img.bz2

bzip2 -d ../full_system_images/disks/x86root-parsec.img.bz2

2.3 下载PARSEC script生成包并解压,然后将其移动至实验根目录下:

wget -P .. http://www.cs.utexas.edu/~parsec_m5/TR-09-32-parsec-2.1-alpha-files.tar.gz

tar -zxvf ../TR-09-32-parsec-2.1-alpha-files.tar.gz

mv TR-09-32-parsec-2.1-alpha-files/ ../

2.4 生成script命令:

命令格式:./writescripts.pl <benchmark> <nthreads>

例如:

cd ../TR-09-32-parsec-2.1-alpha-files

./writescripts.pl blackscholes 4

注意:此处必须切换到writescripts.pl所在文件夹下运行,否则,尽管不报错,但是不会产生对应的script;避坑!避坑!避坑!

其中,有以下13benchmark 

  

2.5 查看full_system_images文件架构:

ls -R ../full_system_images/

  

 三、修改gem5文件夹下SysPaths.py来配置parsec的路径:

vim ./configs/common/SysPaths.py

修改前:

paths = ["/dist/m5/system", "/n/poolfs/z/dist/m5/system "]

修改后:

paths = ["/dist/m5/system", "< full_system_images 绝对路径>"]

例:

      

 四、根据生成的script文件运行gem5:

M5_PATH=../full_system_images/ ./build/X86/gem5.opt configs/example/fs.py -n2 --script=../TR-09-32-parsec-2.1-alpha-files/blackscholes_4c_test.rcS --disk-image=x86root-parsec.img --kernel=x86_64-vmlinux-2.6.28.4-smp

显示:

  

  

 五、新开一个终端窗口,使用telnet与gem5模拟系统进行交互

telnet localhost 3456

显示:

  

至此,parsec benchmark suite 内的blackscholes 4 线程执行脚本已经在gem5中仿真成功。

总结:如果想运行其他benchmark,基本大同小异;起初本来想按照官方给的gem5art教程进行并行仿真的,可是一直调不通,心态快要爆炸了,后来又看了太多博主的教程,总是有更种小bug,最后集各家所长,避其bug,成功run起来,并看到了理想的output file!!! 开心!

若果按照教程跑通,请点赞加评论;赠人玫瑰,手留余香!有什么问题也很欢迎在评论区交流!

 

  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值