使用测试集spec2006测试cpu性能时,如果完全跑完所有程序,需要数周甚至数月,周期非常长,想得到实验结果,黄花菜都凉了!现在比较认可的做法是从simulation point开始运行,那么如何生成它呢?
- 使用simpoints工具,自己从头到尾跑一遍生成BBV,再寻找simpoints;
- 使用前人的现有的simpoints结果,spec2006_simpoints,来源于http://www.freewebs.com/gkofwarf/simpoints.htm,作者信息,该文档包含21个测试的simpoints和权重;
上述结果的准确性和缺失率分析见论文:Generation, Validation and Analysis of SPEC
CPU2006 Simulation Points Based on Branch,
Memory and TLB Characteristics
为了方便使用模拟点,现将21个测试程序中权重最大的simpoint挑选出来,以后即可从本模拟点开始执行100Millions指令即可基本完全模拟整个测试集的真实结果;
权重最大的模拟点整理如下:
| CINT06(12个) | Simpoint |
|---|---|
| 400.perlbench | panic: fault (unalign) |
| 401.bzip2 | 1528 |
| 403.gcc | panic |
| 429.mcf | XX |
| 445.gobmk | 177 |
| 456.hmmer | 10959 |
| 458.sjeng | 16288 |
| 462.libquantum | 9974 |
| 464.h264ref | 49954 |
| 471.omnetpp | 981 |
| 473.astar | 2828 |
| 483.xalancbmk | panic: fault (arith) |
| CFP06(17个) | Simpoint |
|---|---|
| 410.bwaves | 20179 |
| 416.gamess | 2 |
| 433.milc | 4324 |
| 434.zeusmp | 241 |
| 435.gromacs | 7018 |
| 436.cactusADM | panic: fault (unalign) |
| 437.leslie3d | 1594 |
| 444.namd | 17753 |
| 447.dealII | 15 |
| 450.soplex | 1807 |
| 453.povray | XX |
| 454.calculix | XX |
| 459.GemsFDTD | 1842 |
| 465.tonto | XX |
| 470.lbm | XX |
| 481.wrf | XX |
| 482.sphinx3 | 38691 |
说明: CINT中共8个测试集的simpoint可用,CFP中共11个测试集的simpoint可用。其中400.perlbench,436.cactusADM在gem5中运行存在错误,还在调试中。 其中标有XX的表示生成该测试集simpoints的作者还未生成这些结果。
使用方法: 得到上述有效模拟点后,可这样使用它,例如 482.sphinx3:可以先fast-forward到38691 * 100millions指令位置,然后再开始执行100millions指令即可,即在38692 * 100millions指令处终止。参考:这里的说明
命令的使用方法参考The M5 simulator介绍:

文章介绍了使用simpoints工具生成BBV并从中选择权重最大的simpoint来加速SPEC2006 CPU性能测试的过程。通过跳转到特定指令位置开始执行,可以在较短时间内基本模拟整个测试集的真实结果。
2962

被折叠的 条评论
为什么被折叠?



