kotlingrad
Enzyme
| kotlingrad | Enzyme | |
|---|---|---|
| 3 | 19 | |
| 546 | 1,613 | |
| 0.0% | 1.8% | |
| 3.7 | 9.6 | |
| over 1 year ago | 2 days ago | |
| Kotlin | LLVM | |
| Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
kotlingrad
-
Trade-Offs in Automatic Differentiation: TensorFlow, PyTorch, Jax, and Julia
and that there is a mature library for autodiff https://github.com/breandan/kotlingrad
- Show HN: Shape-Safe Symbolic Differentiation with Algebraic Data Types
- Kotlin∇: Type-safe Symbolic Differentiation for the JVM
Enzyme
-
CUDA-oxide: Nvidia's official Rust to CUDA compiler
It makes use of https://github.com/EnzymeAD/enzyme which is an LLVM plugin and since Rust also uses LLVM in its backend, we can enable this plugin in our Rust toolchain when autodiff is enabled. So, it is a bit of compiler black magic rather than a direct implementation in the standard library.
-
Show HN: Autograd.c – a tiny ML framework built from scratch
I believe Enzyme comes close to what you describe. It works on the LLVM IR level. https://enzyme.mit.edu
- Enzyme Automatic Differentiation Framework
-
Show HN: Curve Fitting Bezier Curves in WASM with Enzyme Ad
Automatic differentiation is done using https://enzyme.mit.edu/
-
Ask HN: What Happened to TensorFlow Swift
lattner left google and was the primary reason they chose swift, so they lost interest.
if you're asking from an ML perspective, i believe the original motivation was to incorporate automatic differentiation in the swift compiler. i believe enzyme is the spiritual successor.
https://github.com/EnzymeAD/Enzyme
-
Show HN: Port of OpenAI's Whisper model in C/C++
https://ispc.github.io/ispc.html
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?
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?
Have you taken a look at enzymeAD? There is a group porting it to rust.
- The Julia language has a number of correctness flaws
-
Jax vs. Julia (Vs PyTorch)
Idk, Enzyme is pretty next gen, all the way down to LLVM code.
https://github.com/EnzymeAD/Enzyme
What are some alternatives?
lets-plot-kotlin - Grammar of Graphics for Kotlin
oxide-enzyme - Enzyme integration into Rust. Experimental, do not use.
kmath - Kotlin mathematics extensions library
Zygote.jl - 21st century AD
kotlindl - High-level Deep Learning Framework written in Kotlin and inspired by Keras
linfa - A Rust machine learning framework.