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

Andrea Arteaga, Daniel Ruprecht*, Rolf Krause

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

11 Scopus citations

Abstract

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.

Original languageEnglish (US)
Pages (from-to)727-741
Number of pages15
JournalApplied Mathematics and Computation
Volume267
DOIs
StatePublished - Sep 15 2015

Bibliographical note

Publisher Copyright:
© 2014 Elsevier Inc. All rights reserved.

Keywords

  • Energy consumption
  • Parallel-in-time
  • Parareal
  • Speedup
  • STELLA
  • Stencil computation

ASJC Scopus subject areas

  • Computational Mathematics
  • Applied Mathematics

Fingerprint

Dive into the research topics of 'A stencil-based implementation of Parareal in the C++ domain specific embedded language STELLA'. Together they form a unique fingerprint.

Cite this