English

DiffSharp: Automatic Differentiation Library

Mathematical Software 2015-11-30 v2

Abstract

In this paper we introduce DiffSharp, an automatic differentiation (AD) library designed with machine learning in mind. AD is a family of techniques that evaluate derivatives at machine precision with only a small constant factor of overhead, by systematically applying the chain rule of calculus at the elementary operator level. DiffSharp aims to make an extensive array of AD techniques available, in convenient form, to the machine learning community. These including arbitrary nesting of forward/reverse AD operations, AD with linear algebra primitives, and a functional API that emphasizes the use of higher-order functions and composition. The library exposes this functionality through an API that provides gradients, Hessians, Jacobians, directional derivatives, and matrix-free Hessian- and Jacobian-vector products. Bearing the performance requirements of the latest machine learning techniques in mind, the underlying computations are run through a high-performance BLAS/LAPACK backend, using OpenBLAS by default. GPU support is currently being implemented.

Keywords

Cite

@article{arxiv.1511.07727,
  title  = {DiffSharp: Automatic Differentiation Library},
  author = {Atilim Gunes Baydin and Barak A. Pearlmutter and Jeffrey Mark Siskind},
  journal= {arXiv preprint arXiv:1511.07727},
  year   = {2015}
}

Comments

5 pages, 1 figure, minor fixes, added coauthor

R2 v1 2026-06-22T11:53:16.223Z