gdalle | 10 months ago | on: An illustrated guide to automatic sparse differentiation
gdalle's comments
Indeed, CasADi is among the precursors in this area! The key difference with our approach is their use of a domain-specific language, with distinct mathematical functions and array types. This has lots of benefits, but it expects users to rewrite their existing code in the CasADi formalism.
What we seek to achieve in Julia is compatibility with native code, without a DSL-imposed refactor. We share this ambition with the broader Julia autodiff ecosystem, which is focused on differentiating the language as a whole. Of course it doesn't always work, but in many cases, it enables a plug-and-play approach to (sparse) autodiff which makes really cool applications possible.
gdalle | 11 months ago | on: An illustrated guide to automatic sparse differentiation
Our Arxiv preprint is a slightly longer read, available in PDF form with more precise descriptions: https://arxiv.org/abs/2501.17737
gdalle | 11 months ago | on: An illustrated guide to automatic sparse differentiation
You might also be interested in Spadina for Enzyme. There are no Julia bindings yet but I’d be excited if someone made them!
https://c.wsmoses.com/presentations/weuroad23.pdf
gdalle | 11 months ago | on: An illustrated guide to automatic sparse differentiation
Blog post author here, happy to answer any questions you may have!
The prerequisites for understanding the blog post are an undergrad course in calculus and linear algebra, and some graph theory. I can look up some accessible resources if you're interested :)
page 1