基准测试spec cpu2006

本文记录了在Ubuntu系统上进行gem5和nvmain集成,并使用spec cpu2006基准测试的过程。首先解压并安装spec cpu2006,接着修改配置文件以适应gem5的需求。通过运行特定命令编译benchmark,例如gcc。在gem5中执行测试时遇到'Increasing stack size by one page'的问题,虽然能运行但仍有待解决。
摘要由CSDN通过智能技术生成

最近在研究gem5,nvmain, 并将nvmain集成到gem5里面,然后用基准测试spec cpu2006进行测试。之前一直找不到基准测包,现在终于找到了,在此写下实验过程。

我的系统是ubuntu,spec cpu 2006是cpu2006-1.2.iso镜像。
1. 解压cpu2006-1.2.iso

2 .安装spec cpu 2006

执行下面的命令:

./install.sh -d /home/jyf/download/speccpu2006

注意:/home/jyf/download/speccpu2006 是我电脑上的安装路径,可自定义。

3.运行shrc脚本

source shrc

4.修改配置文件
将config目录下的 Example-linux64-amd64-gcc41.cfg配置文件复制下,命名为gcc41.cfg,由于gem5运行spec需要静态可执行文件,所以将gcc41.cfg文件修改:

COPTIMIZE   = -O2  
CXXOPTIMIZE = -O2  
FOPTIMIZE   = -O2 

改为

COPTIMIZE   = -O2 -static
CXXOPTIMIZE = -O2 -static
FOPTIMIZE   = -O2 -static

5.编译其中一个benchmark(这里是编译的gcc)
runspec –config=gcc41.cfg –action=build –tune=base gcc

若出现runspec找不到命令时,需要回退到spec的安装目录,即输入命令

.空格./shrc

注意:编译成功后会在bencuspec下的cpu2006下的403.gcc包里产生exe和build两个文件。

6.在gem5中用cpu 2006进行基准测试:

./build/X86/gem5.opt ./configs/example/se.py -c ../../speccpu2006/benchspec/CPU2006/450.soplex/exe/soplex_base.gcc41-64bit -o ../../speccpu2006/benchspec/CPU2006/450.soplex/data/test/input/test.mps   

注意:
540.sople可以运行,运行结果在/home/jyf/download/gem_nvmain/gem5-master/m5out/stats.txt,但还是会提示:info: Increasing stack size by one page.
运行结果:


