Baydin, Atilim Gunes and Pearlmutter, Barak A. and Siskind, Jeffrey Mark
(2016)
DiffSharp: An AD Library for .NET Languages.
In: AD 2016 Conference: 7th International Conference on Algorithmic Differentiation, September 12-15, 2016, Oxford, U.K..
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.
Item Type: |
Conference or Workshop Item
(Paper)
|
Additional Information: |
Extended abstract presented at the AD 2016 Conference, Sep 2016, Oxford UK. Cite as: arXiv:1611.03423 [cs.MS] |
Keywords: |
DiffSharp; algorithmic differentiation; automatic differentiation (AD); |
Academic Unit: |
Faculty of Science and Engineering > Computer Science |
Item ID: |
8114 |
Depositing User: |
Barak Pearlmutter
|
Date Deposited: |
03 Apr 2017 15:38 |
Refereed: |
Yes |
Funders: |
Science Foundation Ireland (SFI) |
URI: |
|
Use Licence: |
This item is available under a Creative Commons Attribution Non Commercial Share Alike Licence (CC BY-NC-SA). Details of this licence are available
here |
Repository Staff Only(login required)
|
Item control page |
Downloads per month over past year
Origin of downloads