SPEC2006学习使用

这篇具有很好参考价值的文章主要介绍了SPEC2006学习使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

spec 2006学习记录

1. 安装依赖包:

apt-get install gcc g++ gfortran libbz2-dev

2.解压缩speccpu2006测试工具包,并附执行权限:

tar xvf speccpu2006-v1.0.1-newest.tar 
chmod -R a+x /home/speccpu2006-v1.0.1


3.编辑 tools/src/buildtools 文件,将311行注释,并添加一行export PERLFLAGS="-A libs=-lm -A libs=-ldl"

    // export LD_LIBRARY_PATH DYLD_LIBRARY_PATH
    export PERLFLAGS="-A libs=-lm -A libs=-ldl"

4.修改tools/src/make-3.8.0/glob/glob.c文件,
在209行“#if !defined __alloca && !defined GNU_LIBRARY”和230行“#endif”前添加“//”注释掉

//#if defined __alloca && !defined __GNU_LIBRARY__

# ifdef __GNUC__
#  undef alloca
#  define alloca(n)     __builtin_alloca (n)
# else  /* Not GCC.  */
#  ifdef HAVE_ALLOCA_H
#   include <alloca.h>
#  else /* Not HAVE_ALLOCA_H.  */
#   ifndef _AIX
#    ifdef WINDOWS32
#     include <malloc.h>
#    else
extern char *alloca ();
#    endif /* WINDOWS32 */
#   endif /* Not _AIX.  */
#  endif /* sparc or HAVE_ALLOCA_H.  */
# endif /* GCC.  */

# define __alloca       alloca

# ifdef __GNUC__
#  undef alloca
#  define alloca(n)     __builtin_alloca (n)
# else  /* Not GCC.  */
#  ifdef HAVE_ALLOCA_H
#   include <alloca.h>
#  else /* Not HAVE_ALLOCA_H.  */
#   ifndef _AIX
#    ifdef WINDOWS32
#     include <malloc.h>
#    else
extern char *alloca ();
#    endif /* WINDOWS32 */
#   endif /* Not _AIX.  */
#  endif /* sparc or HAVE_ALLOCA_H.  */
# endif /* GCC.  */

# define __alloca       alloca

//#endif

5.安装speccpu2006:

./install.sh  //在弹出的提示信息中,选择yes,后回车

6.初始化环境变量:

[root@localhost /speccpu2006-v1.0.1]# source shrc

7.检查SPEC CPU2006是否安装成功

root@test-attft2000c8f4:~/speccpu2006-v1.0.1# . ./shrc
root@test-attft2000c8f4:~/speccpu2006-v1.0.1# runspec -V
runspec v4662 - Copyright 1999-2006 Standard Performance Evaluation Corporation
Using 'unknown' tools
                 This is the SPEC CPU2006 benchmark tools suite.

Version summary:
    CPU2006 version: 1.0.1
 Benchmarks version: 098a
      Tools version: 098a
    runspec version: 4662 ($Id: runspec 4662 2006-07-24 21:10:20Z cloyce $)

Tools information:
 Tools package installed: unknown
 File locking method: LockFileEx (network-safe)
Mode |  UID  |  GID  |   Size  |    Modified Date   | Name
0755 | 0     | 0     |  218536 | 31-Nov-2023 07:12:48 | specmake
0755 | 0     | 0     | 1330400 | 31-Nov-2023 07:12:48 | specperl
0755 | 0     | 0     |   26568 | 31-Nov-2023 07:12:48 | specinvoke
0755 | 0     | 0     |   30664 | 31-Nov-2023 07:12:48 | specinvoke_pm
0775 | 0     | 0     |  136344 | 31-Nov-2023 07:12:48 | specbzip2
0755 | 0     | 0     |   34808 | 31-Nov-2023 07:12:48 | specmd5sum
0755 | 0     | 0     |    7607 | 31-Nov-2023 07:13:19 | specdiff
0755 | 0     | 0     |   85740 | 31-Nov-2023 07:13:19 | specpp
0755 | 0     | 0     |   88872 | 31-Nov-2023 07:13:19 | runspec
0775 | 1000  | 1000  |    1143 | 16-Nov-2018 01:41:28 | runspec.bat

