gem5: 可运行的spec2006 benchmark总结

gem5中运行spec2006的环境:

  • ALPHA架构;
  • 需要通过alpha交叉编译工具链编译spec2006;
  • 需要设置静态编译环境,优化选项-static;
  • 准备benchmark运行所需要的exe和input,最好将他们全部放在一个文件夹中;
  • 本文采用ref数据集,实际上有些测试集需要all里面的数据;

根据gem5中运行spec2006的步骤设置好benchmark运行环境后,即可逐个测试benchmark是否可以运行。

根据自己的需求修改run_gem5_alpha_spec06_benchmark.sh文件中关于build/ALPHA/gem5.opt后面的参数,最好指定最大运行指令数目–maxinsts,方便测试,否则运行时间太长,同时根据自己的路径修改benchmark.py文件,接着即可运行run_gem5_alpha_spec06_benchmark.sh文件。

如果该文件运行完,并且runscript.log最后显示“reached the max instruction“则表示运行成功,如果没看到,那么就要检查*.err和runscript.log中提示的错误。通常都是缺少数据集运行中所需要的文件,缺什么内容就去spec/data中寻找对应的文件。

通过测试,目前可以运行的程序如下:

CINT06 running(1) or not(0) Running error
400.perlbench 0 panic: fault (unalign) detected @ PC (0x120091d84=>0x120091d88)
401.bzip2 1
403.gcc 0 panic: Tried to access unmapped address 0x10.
429.mcf 1
445.gobmk 1
456.hmmer 1
458.sjeng 1
462.libquantum 1
464.h264ref 1
471.omnetpp 1
473.astar 1
483.xalancbmk 0 panic: fault (arith) detected @ PC (0x120437420=>0x120437424)
CFP06 running(1) or not Running error
410.bwaves 1
416.gamess 1
433.milc 1
434.zeusmp 1
435.gromacs 1
436.cactusADM 0 panic: fault (unalign) detected @ PC (0x120029184=>0x120029188)
437.leslie3d 1
444.namd 1
447.dealII 1
450.soplex 1
453.povray 1 have error, need to check
454.calculix 1
459.GemsFDTD 1
465.tonto 1
470.lbm 1
481.wrf 1
482.sphinx3 1

Note: 有错误的程序还在寻找解决方案中。

你可能感兴趣的:(运行,Benchmark,GEM5,spec2006)