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++的题
    spec2006 测试_第1张图片
    2). optimization :c/c++/fortran→加编译选项
    spec2006 测试_第2张图片
    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的选项:
    spec2006 测试_第3张图片

    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的环境哦。

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

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

你可能感兴趣的:(spec2006 测试)