
1、软件说明
SPEC cpu 2017 | SPEC Software MD5 Checksums | CPU计算性能speccpu2006的测试方法及工具下载
- SPEC
SPEC(the Standard Performance Evaluation Corporation)是一个由计算机硬件厂商、软件公司、大学、研究机构、系统集成商、出版发型及咨询机构组成的非营利性组织,致力于创建、维护并引导一个计算机系统及业界公认的系统指标。
- SPEC cpu
2、测试内容
2.1、SPEC CPU 2006
2.2、SPEC CPU 2017
3、测试原理
SPEC CPU工具可分为测试工具(tools)、测试基准(benchmark)两部分
运行测试之后,会由测试工具按照预先配置的编译器及编译参数自动编译各个测试项目,编译完成后再自动运行测试集,由测试工具统计测试集每个项目测试结果,综合给出测试评分
注:SPEC CPU在目录下提供了部分平台预编译二进制工具包,在有预编译过的平台上执行可以直接执行安装,对于不支持的平台需要自行编译测试工具(如LoongArch平台等)
1、SPEC CPU 2006
1.1、安装依赖
安装C语言、Fortran语言编译依赖环境
- Ubuntu
1.2、安装软件
1.2.1、一键安装(适用于x86/AMD等常见平台)
- 从官网获取cpu2006-1.2.iso文件,运行安装脚本将SPEC CPU安装到
- 配置环境变量,验证环境是否正常
1.2.2、编译安装(适用于ARM/MIPS等新平台)
https://www.spec.org/cpu2006/Docs/tools-build.html | 在龙芯3A5000上测试SPEC CPU 2006
如存在测试工具预编译二进制文件在某些系统不能运行、缺少某些架构预编译二进制文件等情况,则需要自行编译测试工具,参考如下
- 解压到目录下
注:包含测试工具和测试集的所有源码,解压出的文件与使用安装脚本安装的文件基本一致,只是缺少了测试工具二进制文件,对应包含了测试工具源码
- 执行测试工具二进制文件编译和打包
1、为保证测试数据的合理性,测试工具源码可以修改,但测试集源码不允许被修改,运行测试会自动校验测试集源码,如检测被修改过则无法运行测试
2、测试集源码对系统依赖很小,在各平台都能正常编译,正常来说不需要修改
- 如需将编译好的测试工具提供给其他节点使用,则将
1、命令详解
- :用于指定测试配置文件,该文件定义了编译器设置、优化选项、运行模式等参数,在https://blog.csdn.net/Micha_Lu/article/details/config/目录下提供了一些硬件平台典型配置
- :用于指定需执行的操作,可选参数为(运行测试)、(清理测试文件)、(编译测试程序)
- :用于指定优化模式,可选参数为(使用严格的编译器选项限制,所有测试项均使用相同的优化选项)、(允许更自由的优化,不同测试项使用不同优化选项),通常使用选项,具体可参考Q14. What is the difference between a “base” metric and a “peak” metric?
- :用于指定测试数据集及规模,可选参数为(最小测试数据集,用于验证环境是否正常)、(用于调试的数据集规模)、(标准测试规模,适用于正式基准测试),等同于
- :用于指定每个基准测试运行次数,N通常取值为3,当N=3时,表示每个基准测试运行3次并取平均值作为结果,避免单一测试出现误差,等同于
- :用于启用模式,默认以模式运行,当指定N时,表示同时并行N个测试并计算速率得分,适用于多核或者多线程性能测试,通常N取值为CPU核数,等同于
- :用于指定运行测试集,可选参数为(整数运算测试集)、(浮点运算测试集)、(所有测试集)
注:除此之外,还可以单独指定某一个测试项运行,如 - :运行过程中打印更详细的输出信息,用于调试和跟踪测试过程
- :强制重新编译所有基准测试程序,适用于修改编译器设置后重新测试
2、测试模型
2.1、调试命令
- 运行CPU整数运算测试
注:环境初始安装完成后,可用此命令检测环境是否正常,可快速发现缺少依赖、测试集编译异常等问题
2.2、CPU整数运算性能测试
- speed性能测试(单线程)
使用模式,使用全部整型的测试套件,使用base选项,迭代运行3次(避免单一运行测试误差)
- rate性能测试(多线程)
使用模式(使用8线程,通常取值为CPU核数),使用全部整型的测试套件,使用base选项,迭代运行3次(避免单一运行测试误差)
2.3、CPU浮点数运算性能测试
- speed性能测试(单线程)
使用模式,使用全部浮点型的测试套件,使用base选项,迭代运行3次(避免单一运行测试误差)
- rate性能测试(多线程)
使用模式(使用8线程,通常取值为CPU核数),使用全部浮点型的测试套件,使用base选项,迭代运行3次(避免单一运行测试误差)
1、目录结构
2、结果分析
运行测试完成之后,会在目录下生成.log日志文件和.html、.pdf、.rsf、.txt等测试报告,实践过程中发现测试报告会很容易出现的水印,以下情况都有可能会导致出现无效运行的水印,这个时候重点关注测试结果数值即可
- 配置文件中没有写,且runspec运行参数也没有加
- 测试运行次数不够3次
- 测试集为某个子测试项,非完整测试集(如int、fp、all)
2.1、整型测试
SPEC CPU分为和两种模式,用于评估系统单任务处理性能,用于评估系统多并发处理性能,默认使用的为模式,运行可加上可选参数启用模式
- speed:可查看所有测试项对应的数据集大小(Base Ref.)、运行时间(Base Run Time)、评估得分(Base Ratio),3轮测试完成后,会根据自动计算出Base Ratio的几何平均分(Est. SPECint_base2006),最终评估speed性能为
- rate:可查看所有测试项对应的数据集大小(Peak Ref.)、运行时间(Peak Run Time)、评估得分(Peak Ratio),3轮测试完成后,会根据自动计算出Peak Ratio的几何平均分(Est. SPECint2006),最终评估rate性能为
2.2、浮点型测试
SPEC CPU分为和两种模式,用于评估系统单任务处理性能,用于评估系统多并发处理性能,默认使用的为模式,运行可加上可选参数启用模式
- speed:可查看所有测试项对应的数据集大小(Base Ref.)、运行时间(Base Run Time)、评估得分(Base Ratio),3轮测试完成后,会根据自动计算出Base Ratio的几何平均分(Est. SPECint_base2006),最终评估speed性能为
- rate:可查看所有测试项对应的数据集大小(Peak Ref.)、运行时间(Peak Run Time)、评估得分(Peak Ratio),3轮测试完成后,会根据自动计算出Peak Ratio的几何平均分(Est. SPECint2006),最终评估rate性能为
1、specperl: bad interpreter: No such file or directory
- 问题描述
运行runspec失败,提示
- 处理措施
2、Type mismatch between actual argument at (1) and actual argument at (2) (TYPE(model_config_rec_type)/INTEGER(4)).
- 问题描述
- 环境信息如下:
- 执行runspec执行浮点数运算测试,发现481.wrf 测试项无数据
- 原因分析
- 查看日志文件,测试套件编译失败,导致该项测试无法运行
- 查看具体编译错误日志,这个错误信息表明在Fortran程序中有一个类型不匹配的问题。具体来说,wrf_mem_copy函数在调用时,其参数的类型与预期的不一致。错误发生在module_configure.fppized.f90文件的第2581行和第2600行
注:
在第2581行,model_config_rec(类型为TYPE(model_config_rec_type))被作为第一个参数传递给wrf_mem_copy,而第二个参数buffer(类型可能是INTEGER(4)或类似的整型数组)与第一个参数类型不匹配。
在第2600行,参数顺序相反,但同样存在类型不匹配的问题。
- 处理措施
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/10486.html