A stencil-based implementation of Parareal in the C++ domain specific embedded language STELLA

作者:

Highlights:

摘要

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.

论文关键词:Parareal,STELLA,Parallel-in-time,Stencil computation,Speedup,Energy consumption

论文评审过程:Available online 20 January 2015, Version of Record 20 September 2015.

论文官网地址:https://doi.org/10.1016/j.amc.2014.12.055