无需用户注解的任意程序的二项检查点
编程语言
2016-11-11 v1 机器学习
数学软件
摘要
迄今为止,为了在反向模式下降低空间复杂度,在过程调用边界的自动检查点已由Tapenade等系统提供。然而,二项检查点(binomial checkpointing,或称treeverse)仅在自动微分(AD)系统的特殊情况中提供,例如通过Tapenade中对DO循环的用户提供的编译指示,或作为adol-c中用于时间积分过程的嵌套磁带机制,这要求用户代码被重构。我们提出了一个将二项检查点应用于任意代码的框架,无需特殊注解或重构。这是通过将二项检查点直接应用于程序迹来实现的。该迹由与AD正交的通用检查点机制产生。
引用
@article{arxiv.1611.03410,
title = {Binomial Checkpointing for Arbitrary Programs with No User Annotation},
author = {Jeffrey Mark Siskind and Barak A. Pearlmutter},
journal= {arXiv preprint arXiv:1611.03410},
year = {2016}
}
备注
Extended abstract presented at the AD 2016 Conference, Sep 2016, Oxford UK