HEVC学习笔记11-gem5跑HM

Introduction

HEVC学习笔记系列目录

GEM5是一款模块化的离散事件驱动全系统模拟器,它结合了M5和GEMS中最优秀的部分,是一款高度可配置、集成多种ISA和多种CPU模型的体系结构模拟器。M5是由Michigan大学开发的一款开源的多处理机模拟器,受到了业内的广泛关注,很多高水平论文都采用M5作为研究工具。另一方面,Wisconsin推出的GEMS能够对储存层次进行详细而灵活的模拟,包括对多种不同的cache一致性协议和互联模型的支持。目前的GEM5是M5和GEMS的一个紧耦合版本。
GEM5已经能够支持多种商用ISA,包括X86、ARM、ALPHA、MIPS、Power、SPARC等,并且能够在X86、ARM、ALPHA上加载操作系统。

用gem5测试HM可以获得很多关于cache的信息。
但是目前gem5不支持动态链接的程序,所以在编译的时候,需要静态链接。比如gcc -o test -static test.c

静态编译HM

只需要在多个makefile里添加-static即可。主要位置如下:build/linux/common/makefile.base文件的CPPFLAGS 行 其他makefile下可以添加在-lpthread后面。

 build/linux/app/TAppDecoder/makefile
 build/linux/app/TAppEncoder/makefile
 build/linux/common/makefile.base
 build/linux/lib/TAppCommon/makefile
 build/linux/lib/TLibCommon/makefile
 build/linux/lib/TLibDecoder/makefile
 build/linux/lib/TLibDecoderAnalyser/makefile
 build/linux/lib/TLibEncoder/makefile
 build/linux/lib/TLibVideoIO/makefile

以上是我改动的makefile。

make clean 
make -j4

重新make。

gem5运行HM

build/X86/gem5.opt configs/example/se.py --caches --l1d_size=32kB --l1i_size=32kB --l2cache --l2_size=256kB  -c /home/find/Documents/HM-dev/bin/TAppEncoderStatic -o " -c /home/find/Dropbox/gitoschina/HM-dev/bin/encoder_lowdelay_P_main.cfg -b Mobisode.bin -c /home/find/Dropbox/gitoschina/HM-dev/bin/Mobisode.cfg"

设置cache大小上述命令中也说明了。
-c则是表示gem5中要跑的程序,如果要跑的程序需要输入参数,则通过-o+""实现,只需要把要传入的命令参数全部写在""里即可。

运行结果

在我PC i5三代四核处理器上运行了两天以后,480×240的视频30帧终于跑出了结果。运行了三天以后,480P的视频跑了14帧,最终被我耐不住kill了。运行结果大体一样。

system.l2.ReadReq_miss_rate::cpu.inst        0.079577                       # miss rate for ReadReq accesses
system.l2.ReadReq_miss_rate::cpu.data        0.061511                       # miss rate for ReadReq accesses
system.l2.ReadReq_miss_rate::total           0.071960                       # miss rate for ReadReq accesses
system.l2.ReadExReq_miss_rate::cpu.data      0.134882                       # miss rate for ReadExReq accesses
system.l2.ReadExReq_miss_rate::total         0.134882                       # miss rate for ReadExReq accesses
system.l2.demand_miss_rate::cpu.inst         0.079577                       # miss rate for demand accesses
system.l2.demand_miss_rate::cpu.data         0.101774                       # miss rate for demand accesses
system.l2.demand_miss_rate::total            0.093288                       # miss rate for demand accesses
system.l2.overall_miss_rate::cpu.inst        0.079577                       # miss rate for overall accesses
system.l2.overall_miss_rate::cpu.data        0.101774                       # miss rate for overall accesses
system.l2.overall_miss_rate::total           0.093288

L2 的miss率是9.3%。
运行结果的全部文件下载

文章版权归 FindHao 所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明作者 FindHao 和本文原始地址:
https://www.findhao.net/easycoding/1764

你可能喜欢:(相似内容推荐和广告都使用了谷歌的推荐系统,需要对本站取消广告屏蔽才能显示。感谢点击↓广告支持博主~)

Find

新浪微博(FindSpace博客)QQ群:不安分的Coder(375670127) 不安分的Coder

1 条回复

  1. Find说道:

    –outdir= 指定输出结果存放的文件夹

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*