论文标题
pymgrit:平行时间方法mgrit的python软件包
PyMGRIT: A Python Package for the parallel-in-time method MGRIT
论文作者
论文摘要
在本文中,我们介绍了Python Framework Pymgrit,该框架实现了多个时间降低时间(MGRIT)算法,用于解决因时间依赖性问题的离散化而引起的(非)线性系统。 MGRIT算法是一种基于还原的迭代方法,该方法允许并行仿真,即。例如,通过使用时网层次结构在模拟中同时计算多个时间步骤。 PYMGRIT框架具有MGRIT算法的许多不同变体,范围从不同的多机期循环类型和放松方案以及各种粗化策略(包括时间和时空的变形)到多式Hierachy的不同级别上的不同时间集成剂。 Pymgrit允许串行运行用于原型和测试新方法,并使用消息传递接口(MPI)并行运行。在这里,我们描述了pymgrit中MGRIT算法的实现,并介绍了用户和开发人员观点的用法。三个示例说明了包装的不同方面,包括纯时间并行性以及通过将pymgrit与PETSC或firedrake耦合,这可以通过MPI实现空间并行性。
In this paper, we introduce the Python framework PyMGRIT, which implements the multigrid-reduction-in-time (MGRIT) algorithm for solving the (non-)linear systems arising from the discretization of time-dependent problems. The MGRIT algorithm is a reduction-based iterative method that allows parallel-in-time simulations, i. e., calculating multiple time steps simultaneously in a simulation, by using a time-grid hierarchy. The PyMGRIT framework features many different variants of the MGRIT algorithm, ranging from different multigrid cycle types and relaxation schemes, as well as various coarsening strategies, including time-only and space-time coarsening, to using different time integrators on different levels in the multigrid hierachy. PyMGRIT allows serial runs for prototyping and testing of new approaches, as well as parallel runs using the Message Passing Interface (MPI). Here, we describe the implementation of the MGRIT algorithm in PyMGRIT and present the usage from both user and developer point of views. Three 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.