有限差分法 – 拉普拉斯算子 第 2 部分

首次发布时间:
最后更新时间:
Justin Chang's avatar
Justin Chang
通讯作者
Rajat Arora's avatar
Rajat Arora
作者
Thomas H. Gibson's avatar
Thomas H. Gibson
作者
Sean Miller's avatar
Sean Miller
作者
Ossian O'Reilly's avatar
Ossian O'Reilly
作者

在上一篇关于拉普拉斯算子的帖子中,我们开发了一个基于拉普拉斯算子的有限差分模板代码的 HIP 实现。最初的实现发现是受内存带宽限制的,这意味着其运行时间受限于数据与全局内存之间传输的速率。此外,当前的内存访问模式需要多次访问全局内存才能加载所有数据,因此如果我们可以缓存更多数据,执行时间就可以缩短。我们将图(FOM)定义为*有效内存带宽*,即将理论内存移动量除以实际执行时间。我们 HIP 实现的 FOM 目前达到了单块 MI250X GCD 峰值的 50%[1],但我们的分析表明,将实际内存移动量减少到理论值,可能会使我们的 FOM 达到峰值的至少 71%[1]。在本帖中,我们将介绍两种可应用于内核以帮助实现此目标的常见优化。

  1. 循环分块以显式减少内存加载

  2. 重新排序内存访问模式以提高缓存效率

回顾

在上一篇帖子中,我们考虑了拉普拉斯算子的中心有限差分模板的 HIP 实现。回想一下,拉普拉斯算子的形式是一个标量场 u(x,y,z)u(x,y,z) 的散度梯度:

u=2u=2ux2+2uy2+2uz2\nabla \cdot \nabla u = \nabla^2 u = \frac{\partial^2u}{\partial x^2} + \frac{\partial^2u}{\partial y^2} + \frac{\partial^2u}{\partial z^2}
Justin Chang's avatar

Justin Chang

通讯作者
Justin Chang 是 AMD 数据中心 GPU 软件解决方案部门的高级技术人员 (SMTS) 软件系统设计工程师,负责管理 AMD lab notes 博文系列。他获得了休斯顿大学土木工程博士学位,并发表了多篇关于多孔介质传输的结构保持高性能计算方法的期刊论文。作为博士后,他曾在莱斯大学和美国国家可再生能源实验室工作,以加速电动汽车所用双孔隙多孔介质和锂离子电池的地下流体模拟时间。他还曾在石油和天然气行业工作,专注于关键 FWI、RTM 和其他地震成像工作负载的 GPU 移植和优化。
Rajat Arora's avatar

Rajat Arora

作者
Rajat Arora 是 AMD 数据中心 GPU 软件解决方案部门的高级技术人员 (SMTS) 软件系统设计工程师,他致力于为 AMD GPU 移植和优化高性能计算应用程序。他获得了卡内基梅隆大学计算力学博士学位。他的博士研究集中在高​​性能科学计算、数值分析和材料科学的交叉领域。最近,他的研究兴趣已扩展到包括物理信息机器学习模型的开发以及加速科学发现和工程设计的工具。
Thomas H. Gibson's avatar

Thomas H. Gibson

作者
Thomas Gibson 是 AMD 数据中心 GPU 软件解决方案部门的技术人员 (MTS) 软件系统设计工程师。他获得了伦敦帝国理工学院计算数学博士学位,专注于数值天气模拟代码的混合有限元离散化。博士毕业后,Thomas 继续从事关于天气应用的结构保持(“兼容”)有限元方法和多重网格预处理器的研究。此外,他还开始将研究重点转向使用 GPU 加速流体动力学代码,并开发了用于 GPU 上湍流/燃烧模型的高保真/低耗散不连续伽辽金方法。他目前的研究兴趣包括优化 C/C++/Fortran GPU 应用程序、迭代求解器和预处理、有限元离散化以及数值天气预报应用。
Sean Miller's avatar

Sean Miller

作者
Sean Miller 是 AMD 数据中心 GPU 软件解决方案部门的高级技术人员 (SMTS) 软件系统设计工程师。他获得了华盛顿大学的博士学位,专注于聚变能源应用的计算等离子体物理学。Sean 在桑迪亚国家实验室继续他的研究,开发了高能密度物理建模工具,之后转到 AMD,在那里他支持科学软件在 GPU 加速 HPC 环境下的移植和优化。
Ossian O'Reilly's avatar

Ossian O'Reilly

作者
Ossian O'Reilly 是 AMD 数据中心 GPU 软件解决方案部门的技术人员 (MTS) 软件系统设计工程师。他致力于为 AMD GPU 移植和优化科学计算和工程应用程序。他拥有斯坦福大学地球物理学博士学位和瑞典林雪平大学计算数学博士学位。他的博士研究专注于用于包含摩擦界面和充满流体的裂缝的地震波传播的高阶数值方法,这些方法可应用于地震和火山学以及石油和天然气行业。作为博士后,他从事用于地形地震波传播的数值方法开发和分析,并针对 OLCF Summit 超级计算机实现了 GPU 模板内核。Ossian 的一些技术兴趣包括用于偏微分方程的高阶数值方法、基于模板和无矩阵方法,以及 GPU 内核开发和优化。
© . This site is unofficial and not affiliated with AMD.