SPECCPU2006的学习与使用

发布时间 2023-04-09 19:08:39作者: 济南小老虎

SPECCPU2006的学习与使用


摘要

这个周末问题不是很多, 陪孩子写作业时顺便研究了下SPEC2006
虽然比较落后了. 但是总比没有要强一些.
其实集团有资源, 但是联系不到人, 只能自己学习和研究了.
找了很多华为博客上面的知识点. 但是依旧有很多问题
想着先总结这, 希望有时间慢慢完善

学习的网站

https://blog.csdn.net/Luckiers/article/details/125816524
https://blog.csdn.net/wkl_venus/article/details/127688671

还有很多零散的网页. 在使用构成中进行了很多学习与参考. 

下载工具

链接:https://pan.baidu.com/s/1R-RCA3ZKSnpbyXgqEl7bSw?pwd=a3h8
提取码:a3h8

修改部分源码

第一个需要修改的:
 tools/src/buildtools
需要将第: 311行的进行删除或者是注释
export LD_LIBRARY_PATH DYLD_LIBRARY_PATH 
然后新增一行的内容为:
export PERLFLAGS="-A libs=-lm -A libs=-ldl"

第二个需要修改的为:
tools/src/make-3.8.0/glob/glob.c
209行"#if !defined __alloca && !defined GNU_LIBRARY"和230行"#endif"前添加 “//” 注释掉。

第三个 我这边其实使用的是银河麒麟V10SP3 make 是 4.3的版本, 但是这个百度盘里面的是 3.8的可能还需要在修改一个地方:
tools/src/make-3.8.0/glob/glob.c
添加一行内容: 
#define __alloca alloca

第四个 安装部分软件 比如 yum install libnsl "gcc-c++.aarch64" -y
如果没有安装的话是需要安装的. 部分软件要根据架构来区分

进行安装

在spec2006的目录下面执行
./install.sh
注意根据系统的不一样, 速度可能会很慢

注意如果上面四步 有任何一部分有差异都会编译失败. 需要重点看一下. 

环境初始化

在 spec2006的目录下面
首先执行
./shrc 后者是 source shrc 设置环境变量
然后使用 
bin/relocate
进行相关命令的使用

一些测试脚本

runspec -c x86.cfg -n 1 -r 1 447.dealII
使用 config 目录下面的 x86.cfg 进行一次(-n) 和一个线程(-r)
执行 447.dealII 算法性能验证

runspec -c x86.cfg -n 3 -r N all
使用 config 目录下面的 x86.cfg 进行三次(-n) 和全部线程(-r)
执行 所有测试性能验证

runspec -c arm64.cfg -n 1 -r 1 all
使用 config 目录下面的 arm64.cfg 进行一次次(-n) 和一个线程(-r)
执行 所有测试性能验证

结论分析

周天利用在家的时间
在阿里的倚天710环境.
鲲鹏920泰山服务器
浪潮海光服务器
以及浪潮飞腾服务器进行了测试验证

鲲鹏服务器暂时没有验证成功
但是发现 飞腾<海光<倚天
按照编译安装的时间. 鲲鹏应该强于海光, 但是弱于阿里的倚天.

一个简单结果

                                  Estimated                       Estimated
                Base     Base       Base        Peak     Peak       Peak
Benchmarks      Ref.   Run Time     Ratio       Ref.   Run Time     Ratio
-------------- ------  ---------  ---------    ------  ---------  ---------
410.bwaves                                  NR                                 
416.gamess                                  NR                                 
433.milc                                    NR                                 
434.zeusmp                                  NR                                 
435.gromacs                                 NR                                 
436.cactusADM                               NR                                 
437.leslie3d                                NR                                 
444.namd                                    NR                                 
447.dealII      11440        371       30.8 * 

部分结果

测试脚本:
runspec -c arm64.cfg -n 1 447.dealII

447.dealII-浮点运算
飞腾的结果是:  23.5
海光的结果是:  30.8
倚天的结果是:  75.4
鲲鹏的结果是: