Backpropagation and Accelerate

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

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • backprop

    Heterogeneous automatic differentiation ("backpropagation") in Haskell

  • I’ll also link the ad package here in case someone can speak to its value over backprop https://github.com/ekmett/ad

  • WorkOS

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

    WorkOS logo
  • 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