当前位置:
X-MOL 学术
›
arXiv.cs.MS
›
论文详情
Our official English website, www.x-mol.net, welcomes your
feedback! (Note: you will need to create a separate account there.)
Optimal Checkpointing for Adjoint Multistage Time-Stepping Schemes
arXiv - CS - Mathematical Software Pub Date : 2021-06-25 , DOI: arxiv-2106.13879 Hong Zhang, Emil Constantinescu
arXiv - CS - Mathematical Software Pub Date : 2021-06-25 , DOI: arxiv-2106.13879 Hong Zhang, Emil Constantinescu
We consider checkpointing strategies that minimize the number of
recomputations needed when performing discrete adjoint computations using
multistage time-stepping schemes, which requires computing several substeps
within one complete time step. In this case we propose two algorithms that can
generate optimal checkpointing schedules under weak assumptions. The first is
an extension of the seminal Revolve algorithm adapted to multistage schemes.
The second algorithm, named CAMS, is developed based on dynamic programming,
and it requires the least number of recomputations when compared with other
algorithms. The CAMS algorithm is made publicly available in a library with
bindings to C and Python. Numerical results illustrate that the proposed
algorithms can deliver up to two times the speedup compared with that of
classical Revolve. Moreover, we discuss a tailored implementation of an adjoint
computation that is arguably better suited for mature scientific computing
libraries by avoiding the central control assumed by the original checkpointing
strategy. The proposed algorithms have been adopted by the PETSc TSAdjoint
library. Their performance has been demonstrated with a large-scale
PDE-constrained optimization problem on a leadership-class supercomputer.
中文翻译:
伴随多级时间步进方案的最佳检查点
我们考虑使用多级时间步长方案执行离散伴随计算时所需的重新计算次数最小化的检查点策略,这需要在一个完整的时间步长内计算多个子步。在这种情况下,我们提出了两种算法,可以在弱假设下生成最佳检查点调度。第一个是适用于多级方案的开创性 Revolve 算法的扩展。第二种算法称为CAMS,是基于动态规划开发的,与其他算法相比,它需要最少的重新计算次数。CAMS 算法在绑定到 C 和 Python 的库中公开提供。数值结果表明,与经典 Revolve 相比,所提出的算法可以提供高达两倍的加速。而且,我们讨论了伴随计算的定制实现,通过避免原始检查点策略假设的中央控制,它可以说更适合成熟的科学计算库。所提出的算法已被 PETSc TSAdjoint 库采用。它们的性能已经在领导级超级计算机上通过大规模 PDE 约束优化问题得到了证明。
更新日期:2021-06-29
中文翻译:
伴随多级时间步进方案的最佳检查点
我们考虑使用多级时间步长方案执行离散伴随计算时所需的重新计算次数最小化的检查点策略,这需要在一个完整的时间步长内计算多个子步。在这种情况下,我们提出了两种算法,可以在弱假设下生成最佳检查点调度。第一个是适用于多级方案的开创性 Revolve 算法的扩展。第二种算法称为CAMS,是基于动态规划开发的,与其他算法相比,它需要最少的重新计算次数。CAMS 算法在绑定到 C 和 Python 的库中公开提供。数值结果表明,与经典 Revolve 相比,所提出的算法可以提供高达两倍的加速。而且,我们讨论了伴随计算的定制实现,通过避免原始检查点策略假设的中央控制,它可以说更适合成熟的科学计算库。所提出的算法已被 PETSc TSAdjoint 库采用。它们的性能已经在领导级超级计算机上通过大规模 PDE 约束优化问题得到了证明。