当前位置: X-MOL 学术ACM Trans. Math. Softw. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Data-flow Reversal and Garbage Collection
ACM Transactions on Mathematical Software ( IF 2.7 ) Pub Date : 2024-03-16 , DOI: 10.1145/3627537
Laurent Hascoët 1
Affiliation  

Data-flow reversal is at the heart of source-transformation reverse algorithmic differentiation (reverse ST-AD), arguably the most efficient way to obtain gradients of numerical models. However, when the model implementation language uses garbage collection (GC), for instance, in Java or Python, the notion of address that is needed for data-flow reversal disappears. Moreover, GC is asynchronous and does not appear explicitly in the source. This article presents an extension to the model of reverse ST-AD suitable for a language with GC. The approach is validated on a Java implementation of a simple Navier-Stokes solver. Performance is compared with existing AD tools ADOL-C and Tapenade on an equivalent implementation in C and Fortran.



中文翻译:

数据流反转和垃圾收集

数据流反转是源转换反向算法微分(反向 ST-AD)的核心,可以说是获得数值模型梯度的最有效方法。然而,当模型实现语言使用垃圾收集(GC)时,例如在 Java 或 Python 中,数据流反转所需的地址概念就消失了。而且,GC是异步的,在源码中没有明确出现。本文提出了适用于带有 GC 的语言的反向 ST-AD 模型的扩展。该方法在简单的 Navier-Stokes 求解器的 Java 实现上得到了验证。在 C 和 Fortran 中的等效实现上与现有 AD 工具 ADOL-C 和 Tapenade 进行了性能比较。

更新日期:2024-03-16
down
wechat
bug