1、环境准备
安装speccpu2017前需要安装依赖包,可通过ubuntu的终端使用命令行对依赖包进行安装。
// 安装.c转二进制文件的交叉编译链工具
sudo apt-get install gcc-aarch64-linux-gnu
// 安装.cpp转二进制文件的交叉编译链工具
sudo apt-get install g++-aarch64-linux-gnu
// 安装gfortran交叉编译链工具
sudo apt-get install gfortran-aarch64-linux-gnu
2、安装Speccpu2017
- 在进行speccpu2017的安装时,需要先下载speccpu2017的镜像文件,可通过以下网盘链接获得。
镜像文件下载
提取码:5thr - 使用终端创建 speccpu2017 安装路径,注意更改为相应的路径,我的文件路径为/home/drzhang/
mkdir -p /home/drzhang/speccpu2017
- 通过挂载 iso 镜像,并切换到/mnt 路径
mount cpu2017-1.0.5.iso /mnt/
cd /mnt/
4.使用命令进行安装,安装之前必须创建完成speccpu2017 路径,并将文件路径输入。
./install.sh
键入yes后即可,等待安装完成。
3、运行speccpu2017
- 修改配置文件
在speccpu2017/config目录下,有speccpu2017自带的配置文件,我们可以复制后修改相应的代码进行使用,在这里我使用的是ARM架构,因此复制Example-gcc-linux-aarch64.cfg文件,并将复制的文件命名为aarch64.cfg。
并将修改文件中的gcc路径:
**修改前:**
%ifndef %{gcc_dir}
% define gcc_dir /opt/rh/devtoolset-6/root/usr # EDIT (see above)
%endif
**修改后:**
%ifndef %{gcc_dir}
% define gcc_dir /usr # EDIT (see above)
%endif
并在此处添加上交叉编译工具链的路径
**修改前:**
SPECLANG = %{gcc_dir}/bin/
CC = $(SPECLANG)gcc -std=c99 %{model}
CXX = $(SPECLANG)g++ -std=c++03 %{model}
FC = $(SPECLANG)gfortran %{model}
**修改后:**
SPECLANG = %{gcc_dir}/bin/aarch64-linux-gnu-
CC = $(SPECLANG)gcc-9 -std=c99 %{model}
CXX = $(SPECLANG)g++-9 -std=c++03 %{model}
FC = $(SPECLANG)gfortran-9 %{model}
此处我的交叉编译工具链的版本是9,所以后边加了‘-9’。
2.编译生成SPEC可执行文件
在终端输入以下命令,即可编译speccpu2017内的benchmark。
cd speccpu2017 #进入你的spec17根目录
source shrc #激活spec环境,这样就可以使用runcpu、go等命令
runcpu --config=aarch64 --action=setup --size=ref all
编译完成后可在/home/drzhang/speccpu2017/benchspec/CPU中看见编译出来的benchmark。