spec2006 测试

  1. 看到很多人说没有cpu2006测试包,我也忘记当时在哪儿下的了。

  2. 下载好安装包:./install.sh

  3. 设置spec环境:source shrc

  4. clang:
    配置文件在config文件中,找到需要的文件复制修改,不要直接在原始配置文件上修改,要不然写错了就没有文件用了。我这里想测试clang性能, 复制的是Example-linux-ia64-gcc.cfg文件进行修改,如果测试gcc的话只改编译选项就行。
    配置文件修改:XX.cfg
    1). MYPATH :改成clang路径,这里我只测了C与C++的题
    在这里插入图片描述

    2). optimization :c/c++/fortran→加编译选项

    bugs:
    最开始测试时候只加了O3,C++个别题不识别一些报"error: invalid suffix on literal; C++11 requires a space between literal and identifier",加上-std=c++98解决问题.
    有关C++测试题找不到头文件问题,配置C++头文件地址(libcxx的位置):
    在这里插入图片描述

    有关400编译失败:肯定是配置文件的错,报“./scope.h:239:5: error: unknown type name ‘__float80’”或者是重复定义,修改400的选项:
    在这里插入图片描述

    3). runspec -config=XX.cfg -size=ref -tune=base -noreportable -o text,screen,pdf -I -iterations=3 all &>log
    配置文件:XX.cfg,
    测试规模:ref(测试规模有test,ref,train其中test最小跑的时间最短,如果测试编译器正确性的时候可以用test规模,但是想测试性能时候最好用ref)
    测试次数:iterations=3次(编译器性能稳定时候测一次就行)
    测试范围: all(单个测试可以将all改成456/444等文件编号)
    将结果输出重定向到log文件中: &>log(这个可加可不加,不加所有编译信息输出到屏幕上,可能查找某些需要的信息时不好找)。
    对啦,测试前记得设置上clang的环境哦。
    (运行:runspec -config= -size=test -tune=base -noreportable -o text,screen -I -n 1 )
    (清理:runspec -c XXX -a scrub 题号)

  5. icc(太久没有测了等测了再补充):
    Example-linux64-intel64-icc.cfg
    OPTIMIZE=-O3 -xAvx2 -qopt-report=5 -qopt-report-phase=vec -pg
    (生成报告:456/build/XXintel64.fast.001/中.optrpt文件)

编译错:456/build/build_01XXX 里面进行调试
运行错:456/run/run_01XXX 里面进行调试(specinvoke -n -f speccmds.cmd可以打印出来运行参数,在clang的时候加上-g选项,进行调试可执行文件)

Add(乱七八糟的我也忘了是啥了):
编译的时候优化选项最后加上-pg,由gprof找到主要费时函数(456/run中有gmon.out+可执行:gprof -b -p XX.exe gmon.out)
向量化情况:clang→以上输出重定向文件clangvec中
(在path中寻找关键字XXX:grep -r “XXX” /path find -name XXX vi编辑器下:Esc+/XXX )
icc→.optrpt文件

更多选项:LLVM:opt --help-hidden

SPEC ACCEL测试:
运行错:
在这里插入图片描述
解决:runspec之前,执行一下ulimit -s unlimited指令,解除cpu资源限制(好智障的bug)。

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值