GPU 加速的环境模拟性能优于超级计算机
- 一名博士生开发了一种在 GPU 上运行复杂模拟的游戏技术。
- 模拟涉及巨大的海浪撞击海上风力涡轮机。
- GPU 上的溃坝模拟运行速度比 16 线程 CPU 运行时间快 4.5 倍。
正在曼彻斯特大学攻读博士学位的 Alex Chow 构建了一个程序,可以在图形处理单元 (GPU) 上执行复杂的工程和科学模拟。
到目前为止,高端显卡用于为个人电脑、笔记本电脑和游戏机创建逼真的视觉效果和快速的游戏体验。但现在,GPU 正在成为一种加速复杂模拟的技术,其执行多个应用程序的速度比传统 CPU 快数百倍。
最终目标是在显卡而不是超级计算机上进行大规模模拟。由于超级计算机由数百个并行连接的CPU组成,因此在执行数十亿次计算时会消耗大量电力。此外,它们非常昂贵,只有少数科学家和研究人员可以获得。
另一方面,GPU 节能且比传统超级计算机便宜得多。他们不需要整个房间或专用设施。事实上,现代显卡足够紧凑,可以安装在笔记本电脑中。
到目前为止已经执行了哪些模拟?
Chow 开发了一种软件,可以在强大的显卡上创建大规模的剧烈流体流动模拟。该模拟涉及巨大的海浪撞击海上风力涡轮机,以更好地检查施加在结构上的力(包括潜在的冲击力)。
他是怎么做到的?
该软件是使用名为 DualSPhysics 的开源代码开发的,该代码基于平滑粒子流体动力学 (SPH) 模型。该代码允许复杂的模拟(如剧烈的流体动力流)在 GPU 上运行。它可以在单个设备上处理 3D 科学应用的数百万个数据点的计算。
对于 Chow 来说,最具挑战性的部分是同时求解数百万个方程的数学系统,这些方程在整个模拟过程中会快速变化。
参考:ScienceDirect | doi:10.1016/j.cpc.2018.01.005 |曼彻斯特大学
技术细节
不可压缩SPH是通过优化弱可压缩SPH代码并与ViennaCL(开源线性代数库)集成来执行的,以快速实现压力泊松方程(PPE)。
创建 PPE 矩阵用于以特定间隔移动粒子,以优化 GPU 的有限内存。不可压缩的SPH压力投影算法在4个不同的级别上执行。此外,还建立了精确、鲁棒的边界条件,以实现高效的并行处理。
GPU 上 DualSPHysics Predictor–Corrector 时间步长中关键重复步骤的流程图
本研究通过大量验证案例来证明该技术的精确性、速度和灵活性。例如,GPU 上的溃坝模拟运行速度分别比 16 线程和单线程 CPU 运行时间快 4.5 倍和 18 倍。
此模拟有何帮助?
英国每年 5% 的电能来自海上风电,预计未来 2 年内这一比例将增长至 10%,而且这一比例还在全球范围内增长。
有时海洋环境极其恶劣和暴力,这就是为什么为它们开发结构并不是一件容易的事。在这些环境下进行物理实验会非常昂贵且耗时,或者可以说不切实际。
阅读:世界上第一个基于光学处理技术的神经网络
这些模拟将帮助科学家和工程师就结构设计和工业自由表面流体动力工程应用采取关键步骤和决策,而无需投资昂贵的实验。
工业技术