• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

计算机工程与科学

• 高性能计算 • 上一篇    下一篇

异构平台多流编程机制的性能模型研究

彭林,张鹏,方建滨,黄春,唐滔   

  1. (国防科技大学计算机学院,湖南 长沙 410073)
  • 收稿日期:2018-10-18 修回日期:2018-11-14 出版日期:2019-07-25 发布日期:2019-07-25
  • 基金资助:

    国家重点研发计划(2017YFB0202004)

Performance modeling of multi-stream programming
mechanism on heterogeneous platforms

PENG Lin,ZHANG Peng,FANG Jianbin,HUANG Chun,TANG Tao   

  1. (School of Computer,National University of Defense Technology,Changsha 410073,China)
  • Received:2018-10-18 Revised:2018-11-14 Online:2019-07-25 Published:2019-07-25

摘要:

多流编程机制为异构众核加速器提供流水、资源划分等多种资源使用方式,但如何选择有效使用方式目前缺乏指导。基于异构众核处理器Intel MIC上的hStreams,提出了针对单应用多流程序多硬件分区执行的性能模型,分析不同配置下多流程序性能差异的原因,指出了影响多流程序性能的关键因素,提出多流程序划分优化策略,同时所提性能模型能够帮助判断算法实现的效果。实验结果表明,性能模型与多流配置实际测试结果误差小于1%,根据性能模型指导调优稠密矩阵乘的多流程序,比单流程序获得了5.83%的性能提升。

关键词: 多流编程, 流水线, 资源划分, hStreams, 异构平台

Abstract:

Multi-stream programming mechanism can fully provide a variety of resource utilization methods such as pipelining and resource partitioning for heterogeneous many-core accelerators, but there is currently no effective guidance on how to choose effective resource utilization methods. Based on hStreams on heterogeneous manycore processor Intel MIC, we design a performance model for multi-stream program’s multihardware partitioning execution. Based on our performance model, we can identify the reasons for the performance difference of multi-stream programs under varied configurations, find out key factors that affect the performance, and provide a partitioning optimization strategy for multi-stream programs. In addition, it can also judge the effect of algorithm implementation. Our evaluation results show that the error between the estimated results of the performance model and the actual test results of multi-stream configuration is within 1%. Compared to the single-streamed version, our model also realizes a 5.83% performance improvement when guiding multi-stream programs of the dense matrix multiplication.
 

Key words: multi-stream programming, pipelining, resource partitioning, hStreams, heterogeneous platform