首页> 外文期刊>ACM transactions on mathematical software >Algorithm 1016: PyMGRIT: A Python Package for the Parallel-in-time Method MGRIT
【24h】

Algorithm 1016: PyMGRIT: A Python Package for the Parallel-in-time Method MGRIT

机译:算法1016:Pymgrit:用于并行时间方法MGRIT的Python包

获取原文
获取原文并翻译 | 示例

摘要

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 multi-grid 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.
机译:在本文中,我们介绍了Python框架Pymetrit,其实现了用于求解(非)线性系统的多共度缩短时间(MGRIT)算法,从而从而从而通过时间依赖性问题而产生的。 MGRIT算法是一种基于还原的迭代方法,允许并行时间仿真,即,使用时间网格层次结构在模拟中同时计算多个时间步骤。 Pymgrit框架包括MGRIT算法的许多不同变体,包括不同的多电网周期类型和放松方案,各种粗化策略,包括仅限时间和时空粗化,以及利用不同时间集成商在不同层面上的能力Multigrid Hierachy。具有教程和许多示例和完全记录的代码的全面文档允许简单地开始与包的工作。使用连续集成的自动串行测试确保代码的功能。 Pymetrit支持适合对新方法的原型设计和测试的串行运行,以及使用消息传递接口(MPI)的并行运行。在此稿件中,我们描述了PMMRIT中的MGRIT算法的实现,并从用户和开发人员的角度呈现使用。三个例子说明了包装本身的不同方面,特别是通过与PETSC或Firedarake的Pymgrit耦合,以及空时并行度运行测试。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号