arrow
返回

Automatic GPU memory access optimization for AoSoA-based application in OP2 framework

delete2025-08-15
delete0
PRE
AI
L
Lei Tong
Z
Z. Chen
Y
Yonggang Che *
C
Chuanfu Xu
Z
Z. G. Dai
张健 封面图
张健 (Jian Zhang)
DOI:10.1007/s11227-025-07734-5delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
便携式并行编程方法因硬件架构日益多样化而对应用程序开发者具有吸引力。OP2是一种面向非结构化网格应用的领域专用编程框架,支持多硬件平台的统一编程。结构(Structure)作为一种用户自定义数据类型,可将可能不同类型的项目组合为单一类型,在许多应用中普遍使用。当前OP2实现面临利用GPU内存层次结构的局限性,特别是在处理复杂数据组织时,具体是指数组结构化数组(Array of Structure of Array, AoSoA)模式,其中顶层数组的每个元素是多维数组的结构体。为解决此问题,我们首先提出了一种新的SoA(Structure of Array)布局转换算法,用于AoSoA应用以优化数据访问局部性。随后,我们引入新的OP2原语,使CUDA代码能够利用本地内存和共享内存。这些改进集成到OP2的库和源到源翻译器中,可实现优化CUDA代码的自动生成。我们在代表性GPU上使用一个高阶非结构化计算流体力学(CFD)应用评估所提方法。与原始实现相比,优化实现使性能在NVIDIA V100S上提升了高达25.68倍,在NVIDIA A100上提升了4.74倍,在Hygon Z100 DCU上提升了3.7倍。我们还测量了一组选定的GPU低级性能指标,以更好地解释结果。
Keyword:
OP2 framework
Unstructured mesh applications
GPU memory hierarchy
Code generation
Automatic performance optimization

期刊

Journal of Supercomputing 封面图
Journal of Supercomputing
IF:
2.7
论文数:
1.2K
被引数:
1.0W

机构

C
China Aerodynamics Research and Development Center
学者数:
392
论文数: 194
被引数: 1.5K
引用论文

引用论文

暂无论文信息