Skip to content
@EnzymeAD

Enzyme Automatic Differentiation Compiler

Welcome! đź‘‹

The Enzyme project is a tool which takes arbitrary existing code as LLVM and MLIR, 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 Loading

  1. Enzyme Enzyme Public

    High-performance automatic differentiation of LLVM and MLIR.

    LLVM 1.3k 119

  2. Enzyme.jl Enzyme.jl Public

    Julia bindings for the Enzyme automatic differentiator

    Julia 483 69

  3. Enzyme-Tutorial Enzyme-Tutorial Public

    Jupyter Notebook 17 6

  4. rust rust Public

    Forked from rust-lang/rust

    A rust fork to work towards Enzyme integration

    Rust 83 8

  5. Enzyme-JAX Enzyme-JAX Public

    Custom Bindings for Enzyme Automatic Differentiation Tool and Interfacing with JAX.

    C++ 66 17

Repositories

Showing 10 of 27 repositories
  • Reactant.jl Public

    Optimize Julia Functions With MLIR and XLA for High-Performance Execution on CPU, GPU, TPU and more.

    EnzymeAD/Reactant.jl’s past year of commit activity
    Julia 117 MIT 15 87 (3 issues need help) 35 Updated Mar 4, 2025
  • Enzyme Public

    High-performance automatic differentiation of LLVM and MLIR.

    EnzymeAD/Enzyme’s past year of commit activity
    LLVM 1,345 119 106 (10 issues need help) 64 Updated Mar 4, 2025
  • Enzyme-JAX Public

    Custom Bindings for Enzyme Automatic Differentiation Tool and Interfacing with JAX.

    EnzymeAD/Enzyme-JAX’s past year of commit activity
    C++ 66 17 34 (2 issues need help) 20 Updated Mar 4, 2025
  • enzyme-dev-docker Public

    🚢 Portable development environment for Enzyme

    EnzymeAD/enzyme-dev-docker’s past year of commit activity
    Dockerfile 2 MIT 1 0 0 Updated Mar 4, 2025
  • compiler-explorer Public Forked from compiler-explorer/compiler-explorer

    đź”­ Run Enzyme interactively from your web browser and interact with the assembly

    EnzymeAD/compiler-explorer’s past year of commit activity
    TypeScript 1 BSD-2-Clause 1,911 0 0 Updated Mar 4, 2025
  • rustbook Public
    EnzymeAD/rustbook’s past year of commit activity
    Rust 10 0 1 1 Updated Mar 3, 2025
  • rust Public Forked from rust-lang/rust

    A rust fork to work towards Enzyme integration

    EnzymeAD/rust’s past year of commit activity
    Rust 83 13,776 17 11 Updated Mar 2, 2025
  • enzyme-conf-website Public

    🌎 Website for EnzymeCon

    EnzymeAD/enzyme-conf-website’s past year of commit activity
    HTML 1 MIT 2 0 4 Updated Mar 1, 2025
  • Enzyme.jl Public

    Julia bindings for the Enzyme automatic differentiator

    EnzymeAD/Enzyme.jl’s past year of commit activity
    Julia 483 MIT 69 177 (8 issues need help) 47 Updated Mar 1, 2025
  • EnzymeAD/float-point-errors’s past year of commit activity
    C 1 1 0 0 Updated Feb 20, 2025