Version info for specinvoke (/root/speccpu2006-v1.0.1/bin/specinvoke): Version: 4205
Version info for specmake (/root/speccpu2006-v1.0.1/bin/specmake): GNU Make 3.80spec
Version info for specbzip2 (/root/speccpu2006-v1.0.1/bin/specbzip2): bzip2 v1.0.3, 15-Feb-2005
Version info for specpp (/root/speccpu2006-v1.0.1/bin/specperl): filepp version 1.7.1SPEC
Version info for specperl (/root/speccpu2006-v1.0.1/bin/specperl): This is specperl, v5.8.7 built for aarch64-linux
                           For more detail on specperl, say 'specperl -V'
root@test-attft2000c8f4:~/speccpu2006-v1.0.1# 


8.选择相应配置文件进行测试:

[root@localhost /speccpu2006-v1.0.1/config]# cd config/
[root@localhost /speccpu2006-v1.0.1/config]# cp arm64.cfg test.cfg //根据架构选择不通的cfg文件

[root@localhost /speccpu2006-v1.0.1/config]# runspec -c arm64.cfg -n 1 -r 1 all  //单线程
[root@localhost /speccpu2006-v1.0.1/config]# runspec -c arm64.cfg -n 1 -r N all  //多线程

9. SPEC2006测试参数详解

单个项目测试

runspec -c  test.cfg  429.mcf --rate 4 -n 1  --noreportable

int整数测试

runspec -c test.cfg  int --rate 8 -n 1 -size=ref   --noreportable    --output_format all

fp浮点数测试

runspec -c test.cfg  fp --rate 8 -n 1 -size=ref   --noreportable    --output_format all

全项目测试

runspec -c test.cfg --rate 8  --noreportable --size=ref  --tune=base  -o text,screen,pdf -I --iterations=1 all

1)ref:测试规模

   测试规模有test,ref,train其中test最小跑的时间最短,如果测试编译器正确性的时候可以用test规模,但是想测试性能时候用ref

2)iterations=3次:测试次数

编译器性能稳定时候测一次就行,也可以写成n 3;
如果想得到加权统计的结果,也就是常说的cpu的spec分数,需要设置iterations大于等于3。


3) all 测试范围: 表示进行fp和int测试

将all替换成int 或 fp 进行定点和浮点的测试;将all替换成456/444等文件编号,表示对某一测试项进行单独测试
对于CPU的SPEC测试,默认这一项是all,但是对于其中的某一项测试分数不满意,可通过指定此测试项的编号,进行单独测试。测试也会得到一个分数,做单项的性能调优时候,可以用得到。


4)输出格式:-o text,screen,pdf

表示测试完成,生成报告的格式,依次分别是txt,屏幕显示和pdf格式,保存目录在spec解压目录result中。


5)noreportable && reportable :

表示检测/不检测生成的二进制文件是否修改过。
–reportable 如果原来生成的二进制文件被修改了,则运行时会自动重新编译生成二进制文件,确保运行的程序是原始的程序。


6)测试核数:-r 设置测试的CPU核心数目;


7)测试模式:-tune = base 基准测试;-tune = peak 峰值测试;-tune默认是base 可以选择base, peak, or all ,Report 首先是base,其次是peak.


8)-I : 表示测试中,如遇报错,略过错误继续测试;

注意测试前清空缓存:
 文章来源地址https://www.toymoban.com/news/detail-736126.html

echo 3 > /proc/sys/vm/drop_caches //清理缓存

