Backpropagation and Accelerate

This page summarizes the projects mentioned and recommended in the original post on /r/haskell

Our great sponsors
  • WorkOS - The modern API for authentication & user identity.
  • Onboard AI - ChatGPT with full context of any GitHub repo.
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • backprop

    Heterogeneous automatic differentiation ("backpropagation") in Haskell

  • WorkOS

    The modern API for authentication & user identity. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • accelerate-ad

    Combinatory automatic differentiation in Haskell for heterogeneous computing.

    Now back to your question. I have a bit of experience with backprop and accelerate but it's neither recent nor with both of them at once. Accelerate has two layers of abstraction. There are Exp and Acc that build an AST. After compiling them with llvm-native or llvm-ptx backend you enter another layer of abstraction – functions Array -> Array -> ... -> Array. How much automatic you want AD to be? Automatic differentiation AST of Exps and Accs is going to be hard and backprop has nothing to help you here. There was a google summer of code project on this topic. As I understand, it ran short of completion.

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