《计算机应用》唯一官方网站 ›› 2023, Vol. 43 ›› Issue (10): 3170-3177.DOI: 10.11772/j.issn.1001-9081.2022091338
所属专题: 先进计算
杨小艺1,2, 赵荣彩1,2, 王洪生2(), 韩林1,2, 徐坤坤1,2
Xiaoyi YANG1,2, Rongcai ZHAO1,2, Hongsheng WANG2(), Lin HAN1,2, Kunkun XU1,2
摘要:
国产DCU采用单指令多线程(SIMT)的并行执行模型,在程序执行时核函数内会产生非一致控制流,导致线程束中的线程部分只能串行执行,即线程束分化。针对核函数的性能因线程束分化受到严重制约的问题,提出一种减少线程束分化时间的编译优化方法——部分控制流合并(PCFM)。首先,通过散度分析找到同构且含有大量相同指令和相似指令的可融合发散区域;其次,统计合并后节省的指令周期百分比,从而评估可融合发散区域的融合盈利;最后,查找对齐序列,并合并有收益的可融合发散区域。在DCU上使用PCFM测试从图形处理器(GPU)基准测试套件Rodinia和经典的排序算法中选择的测试用例,实验结果表明,PCFM对测试用例能够取得1.146的平均加速比,与分支融合+尾合并方法相比,使用PCFM的加速比平均提高了5.72%。可见,所提方法减少线程束分化的效果更好。
中图分类号: