当前位置: X-MOL 学术ACM Trans. Math. Softw. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Algorithm 1016
ACM Transactions on Mathematical Software ( IF 2.7 ) Pub Date : 2021-04-20 , DOI: 10.1145/3446979
Jens Hahne 1 , Stephanie Friedhoff 1 , Matthias Bolten 1
Affiliation  

In this article, we introduce the Python framework PyMGRIT, which implements the multigrid-reduction-in-time (MGRIT) algorithm for solving (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, using a time-grid hierarchy. The PyMGRIT framework includes many different variants of the MGRIT algorithm, ranging from different multigrid cycle types and relaxation schemes, various coarsening strategies, including time-only and space-time coarsening, and the ability to utilize different time integrators on different levels in the multigrid hierachy. The comprehensive documentation with tutorials and many examples and the fully documented code allow an easy start into the work with the package. The functionality of the code is ensured by automated serial and parallel tests using continuous integration. PyMGRIT supports serial runs suitable for prototyping and testing of new approaches, as well as parallel runs using the Message Passing Interface (MPI). In this manuscript, we describe the implementation of the MGRIT algorithm in PyMGRIT and present the usage from both a user and a developer point of view. Three examples illustrate different aspects of the package itself, especially running tests with pure time parallelism, as well as space-time parallelism through the coupling of PyMGRIT with PETSc or Firedrake.

中文翻译:

算法 1016

在本文中,我们介绍了 Python 框架 PyMGRIT,它实现了多网格时间缩减 (MGRIT) 算法,用于求解由时间相关问题离散化产生的(非线性)线性系统。MGRIT 算法是一种基于约简的迭代方法,它允许实时并行模拟,即使用时间网格层次结构在模拟中同时计算多个时间步长。PyMGRIT 框架包括 MGRIT 算法的许多不同变体,包括不同的多重网格循环类型和松弛方案、各种粗化策略,包括仅时间粗化和时空粗化,以及在多重网格的不同级别上利用不同时间积分器的能力层次结构。包含教程和许多示例的综合文档以及完整记录的代码使您可以轻松开始使用该软件包。代码的功能通过使用持续集成的自动化串行和并行测试来确保。PyMGRIT 支持适用于新方法的原型设计和测试的串行运行,以及使用消息传递接口 (MPI) 的并行运行。在这篇手稿中,我们描述了 PyMGRIT 中 MGRIT 算法的实现,并从用户和开发人员的角度介绍了其用法。三个示例说明了包本身的不同方面,特别是运行具有纯时间并行性的测试,以及通过 PyMGRIT 与 PETSc 或 Firedrake 耦合的时空并行性。代码的功能通过使用持续集成的自动化串行和并行测试来确保。PyMGRIT 支持适用于新方法的原型设计和测试的串行运行,以及使用消息传递接口 (MPI) 的并行运行。在这篇手稿中,我们描述了 PyMGRIT 中 MGRIT 算法的实现,并从用户和开发人员的角度介绍了其用法。三个示例说明了包本身的不同方面,特别是运行具有纯时间并行性的测试,以及通过 PyMGRIT 与 PETSc 或 Firedrake 耦合的时空并行性。代码的功能通过使用持续集成的自动化串行和并行测试来确保。PyMGRIT 支持适用于新方法的原型设计和测试的串行运行,以及使用消息传递接口 (MPI) 的并行运行。在这篇手稿中,我们描述了 PyMGRIT 中 MGRIT 算法的实现,并从用户和开发人员的角度介绍了其用法。三个示例说明了包本身的不同方面,特别是运行具有纯时间并行性的测试,以及通过 PyMGRIT 与 PETSc 或 Firedrake 耦合的时空并行性。我们描述了 PyMGRIT 中 MGRIT 算法的实现,并从用户和开发人员的角度展示了其用法。三个示例说明了包本身的不同方面,特别是运行具有纯时间并行性的测试,以及通过 PyMGRIT 与 PETSc 或 Firedrake 耦合的时空并行性。我们描述了 PyMGRIT 中 MGRIT 算法的实现,并从用户和开发人员的角度展示了其用法。三个示例说明了包本身的不同方面,特别是运行具有纯时间并行性的测试,以及通过 PyMGRIT 与 PETSc 或 Firedrake 耦合的时空并行性。
更新日期:2021-04-20
down
wechat
bug