SaaSHub helps you find the best software and product alternatives Learn more →
Similar projects and alternatives to Enzyme
21st century AD
A Rust machine learning framework.
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
Relax! Flux is the ML library that doesn't make you tensor
Tensors and Dynamic neural networks in Python with strong GPU acceleration
The Julia Programming Language
Explicitly Parameterized Neural Networks in Julia
An Open Source Machine Learning Framework for Everyone
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
Functional programming language for signal processing and sound synthesis (by grame-cncm)
Port of OpenAI's Whisper model in C/C++
Explorations in area of programming languages: concepts, typing, formal verification
A refreshingly simple data-driven game engine built in Rust
🚀 The leading WebAssembly Runtime supporting WASI and Emscripten
Hello AI World guide to deploying deep-learning inference networks and deep vision primitives with TensorRT and NVIDIA Jetson.
Basic statistics for Julia
Enzyme integration into Rust. Experimental, do not use.
TensorFlow for macOS 11.0+ accelerated using Apple's ML Compute framework.
Ecosystem of libraries and tools for writing and executing fast GPU code fully in Rust.
Rust / Wasm framework for building client web apps
State machines and statecharts for the modern web.
Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Enzyme reviews and mentions
Show HN: Port of OpenAI's Whisper model in C/C++
9 projects | news.ycombinator.com | 6 Dec 2022
For the auto-differentiation when I need performance or memory, I currently use tapenade ( http://tapenade.inria.fr:8080/tapenade/index.jsp ) and/or manually written gradient when I need to fuse some kernel, but Enzyme ( https://enzyme.mit.edu/ ) is also very promising.
MPI for parallelization across machines.
Do you consider making a physics engine (for RL) worth it?
3 projects | /r/rust | 8 Oct 2022
For autodiff, we are currently working again on publishing a new Enzyme (https://enzyme.mit.edu) Frontend for Rust which can also handle pure Rust types, first version should be done in ~ a week.
What is a really cool thing you would want to write in Rust but don't have enough time, energy or bravery for?
21 projects | /r/rust | 8 Jun 2022
Have you taken a look at enzymeAD? There is a group porting it to rust.
The Julia language has a number of correctness flaws
19 projects | news.ycombinator.com | 16 May 2022
Enzyme dev here, so take everything I say as being a bit biased:
While, by design Enzyme is able to run very fast by operating within the compiler (see https://proceedings.neurips.cc/paper/2020/file/9332c513ef44b... for details) -- it aggressively prioritizes correctness. Of course that doesn't mean that there aren't bugs (we're only human and its a large codebase [https://github.com/EnzymeAD/Enzyme], especially if you're trying out newly-added features).
Notably, this is where the current rough edges for Julia users are -- Enzyme will throw an error saying it couldn't prove correctness, rather than running (there is a flag for "making a best guess, but that's off by default"). The exception to this is garbage collection, for which you can either run a static analysis, or stick to the "officially supported" subset of Julia that Enzyme specifies.
Incidentally, this is also where being a cross-language tool is really nice -- namely we can see edge cases/bug reports from any LLVM-based language (C/C++, Fortran, Swift, Rust, Python, Julia, etc). So far the biggest code we've handled (and verified correctness for) was O(1million) lines of LLVM from some C++ template hell.
I will also add that while I absolutely love (and will do everything I can to support) Enzyme being used throughout arbitrary Julia code: in addition to exposing a nice user-facing interface for custom rules in the Enzyme Julia bindings like Chris mentioned, some Julia-specific features (such as full garbage collection support) also need handling in Enzyme.jl, before Enzyme can be considered an "all Julia AD" framework. We are of course working on all of these things (and the more the merrier), but there's only a finite amount of time in the day. [^]
[^] Incidentally, this is in contrast to say C++/Fortran/Swift/etc, where Enzyme has much closer to whole-language coverage than Julia -- this isn't anything against GC/Julia/etc, but we just have things on our todo list.
Jax vs. Julia (Vs PyTorch)
4 projects | news.ycombinator.com | 4 May 2022
Idk, Enzyme is pretty next gen, all the way down to LLVM code.
What's everyone working on this week (7/2022)?
15 projects | /r/rust | 14 Feb 2022
I'm working on merging my build-tool for (oxide)-enzyme into Enzyme itself. Also looking into improving the documentation.
Trade-Offs in Automatic Differentiation: TensorFlow, PyTorch, Jax, and Julia
7 projects | news.ycombinator.com | 25 Dec 2021
that seems one of the points of enzyme, which was mentioned in the article.
 - https://enzyme.mit.edu/
being able in effect do interprocedural cross language analysis seems awesome.
Enzyme: towards state-of-the-art AutoDiff in Rust
2 projects | /r/rust | 11 Dec 2021
Enzyme is an LLVM (incubator) project, which performs automatic differentiation of LLVM-IR code. Here is an introduction to AutoDiff, which was recommended by @DoogoMiercoles in an earlier post. You can also try it online, if you know some C/C++: https://enzyme.mit.edu/explorer.
Oxide-Enzyme: Integrating LLVM's Static Automatic Differentiation Plugin
3 projects | /r/rust | 30 Nov 2021
To give a little bit of context here, this is a Rust frontend for Enzyme itself, which is a leading Auto-Diff tool. The key advantage is that unlike most of the existing tools it does generate gradient functions after applying a lot of (LLVM's) optimizations, which leads to very efficient gradients (benchmarks here: https://enzyme.mit.edu/). Working on LLVM level also allows it to work across language barriers. Finally it is also the first AD library to support generic AMD-HIP / NVIDIA-CUDA code and works also with OpenMP and MPI. https://c.wsmoses.com/papers/EnzymeGPU.pdf I have intentions to add rayon support, since that is more likely to be used on our Rust side :)
Cerebras’ New Monster AI Chip Adds 1.4T Transistors
4 projects | news.ycombinator.com | 22 Apr 2021
The answer is an API, like NNAPI. AD is a frontend concern and doesn't really matter to accelerators.
For AD, I am bullish for Enzyme, which does AD on LLVM IR, avoiding deep compiler integration: https://enzyme.mit.edu/
A note from our sponsor - #<SponsorshipServiceOld:0x00007f0921da24e8>
www.saashub.com | 10 Jun 2023
EnzymeAD/Enzyme is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.
The primary programming language of Enzyme is LLVM.