ISSN 1000-1239 CN 11-1777/TP

计算机研究与发展 ›› 2016, Vol. 53 ›› Issue (6): 1173-1185.doi: 10.7544/issn1000-1239.2016.20150114

• 系统结构 •    下一篇

基于2阶段同步的GPGPU线程块压缩调度方法

张军1,3,何炎祥1,2,沈凡凡1,江南1,4,李清安1,2   

  1. 1(武汉大学计算机学院 武汉 430072);2(软件工程国家重点实验室(武汉大学) 武汉 430072);3(东华理工大学软件学院 南昌 330013);4(湖北工业大学计算机学院 武汉 430068) (zhangjun_whu@whu.edu.cn)
  • 出版日期: 2016-06-01
  • 基金资助: 
    国家自然科学基金重点项目(91118003);国家自然科学基金项目(61373039,61170022,61462004);江西省教育厅科技项目(GJJ150605)

Two-Stage Synchronization Based Thread Block Compaction Scheduling Method of GPGPU

Zhang Jun1,3, He Yanxiang1,2, Shen Fanfan1, Jiang Nan1,4, Li Qing’an1,2   

  1. 1(Computer School, Wuhan University, Wuhan 430072);2(State Key Laboratory of Software Engineering (Wuhan University), Wuhan 430072);3(School of Software, East China University of Technology, Nanchang 330013);4(School of Computer Science, Hubei University of Technology, Wuhan 430068)
  • Online: 2016-06-01

摘要: 通用图形处理器(general purpose graphics processing unit, GPGPU)在面向高性能计算、高吞吐量的通用计算领域的应用日益广泛,它采用的SIMD(single instruction multiple data)执行模式使其能获得强大的并行计算能力.目前主流的通用图形处理器均通过大量高度并行的线程完成计算任务的高效执行.但是在处理条件分支转移的控制流中,由于通用图形处理器采用串行的方式顺序处理不同的分支路径,使得其并行计算能力受到影响.在分析讨论前人针对分支转移处理低效的线程块压缩重组调度方法的基础上,提出了2阶段同步的线程块压缩重组调度方法TSTBC(two-stage synchronization based thread block compaction scheduling),通过线程块压缩重组适合性判断逻辑部件,分2个阶段对线程块进行压缩重组有效性分析,进一步减少了无效的线程块压缩重组次数.模拟实验结果表明:该方法较好地提高了线程块的压缩重组有效性,相对于其他同类方法降低了对线程组内部数据局部性的破坏,并使得片上一级数据cache的访问失效率得到有效降低;相对于基准体系结构,系统性能提升了19.27%.

关键词: 通用图形处理器, 线程调度, 线程块压缩重组, 2阶段同步, 分支转移

Abstract: The application of general purpose graphics processing unit (GPGPU) has become increasingly extensive in the general purpose computing fields facing high performance computing and high throughput. The powerful computing capability of GPGPU comes from single instruction multiple data (SIMD) execution model it takes. Currently, it has become the main stream for GPGPU to implement the efficient execution of the computing tasks via massive high parallel threads. However the parallel computing capability is affected during dealing with the branch divergent control flow as different branch path is processed sequentially. In this paper, we propose TSTBC (two-stage synchronization based thread block compaction scheduling) method based on analyzing the previously proposed thread block compaction scheduling methods in inefficient dealing with divergent branches. This method analyzes the effectiveness of thread block compaction and reconstruction via taking the use of the adequacy decision logic of thread block compaction and decreases the number of inefficient thread block compaction. The simulation experiment results show that the effectiveness of thread block compaction and reconstruction is improved to some extent relative to the other same type of methods, and the destruction on data locality inside the thread group and the on-chip level-one data cache miss rate can be reduced effectively. The performance of the whole system is increased by 1927% over the baseline architecture.

Key words: general purpose graphics processing unit (GPGPU), thread scheduling, thread block compaction and reconstruction, two-stage synchronization, branch divergence

中图分类号: