Enzyme: Cross-language Automatic differentiation for LLVM IR(csail.mit.edu)
csail.mit.edu
Enzyme: Cross-language Automatic differentiation for LLVM IR
https://www.csail.mit.edu/news/more-compatible-coding-machine-learning-0
3 comments
Hello,
is it a forward or a backward (or both) differentiation library?
How does the performnce of your code compare to Julia's autodiff source to source code? Does it solve from the exp/sin/cos problem? (By differentiating a polynomial approximation you use an approximation one degree lower)
How does the performnce of your code compare to Julia's autodiff source to source code? Does it solve from the exp/sin/cos problem? (By differentiating a polynomial approximation you use an approximation one degree lower)
It looks like the links to the code have some junk characters at the end. It should be https://github.com/wsmoses/Enzyme.
A couple of relevant links for the curious
Github: https://github.com/wsmoses/Enzyme
Paper: https://proceedings.neurips.cc/paper/2020/file/9332c513ef44b...
Project: enzyme.mit.edu
Basically the long story short is that Enzyme has a couple of really interesting contributions:
1) Low-level AD IS possible and can be high performance
2) By working at LLVM we get cross-language and cross-platform AD
3) Working at the LLVM level actually can give more speedups (since it's able to be performed after optimization)
4) We made a plugin for PyTorch/TF that uses Enzyme to import foreign code into those frameworks with ease!