English
Related papers

Related papers: FastAD: Expression Template-Based C++ Library for …

200 papers

From implicit differentiation to probabilistic modeling, Jacobian and Hessian matrices have many potential use cases in Machine Learning (ML), but they are viewed as computationally prohibitive. Fortunately, these matrices often exhibit…

Machine Learning · Computer Science 2025-06-12 Adrian Hill , Guillaume Dalle

Although many active scientific codes use modern Fortran, most contemporary scientific software "libraries" are implemented in C and C++. Providing their numerical, algorithmic, or data management features to Fortran codes requires writing…

Software Engineering · Computer Science 2019-07-04 Seth R. Johnson , Andrey Prokopenko , Katherine J. Evans

The need to efficiently calculate first- and higher-order derivatives of increasingly complex models expressed in Python has stressed or exceeded the capabilities of available tools. In this work, we explore techniques from the field of…

Machine Learning · Computer Science 2018-09-27 Bart van Merriënboer , Dan Moldovan , Alexander B Wiltschko

We present a technique for applying (forward and) reverse-mode automatic differentiation (AD) on a non-recursive second-order functional array language that supports nested parallelism and is primarily aimed at efficient GPU execution. The…

Programming Languages · Computer Science 2022-02-22 Robert Schenck , Ola Rønning , Troels Henriksen , Cosmin E. Oancea

This article aims to demonstrate and discuss the applications of automatic differentiation (AD) for finding derivatives in PDE-constrained optimization problems and Jacobians in non-linear finite element analysis. The main idea is to…

Numerical Analysis · Mathematics 2025-06-03 Julian Andrej , Tzanio Kolev , Boyan Lazarov

Derivative-based algorithms are ubiquitous in statistics, machine learning, and applied mathematics. Automatic differentiation offers an algorithmic way to efficiently evaluate these derivatives from computer programs that execute relevant…

Computation · Statistics 2022-03-01 Charles C. Margossian , Michael Betancourt

A C++ library for sensitivity analysis of optimisation problems involving ordinary differential equations (ODEs) enabled by automatic differentiation (AD) and SIMD (Single Instruction, Multiple data) vectorization is presented. The discrete…

Numerical Analysis · Mathematics 2024-10-04 Rui Martins , Evgeny Lakshtanov

When implementing functionality which requires sparse matrices, there are numerous storage formats to choose from, each with advantages and disadvantages. To achieve good performance, several formats may need to be used in one program,…

Mathematical Software · Computer Science 2019-10-22 Conrad Sanderson , Ryan Curtin

We show that Automatic Differentiation (AD) operators can be provided in a dynamic language without sacrificing numeric performance. To achieve this, general forward and reverse AD functions are added to a simple high-level dynamic…

Programming Languages · Computer Science 2016-11-11 Jeffrey Mark Siskind , Barak A. Pearlmutter

We present ATC, a C++ library for advanced Tucker-based lossy compression of dense multidimensional numerical data in a shared-memory parallel setting, based on the sequentially truncated higher-order singular value decomposition (ST-HOSVD)…

Mathematical Software · Computer Science 2024-07-02 Wouter Baert , Nick Vannieuwenhoven

We review the current state of automatic differentiation (AD) for array programming in machine learning (ML), including the different approaches such as operator overloading (OO) and source transformation (ST) used for AD, graph-based…

Machine Learning · Computer Science 2019-01-04 Bart van Merriënboer , Olivier Breuleux , Arnaud Bergeron , Pascal Lamblin

We introduce the Bandicoot C++ library for linear algebra and scientific computing on GPUs, overviewing its user interface and performance characteristics, as well as the technical details of its internal design. Bandicoot is the…

Mathematical Software · Computer Science 2025-09-23 Ryan R. Curtin , Marcus Edel , Conrad Sanderson

Automatic Differentiation (AD) is a powerful tool that allows calculating derivatives of implemented algorithms with respect to all of their parameters up to machine precision, without the need to explicitly add any additional functions.…

Chemical Physics · Physics 2020-06-23 Teresa Tamayo-Mendoza , Christoph Kreisbeck , Roland Lindh , Alán Aspuru-Guzik

As we reach the limit of Moore's Law, researchers are exploring different paradigms to achieve unprecedented performance. Approximate Computing (AC), which relies on the ability of applications to tolerate some error in the results to…

Numerical Analysis · Mathematics 2023-04-14 Garima Singh , Baidyanath Kundu , Harshitha Menon , Alexander Penev , David J. Lange , Vassil Vassilev

Sparse linear algebra is central to many scientific programs, yet compilers fail to optimize it well. High-performance libraries are available, but adoption costs are significant. Moreover, libraries tie programs into vendor-specific…

Performance · Computer Science 2020-01-29 Philip Ginsbach , Bruce Collie , Michael F. P. O'Boyle

The Hessian-vector product computation appears in many scientific applications such as in optimization and finite element modeling. Often there is a need for computing Hessian-vector products at many data points concurrently. We propose an…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-10-31 Desh Ranjan , Mohammad Zubair

The article deals with a kind of recursive function templates in C++, where the recursion is realized corresponding template parameters to achieve better computational performance. Some specialization of these template functions ends the…

Mathematical Software · Computer Science 2007-05-23 Volodymyr Myrnyy

Algorithmic differentiation (AD) has become increasingly capable and straightforward to use. However, AD is inefficient when applied directly to solvers, a feature of most engineering analyses. We can leverage implicit differentiation to…

Optimization and Control · Mathematics 2023-06-28 Andrew Ning , Taylor McDonnell

In this era of diverse and heterogeneous computer architectures, the programmability issues, such as productivity and portable efficiency, are crucial to software development and algorithm design. One way to approach the problem is to step…

Mathematical Software · Computer Science 2012-07-10 Mauro Bianco , Ugo Varetto

Speculative Decoding has gained popularity as an effective technique for accelerating the auto-regressive inference process of Large Language Models. However, Speculative Decoding entirely relies on the availability of efficient draft…

Computation and Language · Computer Science 2025-06-06 Ofir Zafrir , Igor Margulis , Dorin Shteyman , Shira Guskin , Guy Boudoukh