Skip to main content
QUICK REVIEW

[论文解读] GPU Accelerated Discontinuous Galerkin Methods for Shallow Water Equations

Rajesh Gandham, David Medina|arXiv (Cornell University)|Mar 7, 2014
Computational Fluid Dynamics and Aerodynamics参考文献 20被引用 3
一句话总结

本文提出了一种基于GPU加速的高阶不连续伽辽金方法,用于求解二维浅水方程,具有高精度和强鲁棒性。该方法采用多速率亚当斯-巴什福斯格式实现局部时间步长,结合改进的总变差有界限制器与保持正性的限制器以处理干湿过渡,通过每个工作组处理多个单元及优化的内存访问模式,在GPU上实现了最高5倍的加速,且在OpenCL、CUDA和OpenMP平台上均具备可移植性能,得益于OCCA框架。

ABSTRACT

We discuss the development, verification, and performance of a GPU accelerated discontinuous Galerkin method for the solutions of two dimensional nonlinear shallow water equations. The shallow water equations are hyperbolic partial differential equations and are widely used in the simulation of tsunami wave propagations. Our algorithms are tailored to take advantage of the single instruction multiple data (SIMD) architecture of graphic processing units. The time integration is accelerated by local time stepping based on a multi-rate Adams-Bashforth scheme. A total variational bounded limiter is adopted for nonlinear stability of the numerical scheme. This limiter is coupled with a mass and momentum conserving positivity preserving limiter for the special treatment of a dry or partially wet element in the triangulation. Accuracy, robustness and performance are demonstrated with the aid of test cases. We compare the performance of the kernels expressed in a portable threading language OCCA, when cross compiled with OpenCL, CUDA, and OpenMP at runtime.

研究动机与目标

  • 开发一种用于模拟海啸波传播的高阶、稳定且高效的数值格式,基于浅水方程。
  • 应对具有大尺度海底地形变化、不规则边界以及干湿动态变化的非线性双曲型PDE带来的挑战。
  • 利用GPU硬件架构,通过优化内存访问与并行性,加速不连续伽辽金离散化过程。
  • 借助OCCA可移植线程框架,在异构GPU与CPU平台上实现高性能计算的可移植性。
  • 通过先进限制器与正性保持方案确保数值鲁棒性,尤其在干或部分湿润单元中表现稳定。

提出的方法

  • 在非结构化三角形网格上采用节点型不连续伽辽金方法对浅水方程进行离散化,实现高阶精度与局部质量守恒。
  • 采用多速率亚当斯-巴什福斯时间积分格式并结合局部时间步长,通过允许不同单元采用不同时间步长提升计算效率。
  • 应用改进的总变差有界(TVB)限制器,以抑制解中的虚假振荡,同时保持光滑区域的高阶精度。
  • 提出一种质量与动量守恒的正性保持限制器,用于处理干或部分湿润单元,确保物理稳定性。
  • 通过循环展开、内存对齐填充、共享内存使用以及每个工作组处理多个单元等方式优化GPU内核,以最大化内存带宽并隐藏延迟。
  • 使用OCCA可移植线程语言编写一次内核代码,并在运行时交叉编译为OpenCL、CUDA或OpenMP,实现异构架构间的可移植高性能计算。

实验结果

研究问题

  • RQ1能否通过可移植代码在GPU架构上高效加速基于高阶不连续伽辽金方法的浅水方程求解?
  • RQ2在非结构化网格上,多速率亚当斯-巴什福斯格式的局部时间步长在提升双曲型PDE计算效率方面效果如何?
  • RQ3结合TVB限制器与正性保持限制器是否能在干或部分湿润单元存在时维持数值稳定性和精度?
  • RQ4通过共享内存使用、循环展开及每个工作组处理多个单元等GPU内核优化手段,可实现多大程度的性能提升?
  • RQ5OCCA生成的内核在不同GPU与CPU平台上的性能与手写优化的OpenCL和CUDA内核相比如何?

主要发现

  • 通过每个工作组处理多个单元,GPU加速的不连续伽辽金求解器实现了最高5倍的加速,性能高度依赖于GPU架构。
  • 利用共享内存存储单元相关算子显著提升了性能——尤其在NVIDIA Tesla C2050上表现明显,相较于全局内存访问展现出明确的性能优势。
  • 改进的TVB限制器有效抑制了解中的振荡,同时在光滑区域保持了高阶精度。
  • 正性保持限制器成功处理了干湿过渡过程,未引入非物理振荡,也未造成质量或动量的损失。
  • OCCA生成的内核在NVIDIA Titan GPU上实现了与手写优化的OpenCL和CUDA内核相当的性能,验证了其可移植性与效率。
  • 在CPU上,OCCA配合OpenMP的性能优于OCCA配合OpenCL,表明通过OCCA实现的CPU优化内核在某些情况下可与GPU移植代码相媲美。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。