国内刊号:11-1777/TP
国际刊号:1000-1239
发布日期:
作者:马兆佳,邵恩,狄战元,马立贤,
关键词:SYCL, 跨异构体系结构, 代码移植, GEMM, 并行优化,
GPU作为构造大规模超算系统的核心计算部件,向着体系结构多样化和异构化的方向发展.来自不同芯片厂商的GPU加速器具有差异较大的体系结构设计.加速器类型和编程模型多样化是构建大规模超算系统的重要技术趋势.多样化加速器要求开发者为多种硬件平台提供高性能共性算法库软件,然而这也导致了算法库软件重复开发问题.为降低重复开发成本,统一编程模型SYCL(system-widecomputelanguage)应运而生,并适配了多种硬件平台.尽管如此,在不同硬件上,SYCL的性能仍不及各自原生编程模型.因此,需要进一步优化SYCL的性能以将目前成熟完备的CUDA(computeunifieddevicearchitecture)编程思路和高性能程序应用到SYCL中.基于软硬件协同设计,提出了paraTRANS方法,该方法是面向跨异构编程模型SYCL代码移植过程中共性算子优化工具,并在不同场景下给出了对移植得到的SYCL的GEMM(generalmatrixmultiplication)进行优化的方法.评测了paraTRANS优化后基于SYCL的GEMM算子在NVIDIARTX3090和AMDMI100上的性能情况.结果显示,在NVIDIARTX3090上,paraTRANS达到了96.95%CUDA原生算子的性能水平;在AMDMI100上,则接近CUDA在NVIDIARTX3090上硬件峰值百分比(100.47%)所表现出来的性能水平.这些结果表明成功地将原生高性能CUDA算子代码移植并进一步优化至SYCL环境中,并为未来类似工作提供新颖且有效的优化思路.
来源:2025年第4期
《计算机研究与发展》期刊编辑部