pith. sign in

arxiv: 1611.03423 · v1 · pith:WZQT3UNCnew · submitted 2016-11-10 · 💻 cs.MS · cs.LG

DiffSharp: An AD Library for .NET Languages

classification 💻 cs.MS cs.LG
keywords librarydiffsharpbackenddifferentiationlanguagesoperatorsalgebraalgorithmic
0
0 comments X
read the original abstract

DiffSharp is an algorithmic differentiation or automatic differentiation (AD) library for the .NET ecosystem, which is targeted by the C# and F# languages, among others. The library has been designed with machine learning applications in mind, allowing very succinct implementations of models and optimization routines. DiffSharp is implemented in F# and exposes forward and reverse AD operators as general nestable higher-order functions, usable by any .NET language. It provides high-performance linear algebra primitives---scalars, vectors, and matrices, with a generalization to tensors underway---that are fully supported by all the AD operators, and which use a BLAS/LAPACK backend via the highly optimized OpenBLAS library. DiffSharp currently uses operator overloading, but we are developing a transformation-based version of the library using F#'s "code quotation" metaprogramming facility. Work on a CUDA-based GPU backend is also underway.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.