计算机工程与应用 ›› 2023, Vol. 59 ›› Issue (10): 75-85.DOI: 10.3778/j.issn.1002-8331.2208-0017
王鑫,李嘉楠,韩林,赵荣彩,周强伟
WANG Xin, LI Jianan, HAN Lin, ZHAO Rongcai, ZHOU Qiangwei
摘要: 国产异构处理器DCU(deep computing unit)上的本地数据共享(local data share,LDS)是一种低延迟、高带宽的显式寻址内存。国产异构系统的OpenMP未提供LDS访问的编程接口,导致未有效地利用LDS硬件实现数据的高效访存。针对此问题,研究了面向DCU平台的OpenMP Offload执行模式和LDS的分配方法,以及特定于LDS访存的指令结构,实现了LDS访存的手动支持。另外针对于OpenMP Offload的不同执行模式,在此优化方法的基础上实现了LDS访存的自动化,形成了一套面向国产异构平台的高效访存策略。实验采用polybench标准测试集进行测试,利用手动和自动优化方法在单线程模式下平均加速比可达2.60,利用手动优化方法在多线程non-SPMD模式下平均加速比达1.38,利用自动优化方法在多线程SPMD模式下平均加速比达1.11。实验结果表明LDS访存的自动和手动支持有助于提高OpenMP异构程序运行速度。