| ▲ | Differentiable Fortran with LFortran and Enzyme(docs.pasteurlabs.ai) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 31 points by dionhaefner 4 hours ago | 9 comments | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | dionhaefner 4 hours ago | parent [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Author here — I work on Tesseract at Pasteur Labs, and I wrote this up because the "what if this was possible" was bugging me for way too long :) I was surprised by how well this worked, the LFortran + Enzyme stack seems to be a very clean way to get gradients through Fortran code via LLVM IR transformations. Pretty cool to see a 220-line Fortran heat solver turn into ~6,900-line reverse pass automatically if I dare say so. Would be awesome to see this applied to a real scientific codebase, and I hope that the demo is enough to convince people that it’s worth trying. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||