Valentin Churavy presents his work at the ML Coupling Workshop in Cambridge, UK

less than 1 minute read

Valentin Churavy has presented some of his work at the ML Coupling Workshop in Cambridge, UK in Cambridge, UK.

Valentin Churavy’s joint talk with Milan Klower

Differentiable programming for scientific computing with Enzyme and Julia

To couple large-scale scientific codes with machine-learning approaches, we are required to obtain derivatives from scientific programs. These scientific programs are often written in a very different style compared to machine learning and thus have different requirements for the automatic differentiation framework. For example, Python+JAX requires a functional style, with no array mutation allowed, and supports only limited control flow. In contrast, scientific simulations such as climate models are typically written with both array mutation and complicated control flow, particularly in the context of multi-physics. This talk is going to introduce the different approaches for obtaining derivatives from computer programs and why compiler-enabled automatic differentiation à la Enzyme leads to true differentiable programming. We motivate the necessity of differentiable programming with examples from climate modeling, discussing current and ongoing projects using Oceananigans and SpeedyWeather.