PyMGRIT – a Python Package for the multigrid-reduction-in-time algorithm

Jens Hahne (Bergische Universität Wuppertal, Germany)

 The multigrid-reduction-in-time (MGRIT) algorithm is a reduction-based time-multigrid method for solving time-dependent problems. The MGRIT method is a non-intrusive approach that essentially uses the same time integrator as a traditional time-stepping algorithm. Therefore, it is particularly well suited for introducing time parallelism in simulations using existing application codes. In this talk, we introduce the Python framework PyMGRIT, which implements the MGRIT algorithm. The PyMGRIT framework features many different variants of the MGRIT algorithm, from different cycle types and relaxation schemes, as well as various coarsening strategies, including time-only and space-time coarsening, to different time integrators on different levels in the multigrid hierarchy. Thereby, PyMGRIT allows serial runs for prototyping and testing of new approaches, as well as parallel runs using the Message Passing Interface (MPI). Examples illustrate different aspects of the package, including pure time parallelism as well as space-time parallelism by coupling PyMGRIT with PETSc or Firedrake, which enable spatial parallelism through MPI.