伴随多级时间步方案的最优检查点
Optimal Checkpointing for Adjoint Multistage Time-Stepping Schemes
摘要:
我们考虑检查点策略,最大限度地减少使用多级时间步长计划,这需要在一个完整的时间步长内计算几个子步骤进行离散伴随计算时所需的重新计算的数量。在这种情况下,我们提出了两个算法,可以在弱假设下生成最优的检查点调度。第一个是一个扩展的开创性的Revolve算法适用于多级计划。第二种算法是基于动态规划的CAMS算法,与其他算法相比,它需要的重算次数最少。CAMS算法在一个绑定到C和Python的库中公开提供。数值结果表明,所提出的算法可以提供高达两倍的加速比相比,经典的Revolve。此外,我们讨论了一个量身定制的实现的伴随计算,可以说是更适合于成熟的科学计算库,避免了中央控制假设的原始检查点策略。所提出的算法已被采用的PETSc TSAdjoint库。他们的表现已经证明了一个大规模的偏微分方程约束优化问题的领导级超级计算机。
英文摘要:
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.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。