酶– LLVM的高性能自动分化

2021-02-06 19:52:41

Enzyme项目是用于执行可静态分析的LLVM IR的反向模式自动区分(AD)的工具。这使开发人员可以使用酶自动创建其源代码的渐变,而无需进行大量额外工作。

通过在优化后区分代码,Enzyme能够比在优化之前区分程序的现有工具创建更快的派生工具。

可选的预处理阶段,执行较小的转换,这些转换通常对AD有所帮助。

活动分析,确定哪些指令或值会影响导数计算(在现有AD系统中很常见)。

优化过程可创建任何必需的派生函数,并用生成的函数替换对__enzyme_autodiff的调用。

@incollection {enzymeNeurips,标题= {而不是为机器学习重写外国代码,自动合成快速​​梯度},作者= {Moses,William S.和Churavy,Valentin},书名= {神经信息处理系统的先进性33},年= {2020},}