Backpropagation and Accelerate

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

Our great sponsors
  • InfluxDB - Access the most powerful time series database as a service
  • SonarLint - Clean code begins in your IDE with SonarLint
  • SaaSHub - Software Alternatives and Reviews
  • backprop

    Heterogeneous automatic differentiation ("backpropagation") in Haskell

  • InfluxDB

    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.

  • 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