GPU加速伪谱求解器与化学反应多准则优化
一、GPU加速FFT及TARANG伪谱求解器
1.1 GPU-FFT性能分析
在多节点计算中,FFT是通信密集型库。在多核集群上,通信时间约占总时间的98% 。但在单个DGX盒子中,计算时间(Tcomp)与通信时间(Tcomm)相近,所以在单个DGX盒子中使用GPU-FFT是最高效的。
通过对Selene上不同精度(单精度和双精度)、不同网格(1024³、2048³和4096³)的FFT进行弱缩放测试,发现数据点未汇聚成一条曲线,但在某些段的行为与强缩放类似,近似拟合得到的弱缩放指数约为0.9,但该指数不能准确代表FFT性能。与其他现有GPU FFT库相比,我们实现的FFT性能相当。
将我们的GPU-FFT与FFTK(基于C++的FFT)比较,发现Selene的128个A100 GPU上的性能与Shaheen II(Cray XC40)的196608个英特尔Haswell核心(或12288个处理器)相当,这得益于A100 GPU的快速计算以及NVlink和NVSwitch实现的高效GPU间通信。
1.2 TARANG伪谱求解器结构
在伪谱方案中,给定初始条件后,在谱空间中求解流体方程。为避免卷积,非线性计算的乘积在实空间的FFT中计算,因此伪谱求解器的时间复杂度为O(M log M),其中M是网格点总数。
计算非线性项和压力项后,使用四阶龙格 - 库塔(RK4)方法推进方程以达到最终状态,耗散项(粘性和焦耳)使用指数技巧计算。
TARANG使用Python和CuPy库实现,由于CuPy和NumPy有显著相似性,代码向GPU迁移很直接
超级会员免费看
订阅专栏 解锁全文
16

被折叠的 条评论
为什么被折叠?



