benchmark与gem5-gpu交互
gem5-gpu作为一个异构多核系统的模拟器,当我们使用异构融合多核处理器架构(特别是支持HSA的处理器架构)运行GPU与CPU的benchmark时,研究自己设计的算法或添加的硬件对GPU与CPU存在资源竞争的系统组件(如Cache,NoC)的性能影响时,除非这两种程序的运行时间或指令数都足够达到-I标识所设定的数量,用 -I 标识退出模拟器的方法是非常暴力的,产生的结果一定不准确,不能正确反应我们所作的工作对性能或者功耗的影响。在CPU和GPU程序的最后调用gem5-gpu的退出指令:m5_exit(0),这样,在模拟器运行期间,模拟器中是这两种程序同时运行。
要在程序中调用m5_exit(0)指令,需把包含该指令的头文件包含在调用者的源文件中,m5op.h中也有其它指令,自行参阅。
#include "/path/to/gem5-gpu/gem5/util/m5/m5op.h"