无用户注释任意程序的二项式检查点
Binomial Checkpointing for Arbitrary Programs with No User Annotation
摘要:
因此,Tapenade等系统提供了在过程调用边界的自动检查点,以降低反向模式的空间复杂度。然而,二项式检查点或树型检查点仅在特殊情况下在自动微分(AD)系统中提供,例如,通过Tapenade中DO循环上用户提供的杂注,或者作为adol-c中用于时间集成过程的嵌套录音机制,这需要重构用户代码。我们提出了一个框架应用二项式检查点任意代码,没有特殊的注释或重构要求。这是通过将二项式检查点直接应用于程序跟踪来实现的。此跟踪由与AD正交的通用检查点机制生成。
英文摘要:
Heretofore, automatic checkpointing at procedure-call boundaries, to reduce the space complexity of reverse mode, has been provided by systems like Tapenade. However, binomial checkpointing, or treeverse, has only been provided in Automatic Differentiation (AD) systems in special cases, e.g., through user-provided pragmas on DO loops in Tapenade, or as the nested taping mechanism in adol-c for time integration processes, which requires that user code be refactored. We present a framework for applying binomial checkpointing to arbitrary code with no special annotation or refactoring required. This is accomplished by applying binomial checkpointing directly to a program trace. This trace is produced by a general-purpose checkpointing mechanism that is orthogonal to AD.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。