基于Stencil的Parareal方法在C++领域特定嵌入语言STELLA中的实现
A stencil-based implementation of Parareal in the C++ domain specific embedded language STELLA
AI总结:
本文提出在STELLA中实现时间并行的Parareal方法,结合节点级空间并行与时间并行,通过MPI实现Parareal,分析了CPU和GPU后端在对流扩散问题中的加速、并行效率和能耗。
摘要:
鉴于现代超计算机核心数量的迅速增长,时间并行方法通过在时间轴上引入并行性变得越来越受欢迎。对于时间依赖的偏微分方程求解,这些方法可以在空间并行化的基础上增加时间方向的并行性。本文在C++领域特定嵌入语言STELLA中实现了时间并行的Parareal方法,STELLA提供了OpenMP和CUDA后端,用于共享内存并行化,使用节点内的CPU或GPU进行空间Stencil计算。这里,我们通过添加基于MPI的Parareal实现,将节点级空间并行与时间并行结合起来。通过分析Parareal在两种后端下的性能,包括加速、并行效率和能耗,针对具有时间依赖扩散系数的对流扩散问题进行评估。
英文摘要:
In view of the rapid rise of the number of cores in modern supercomputers, time-parallel methods that introduce concurrency along the temporal axis are becoming increasingly popular. For the solution of time-dependent partial differential equations, these methods can add another direction for concurrency on top of spatial parallelization. The paper presents an implementation of the time-parallel Parareal method in a C++ domain specific language for stencil computations (STELLA). STELLA provides both an OpenMP and a CUDA backend for a shared memory parallelization, using the CPU or GPU inside a node for the spatial stencils. Here, we intertwine this node-wise spatial parallelism with the time-parallel Parareal. This is done by adding an MPI-based implementation of Parareal, which allows us to parallelize in time across nodes. The performance of Parareal with both backends is analyzed in terms of speedup, parallel efficiency and energy-to-solution for an advection-diffusion problem with a time-dependent diffusion coefficient.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。