SPECCPU 2017测试指导

一、依赖包下载安装

安装前需要安装依赖包,可通过本地源进行安装

yum install gcc* gfortran*

离线场景下需要外网下载好后传到本地再安装

Deepin gfortran安装包手动安装3个gfortran的包(可选)

yum install ./*gfortran*.deb**

二、安装SPECCPU 2017

注意:使用普通用户操作,遇到权限问题时加sudo
1、上传cpu2017-1.1.5.iso至/home目录,挂载至mnt目录,然后将mnt目录下的所有文件复制到用户目录下新建的speccpu目录下,命令如下:

mount -oloop cpu2017-1.1.5.iso /mnt
mkdir speccpu
cp /mnt/* -r /home/speccpu

2.赋予权限

chmod -R 755 speccpu

3.进入speccpu目录,安装

cd speccpu
./install.sh

输入:yes

4.修改默认配置文件Example-gcc-linux-aarch64.cfg:

vi /home/speccpu/config/Example-gcc-linux-aarch64.cfg

1)修改编译时的并行数,根据实际情况,如96核心改为48,减少编译实际,也可不修改,在运行runcpu命令时加上 --define build_ncpus=48,否则默认使用8线程,编译时间稍长。
在这里插入图片描述
2)修改copies和thread,默认为1,8,修改为服务器的核数,如48,48
在这里插入图片描述
3)修改gcc路径,默认的路径为/usr/bin/gcc,此处改为/usr(根据实际路径):
在这里插入图片描述
4)修改526子项编译参数
在这里插入图片描述
5)修改环境preENV_OMP_STACKSIZE参数大小为1G:
在这里插入图片描述
6)绑核:
在这里插入图片描述
注意:
如果升级了gcc版本需要执行以下命令:

cp /usr/local/isl-0.18/lib/libisl.so.15 /usr/local/gcc-7.3.0/lib64

三、运行

1 引入编译时所需的环境变量和相关库文件

source shrc

2.修改系统参数:

ulimit -s unlimited

3、进入/home/speccpu/bin目录,运行runcpu
整数rate:

./runcpu -c ../config/Example-gcc-linux-aarch64.cfg intrate

整数speed:

./runcpu -c ../config/Example-gcc-linux-aarch64.cfg  intspeed

浮点rate:

./runcpu -c ../config/Example-gcc-linux-aarch64.cfg  fprate

浮点speed:

./runcpu -c ../config/Example-gcc-linux-aarch64.cfg  fpspeed

当然也可以4个值一起跑(如下图):

./runcpu -c ../config/Example-gcc-linux-aarch64.cfg intrate intspeed fprate fpspeed

在这里插入图片描述

四、测试结果

在/home/speccpu/result目录下查看txt文件,即可查看intrate,intspeed,fprate,fpspeed测试结果
cat /home/speccpu/result/CPU2017.003.intrate.refrate.txt,以下是1 copies跑出的简单结果
整数rate:
在这里插入图片描述
浮点rate:
在这里插入图片描述
整数speed:
在这里插入图片描述
如果4个值一起测试的话,大概需要25个小时左右
在这里插入图片描述
我这里测的是鲲鹏3210 24核*2,内存条插了4条。

五、性能调优:

1、BIOS
1)Power Policy:Performance
2)Stream Write Mode:Allocate share LLC
3)CPU Prefetching Configuration:Enabled
4)Custom Refresh Rate:64ms
5)Die Interleaving:disabled
6)NUMA:Enable

2、OS配置
对于4k页表的操作系统,在跑int整型时建议配置大页内存;OS页表大小查询命令:getconf PAGESIZE
在配置前需要先安装大页库文件:yum -y install *libhuge*
例如:Euler是4k页表,在跑Cint时建议打开大页,页面个数根据系统配置自行调节:

echo 100000 > /proc/sys/vm/nr_hugepages
export HUGETLB_MORECORE=yes
export LD_PRELOAD=/usr/lib64/libhugetlbfs.so

ARM版CentOS7.6页表是64K,内存大页不用打开。

3、升级gcc和glibc
gcc:https://blog.csdn.net/kobe24fgy/article/details/112173491?spm=1001.2014.3001.5501
glibc:https://blog.csdn.net/kobe24fgy/article/details/119356149?spm=1001.2014.3001.5501

4、修改配置文件
1)绑核设置
在配置文件中修改copies和thread以及相应的绑核:
在这里插入图片描述
2)gcc路径指定
根据自己操作系统的设置,在配置文件内指定相关的路径
在这里插入图片描述
3)编译参数优化
如下为SPECcpu2017 Rate FP的优化参数: OPTIMIZE = -Ofast -g -pipe -mcpu=cortex-a72+crypto+crc -march=armv8-a+crypto+crc -funroll-loops Int和fp的编译参数不一样,具体参考cfg附件内相关部分内容

4、透明大页
进行SpeedFp的时候需要设置以下3个变量,关闭THP透传大页后再运行,以优化性能

export OMP_STACKSIZE=1G 
export OMP_WAIT_POLICY=active 
export OMP_PROC_BIND=true
echo never > /sys/kernel/mm/transparent_hugepage/enabled 
echo never > /sys/kernel/mm/transparent_hugepage/defrag

5、Jemalloc优化
参考:https://blog.csdn.net/kobe24fgy/article/details/119356940?spm=1001.2014.3001.5501

6、配置文件参考
链接:https://pan.baidu.com/s/1oF8VOZ5HOzXSSmb2lQ9mVQ
提取码:u4u3

评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硅油

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值