Enzyme Conference

Enzyme Conference 2024

March 25-27, 2024
Massachusetts Institute of Technology, MA, USA

Live Stream

We’re trying our best to live stream the talks (though our AV may go down). Unfortunately the stream was misbehaving for the JAX/Pallas and Programming with Singular Integrals talks, but the rest will be at the links below (they were recorded, so we’ll try to post it online).

Day 1 (part 1): https://youtube.com/live/Mju_RAXMYis?feature=share
Day 1 (part 2): https://youtube.com/live/S-uiA9rgpWQ?feature=share
Day 2 (part 1): https://youtube.com/live/fRZwgVbcdv8
Day 2 (part 2): https://youtube.com/live/Uu4AmDQXgQw?feature=share
Day 2 (part 3): https://youtube.com/live/im2YCxeHfMI?feature=share


EnzymeCon will take place at MIT at the Stata center (32 Vassar St, Cambridge, MA, 02139) on the 8th floor in room 32-G882.

The Stata center is the Frank Gehry building that looks like a bunch of different buildings merged together.

To get to the room, go to the G or Gates-side elevators (they are closer to the cafe and next to the MIT tickets office, a large analog computer, and a large interactive screen). Take the elevators to the 8th floor. The room will be on the left after you exit the elevators.

If a door isn’t opening, you need help, or otherwise have questions please email enzyme-conf@mit.edu or call 703-640-8905.


Please note that program is subject to last-minute change.

Monday, March 25

  • 10:00am - Freeform discussions and hackathon.
  • 1:15pm - Opening (William S. Moses and Oleksandr Zinenko)
  • 1:30pm - Session 1: Beyond Enzyme
    • JAX/Pallas (Dougal Maclaurin)
    • Thirty Years of Differentiating Parallel Programs (Paul Hovland)
  • 2:30pm - Session 2: Enzyme+Julia
    • Optimization.jl: A modular approach to non-linear optimization with automatic derivative oracles (Vaibhav Dixit)
    • Making Turing.jl go fast with Enzyme (Kai Xu)
  • 3:30pm - Coffee Break
  • 4:00pm - Session 3: Theory
    • Programming with Singular Integrals (Jesse Michel)
    • Data-Flow Activity Analysis With Partial Information (Mai Jacob Peng)
  • 5:00pm - Program ends, time for more freeform discussion.

Tuesday, March 26

  • 10:00am - Session 4: AD for Science
    • Differentiable and Portable Krylov Solvers (Michel Schanen)
    • The many ways to take gradients through a molecular dynamics simulation (Joe Greener)
    • DJ4Earth & Enzymanigans: Differentiating an Ocean General Circulation Model in Julia (Patrick Heimbach, Joseph Kump)
    • Ongoing work on the Enzyme-JAX Project (William S. Moses)
    • Integration of Enzyme with Julia’s SciML (Chris Rackauckas)
  • 12:15pm - Lunch
  • 1:30pm - Session 5: Languages, Libraries and Programming Models
    • BLASPhemy (Manuel S. Drehwald)
    • Implementing Sparse Differentiation for Computer Graphics (Kevin Mu)
    • Catalyst: a JIT compiler for differentiation of classical-quantum functions (Romain Moyard)
    • Rust AD - The next steps (Manuel S. Drehwald)
  • 3:30pm - Coffee Break
  • 4:00pm - Session 6: Roundtable
    • Building AD Benchmark Suite (Jan Hueckelheim, Sri Hari Krishna Narayanan)
  • 5:00pm - Program ends, time for more freeform discussion.

Wednesday, March 27

  • 10:00am - Session 7: Applications
    • Automatic differentiation on the IPU with Enzyme.jl (Mosè Giordano)
    • Algovivo: An energy-based formulation for soft-bodied virtual creatures (Junior Rojas)
    • Enzyme in action: a differentiable ocean mode (Sarah Williamson)
    • Libdescriptor: High-Performance Auto-Differentiated Atomic Descriptors for Machine Learning in Materials Science (Amit Gupta)
  • 12:00pm - Program ends.
  • 1:30pm - Hackathon and freeform discussions.


Automatic differentiation is an established field that is seeing renewed interest thanks to its practical applications to machine learning, simulation for natural sciences, and the emerging differentiable programming paradigm. The Enzyme project brought automatic differentiation to the LLVM compiler infrastructure broadly used for both research and production, and has been successfully used to enable automatic differentiation across multiple programming languages (C++, Julia, Rust, etc.) and target architectures. This workshop aims at bringing together the contributors and users of Enzyme in particular, and people interested in automatic differentiation within the LLVM infrastructure in general, for two days of fast-paced high-bandwidth idea exchange and collaboration bootstrapping. The workshop format remains flexible and friendly to practitioners and researchers alike; we expect a mix of presentations, tutorials, roundtable discussions and live programming sessions.



William S. Moses (general)

University of Illinois


Oleksandr Zinenko (program)

Google Deepmind


Tim Gymnich (web)

TU Munich


Jesse Michel



Patrick Heimbach

UT Austin