到了这里,关于SPEC2006学习使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ISA Server 2006部署网站对比nginx

    2024年了,我还是第1次使用ISA Server 。没办法在维护一个非常古老的项目。说到ISA Server可能有小伙们不清楚,但是说到nginx大家应该都知道吧。虽然他们俩定位并不相同,但是本文中提到的需求,他俩是都可以实现。 网上找的到的教程很少,所以我就整理一下。 当请求是exa

    2024年01月22日
    浏览(35)
  • SD卡介绍(基于SPEC3.0)

    SD卡是基于MMC(MultiMedia卡)格式,是东芝在MMC卡上升级来的(所以,SD卡是支持MMC卡的协议的)。 SD 卡的右面通常有一个开关,即是防写入保护开关。一旦开启,此时SD的数据只能读取不能写入。这边不讨论SPI模式的情况 1.1.1 卡容量: 1) 标准容量卡(SDSC):不超于2GB 2)   高

    2023年04月24日
    浏览(29)
  • pyinstaller通过spec文件打包py程序

    pyinstaller是python的一个第三方模块,使用它可以将python程序打包为可执行文件,实现打包后的程序在没有python环境的机器上也可以运行。pyinstaller的安装方式可通过: pip installer pyinstaller 通常我们打包程序时,会遇到两种情况: 情况一,打包 一个python脚本文件; 情况二,打包

    2024年02月02日
    浏览(42)
  • P2006 赵神牛的游戏 python解法

    在 DNF 中,赵神牛有一个缔造者,他一共有 k k k 点法力值,一共有 m m m 个技能,每个技能耗费的法力值为 a i a_i a i ​ ,可以造成的伤害为 b i b_i b i ​ ,而 boss 的体力值为 n n n ,请你求出它放哪个技能,才可以打死 boss。 当然,赵神牛技术很菜,他一局只放一个技能,不过每

    2024年02月06日
    浏览(33)
  • 全国地级市最新城投债数据(2006-2023.2)

    地级市-城投债数据是关于各地级市发行的城市投资建设项目资金债券的统计数据。这些数据对于研究者来说有着一定的参考价值。首先,地级市-城投债数据能够提供全国各地级市城投债发行的数量和规模情况,帮助研究者了解城市基础设施建设和经济发展的情况。其次,通

    2024年02月08日
    浏览(58)
  • AUTOSAR知识点 之 Dcm (二):SPEC规范解析

    目录 1、DCM模块中的子模块 1.1、NRC 1.2、非易失性存储 1.3、数据类型 2、DSL 2.1、DSL模块与其他模块的交互 2.2、功能描述

    2024年02月09日
    浏览(45)
  • 【蓝桥杯冲冲冲】动态规划初步[USACO2006 OPEN] 县集市

    [USACO2006 OPEN] 县集市 The County Fair 每年,FJ 都喜欢去参加县集市,集市上有 n n n 个展位,每个摊位 i i i 都会在当天的特定时间 p i p_i p i ​ 发放精美的礼品。FJ 已经听说了这一点,他希望能收集尽可能多的礼品和他的奶牛们一起分享。要想获得摊位 i i i 发放的礼品,FJ 必须确

    2024年01月22日
    浏览(34)
  • 洛谷P1059 [NOIP2006 普及组] 明明的随机数

    1. 问题描述 2. Input 输入有两行,第 1 行为 1 个正整数,表示所生成的随机数的个数 N。第 2 行有 N 个用空格隔开的正整数,为所产生的随机数。 3. Output 输出也是两行,第 1 行为 1 个正整数 M,表示不相同的随机数的个数。第 2 行为 M 个用空格隔开的正整数,为从小到大排好序

    2024年02月15日
    浏览(41)
  • python - 无效版本规范错误 : Invalid version spec: =2. 7

    最近安装pytorch,一些包的版本在channel的package里并没有 比如报错:execute(502): An error occurred while installing package \\\'conda-forge::certifi-2022.9.24-pyhd8ed1ab_0\\\'.     -----------conda-forge就没这个版本的包。 想要在anaconda官网自己搜包,在安装则出现Invalid version spec: =2. 7。 原因: anaconda的版本

    2024年02月11日
    浏览(37)
  • Leetcode19-差的绝对值为K的数对数目(2006)

    给你一个整数数组 nums 和一个整数 k ,请你返回数对 (i, j) 的数目,满足 i j 且 |nums[i] - nums[j]| == k 。 |x| 的值定义为: 如果 x = 0 ,那么值为 x 。 如果 x 0 ,那么值为 -x 。 示例 1: 输入:nums = [1,2,2,1], k = 1 输出:4 解释:差的绝对值为 1 的数对为: [1,2,2,1] [1,2,2,1] [1,2,2,1] [1,

    2024年01月15日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包