PyMGRIT:时间并行方法MGRIT的Python包
PyMGRIT: A Python Package for the parallel-in-time method MGRIT
摘要:
在本文中,我们介绍了Python框架PyMGRIT,它实现了多网格减少的时间(MGRIT)算法,用于解决(非)线性系统所产生的离散化的时间相关的问题。MGRIT算法是一种基于约简的迭代法,允许时间上的并行模拟,即。例如,通过使用时间网格层次,在仿真中同时计算多个时间步长。PyMGRIT框架具有MGRIT算法的许多不同变体,从不同的多重网格循环类型和松弛方案,以及各种粗化策略,包括纯时间粗化和时空粗化,到在多重网格层次中的不同级别上使用不同的时间积分器。PyMGRIT允许串行运行原型和测试新方法,以及使用消息传递接口(MPI)的并行运行。在这里,我们描述了MGRIT算法在PyMGRIT中的实现,并从用户和开发人员的角度介绍了使用方法。三个示例说明了该包的不同方面,包括纯时间并行性以及通过将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.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。