DCNANADec 3, 2014

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

arXiv:1409.8563
Originality Synthesis-oriented
AI Analysis

This work provides a practical implementation of time-parallel methods for stencil-based PDE solvers, targeting domain scientists using STELLA, but the results are incremental as it applies existing methods to a specific framework.

The paper implements the time-parallel Parareal method in the STELLA domain-specific language for stencil computations, combining spatial parallelism (OpenMP/CUDA) with temporal parallelism (MPI). For an advection-diffusion problem, they analyze speedup, parallel efficiency, and energy-to-solution, demonstrating the feasibility of this hybrid approach.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes