Skip to content
@EnzymeAD

Enzyme Automatic Differentiation Compiler

Welcome! 👋

The Enzyme project is a tool which takes arbitrary existing code as LLVM IR, and computes its derivative. This allows developers to use Enzyme to automatically create gradients of their source code without much additional work. By working at the LLVM level Enzyme is able to differentiate programs in a variety of languages (C, C++, Swift, Julia, Rust, Fortran, Python, etc.) in a single tool utilizing LLVM's highly developed optimization pipeline. We are always looking to help developers to get started with Enzyme, and help them integrate gradients into their applications.

Getting Involved

📣 Join the Enzyme AD discussion list to get news about weekly meetings, events, and other ongoing discussions.

💬 Join the Weekly Meeting to keep up with the most recent developments, for questions regarding the usage of Enzyme, and ongoing design and development discussions.

🚀 Have a look at the Installation Guide, and Using Enzyme as well as further documentation on the website.

🤖 Try out Enzyme interactively in its very own Compiler Explorer instance!

Pinned

  1. Enzyme Enzyme Public

    High-performance automatic differentiation of LLVM and MLIR.

    LLVM 1.2k 92

  2. Enzyme.jl Enzyme.jl Public

    Julia bindings for the Enzyme automatic differentiator

    Julia 401 55

  3. Enzyme-Tutorial Enzyme-Tutorial Public

    Jupyter Notebook 14 5

  4. rust rust Public

    Forked from rust-lang/rust

    A rust fork to work towards Enzyme integration

    Rust 48 6

  5. Enzyme-JAX Enzyme-JAX Public

    C++ 26 3

Repositories

Showing 10 of 27 repositories