---------- Begin Simulation Statistics ----------
sim_seconds                                  0.051505                       # Number of seconds simulated
sim_ticks                                 51505497500                       # Number of ticks simulated
final_tick                                51505497500                       # Number of ticks from beginning of simulation (restored from checkpoints and never reset)
sim_freq                                 1000000000000                       # Frequency of simulated ticks
host_inst_rate                                1446792                       # Simulator instruction rate (inst/s)
host_op_rate                                  2504656                       # Simulator op (including micro ops) rate (op/s)
host_tick_rate                             1490625852                       # Simulator tick rate (ticks/s)
host_mem_usage                                 688560                       # Number of bytes of host memory used
host_seconds                                    34.55                       # Real time elapsed on the host
sim_insts                                    49990887                       # Number of instructions simulated
sim_ops                                      86543190                       # Number of ops (including micro ops) simulated
system.voltage_domain.voltage                       1                       # Voltage in Volts
system.clk_domain.clock                          1000                       # Clock period in ticks
system.mem_ctrls.pwrStateResidencyTicks::UNDEFINED  51505497500                       # Cumulative time (in ticks) in various power states
system.mem_ctrls.bytes_read::cpu.inst       531676432                       # Number of bytes read from this memory
system.mem_ctrls.bytes_read::cpu.data        74198617                       # Number of bytes read from this memory
system.mem_ctrls.bytes_read::total          605875049                       # Number of bytes read from this memory
system.mem_ctrls.bytes_inst_read::cpu.inst    531676432                       # Number of instructions bytes read from this memory
system.mem_ctrls.bytes_inst_read::total     531676432                       # Number of instructions bytes read from this memory
system.mem_ctrls.bytes_written::cpu.data     34023529                       # Number of bytes written to this memory
system.mem_ctrls.bytes_written::total        34023529                       # Number of bytes written to this memory
system.mem_ctrls.num_reads::cpu.inst         66459554                       # Number of read requests responded to by this memory
system.mem_ctrls.num_reads::cpu.data         12371630                       # Number of read requests responded to by this memory
system.mem_ctrls.num_reads::total            78831184                       # Number of read requests responded to by this memory
system.mem_ctrls.num_writes::cpu.data         5590138                       # Number of write requests responded to by this memory
system.mem_ctrls.num_writes::total            5590138                       # Number of write requests responded to by this memory
system.mem_ctrls.bw_read::cpu.inst        10322712289                       # Total read bandwidth from this memory (bytes/s)
system.mem_ctrls.bw_read::cpu.data         1440596065                       # Total read bandwidth from this memory (bytes/s)
system.mem_ctrls.bw_read::total           11763308354                       # Total read bandwidth from this memory (bytes/s)
system.mem_ctrls.bw_inst_read::cpu.inst   10322712289                       # Instruction read bandwidth from this memory (bytes/s)
system.mem_ctrls.bw_inst_read::total      10322712289                       # Instruction read bandwidth from this memory (bytes/s)
system.mem_ctrls.bw_write::cpu.data         660580533                       # Write bandwidth from this memory (bytes/s)
system.mem_ctrls.bw_write::total            660580533                       # Write bandwidth from this memory (bytes/s)
system.mem_ctrls.bw_total::cpu.inst       10322712289                       # Total bandwidth to/from this memory (bytes/s)
system.mem_ctrls.bw_total::cpu.data        2101176598                       # Total bandwidth to/from this memory (bytes/s)
system.mem_ctrls.bw_total::total          12423888887                       # Total bandwidth to/from this memory (bytes/s)
system.mem_ctrls.readReqs                           0                       # Number of read requests accepted
system.mem_ctrls.writeReqs                          0                       # Number of write requests accepted
system.mem_ctrls.readBursts                         0                       # Number of DRAM read bursts, including those serviced by the write queue
system.mem_ctrls.writeBursts                        0                       # Number of DRAM write bursts, including those merged in the write queue
system.mem_ctrls.bytesReadDRAM                      0                       # Total number of bytes read from DRAM
system.mem_ctrls.bytesReadWrQ                       0                       # Total number of bytes read from write queue
system.mem_ctrls.bytesWritten                       0                       # Total number of bytes written to DRAM
system.mem_ctrls.bytesReadSys                       0                       # Total read bytes from the system interface side
system.mem_ctrls.bytesWrittenSys                    0                       # Total written bytes from the system interface side
system.mem_ctrls.servicedByWrQ                      0                       # Number of DRAM read bursts serviced by the write queue
system.mem_ctrls.mergedWrBursts                     0                       # Number of DRAM write bursts merged with an existing one
system.mem_ctrls.neitherReadNorWriteReqs            0                       # Number of requests that are neither read nor write
system.mem_ctrls.perBankRdBursts::0                 0                       # Per bank write bursts
system.mem_ctrls.perBankRdBursts::1                 0                       # Per bank write bursts
system.mem_ctrls.perBankRdBursts::2                 0                       # Per bank write bursts
system.mem_ctrls.perBankRdBursts::3                 0                       # Per bank write bursts
system.mem_ctrls.perBankRdBursts::4                 0                       # Per bank write bursts
system.mem_ctrls.perBankRdBursts::5                 0                       # Per bank write bursts
system.mem_ctrls.perBankRdBursts::6                 0                       # Per bank write bursts
system.mem_ctrls.perBankRdBursts::7                 0                       # Per bank write bursts
system.mem_ctrls.perBankRdBursts::8                 0                       # Per bank write bursts
system.mem_ctrls.perBankRdBursts::9                 0                       # Per bank write bursts
system.mem_ctrls.perBankRdBursts::10                0                       # Per bank write bursts
system.mem_ctrls.perBankRdBursts::11                0                       # Per bank write bursts
system.mem_ctrls.perBankRdBursts::12                0                       # Per bank write bursts
system.mem_ctrls.perBankRdBursts::13                0                       # Per bank write bursts
system.mem_ctrls.perBankRdBursts::14                0                       # Per bank write bursts
system.mem_ctrls.perBankRdBursts::15                0                       # Per bank write bursts
system.mem_ctrls.perBankWrBursts::0                 0                       # Per bank write bursts
system.mem_ctrls.perBankWrBursts::1                 0                       # Per bank write bursts
system.mem_ctrls.perBankWrBursts::2                 0                       # Per bank write bursts
system.mem_ctrls.perBankWrBursts::3                 0                       # Per bank write bursts
system.mem_ctrls.perBankWrBursts:</
  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 27
    评论
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值