Hi all, author here.<p>A couple of relevant links for the curious<p>Github: <a href="https://github.com/wsmoses/Enzyme" rel="nofollow">https://github.com/wsmoses/Enzyme</a><p>Paper: <a href="https://proceedings.neurips.cc/paper/2020/file/9332c513ef44b682e9347822c2e457ac-Paper.pdf" rel="nofollow">https://proceedings.neurips.cc/paper/2020/file/9332c513ef44b...</a><p>Project: enzyme.mit.edu<p>Basically the long story short is that Enzyme has a couple of really interesting contributions:<p>1) Low-level AD IS possible and can be high performance<p>2) By working at LLVM we get cross-language and cross-platform AD<p>3) Working at the LLVM level actually can give more speedups (since it's able to be performed after optimization)<p>4) We made a plugin for PyTorch/TF that uses Enzyme to import foreign code into those frameworks with ease!
It looks like the links to the code have some junk characters at the end. It should be <a href="https://github.com/wsmoses/Enzyme" rel="nofollow">https://github.com/wsmoses/Enzyme</a>.