DiffSharp: Automatic Differentiation Library
Atilim Gunes Baydin, Barak A. Pearlmutter, Jeffrey Mark Siskind

TL;DR
DiffSharp is a versatile automatic differentiation library optimized for machine learning, offering advanced AD techniques, high-performance computations, and GPU support to facilitate research and development.
Contribution
It introduces a comprehensive AD library with nested, linear algebra, and functional API features tailored for machine learning applications.
Findings
Provides gradients, Hessians, Jacobians, and derivatives with high precision.
Utilizes high-performance BLAS/LAPACK backend for efficient computation.
Supports GPU acceleration for scalable machine learning workflows.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Gaussian Processes and Bayesian Inference · Model Reduction and Neural Networks
