Enzyme – High-performance automatic differentiation of LLVM

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • Enzyme.jl

    Julia bindings for the Enzyme automatic differentiator

  • Also see the Julia package that makes it acessible with a high level interface and probably one of the easier ways to play with it: https://github.com/wsmoses/Enzyme.jl.

  • swift

    The Swift Programming Language

  • I think Swift is also going into this direction of backing in directly into the compiler and provide it as a higher level language construction.

    https://github.com/apple/swift/blob/main/docs/Differentiable...

    Which leads to "Swift for Tensorflow" that unlike other languages like Java, Go or Python is not just about bindings to the C++ tensorflow library.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Meetings

    Collection of Agendas and Minutes from the Rust ML Group (by rust-ml)

  • Oh man that was a fun hack to write. Basically we demonstrated an easy-to-setup AD on rust by leveraging link-time optimization (LTO) as a way to make sure Enzyme's generate derivatives "optimization pass" was run.

    We're currently working with the Rust ML infrastructure group to make a nice integration of Enzyme into Rust (e.g. nice type-checking, safety, etc). If you're interested in helping, you should join the Rust ML meetings and/or Enzyme weekly meetings and check out https://github.com/rust-ml/Meetings and https://github.com/tiberiusferreira/oxide-enzyme/tree/c-api . There's a bunch of interesting optimizations and nicer UX for interoperability we want to add so more manpower is really helpful!

    The most interesting thing from the Rust standpoint is that ideally we'd want Enzyme to be loaded into the Rust compiler as a plugin (much like it is for Julia, Clang for C/C++, etc) -- but Rust doesn't support the option for that yet. This means we can either help push for plugins/custom codegen in Rust, make script-based compilation tools within rustc [I don't remember the specific name but someone who is more of a Rust expert I'm sure can chime in], or do the sketchy LTO approach above [not always desirable as it requires running LTO].

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Custom gradients in Enzyme

    1 project | /r/Julia | 27 Nov 2022
  • Engineering Trade-Offs in Automatic Differentiation: from TensorFlow and PyTorch to Jax and Julia

    1 project | /r/Julia | 26 Dec 2021
  • Useful Algorithms That Are Not Optimized by Jax, PyTorch, or TensorFlow

    2 projects | news.ycombinator.com | 22 Jul 2021
  • Enzyme – High-performance automatic differentiation of LLVM (r/MachineLearning)

    1 project | /r/datascienceproject | 8 Feb 2021
  • Enzyme – High-performance automatic differentiation of LLVM (r/MachineLearning)

    1 project | /r/datascienceproject | 7 Feb 2021