DaCe AD: Unifying High-Performance Automatic Differentiation for Machine Learning and Scientific Computing

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Boudaoud, Afif, Calotoiu, Alexandru, Copik, Marcin, Hoefler, Torsten
Natura: Preprint
Pubblicazione: 2025
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866909766304923648
author Boudaoud, Afif
Calotoiu, Alexandru
Copik, Marcin
Hoefler, Torsten
author_facet Boudaoud, Afif
Calotoiu, Alexandru
Copik, Marcin
Hoefler, Torsten
contents Automatic differentiation (AD) is a set of techniques that systematically applies the chain rule to compute the gradients of functions without requiring human intervention. Although the fundamentals of this technology were established decades ago, it is experiencing a renaissance as it plays a key role in efficiently computing gradients for backpropagation in machine learning algorithms. AD is also crucial for many applications in scientific computing domains, particularly emerging techniques that integrate machine learning models within scientific simulations and schemes. Existing AD frameworks have four main limitations: limited support of programming languages, requiring code modifications for AD compatibility, limited performance on scientific computing codes, and a naive store-all solution for forward-pass data required for gradient calculations. These limitations force domain scientists to manually compute the gradients for large problems. This work presents DaCe AD, a general, efficient automatic differentiation engine that requires no code modifications. DaCe AD uses a novel ILP-based algorithm to optimize the trade-off between storing and recomputing to achieve maximum performance within a given memory constraint. We showcase the generality of our method by applying it to NPBench, a suite of HPC benchmarks with diverse scientific computing patterns, where we outperform JAX, a Python framework with state-of-the-art general AD capabilities, by more than 92 times on average without requiring any code changes.
format Preprint
id arxiv_https___arxiv_org_abs_2509_02197
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle DaCe AD: Unifying High-Performance Automatic Differentiation for Machine Learning and Scientific Computing
Boudaoud, Afif
Calotoiu, Alexandru
Copik, Marcin
Hoefler, Torsten
Machine Learning
Performance
Programming Languages
Automatic differentiation (AD) is a set of techniques that systematically applies the chain rule to compute the gradients of functions without requiring human intervention. Although the fundamentals of this technology were established decades ago, it is experiencing a renaissance as it plays a key role in efficiently computing gradients for backpropagation in machine learning algorithms. AD is also crucial for many applications in scientific computing domains, particularly emerging techniques that integrate machine learning models within scientific simulations and schemes. Existing AD frameworks have four main limitations: limited support of programming languages, requiring code modifications for AD compatibility, limited performance on scientific computing codes, and a naive store-all solution for forward-pass data required for gradient calculations. These limitations force domain scientists to manually compute the gradients for large problems. This work presents DaCe AD, a general, efficient automatic differentiation engine that requires no code modifications. DaCe AD uses a novel ILP-based algorithm to optimize the trade-off between storing and recomputing to achieve maximum performance within a given memory constraint. We showcase the generality of our method by applying it to NPBench, a suite of HPC benchmarks with diverse scientific computing patterns, where we outperform JAX, a Python framework with state-of-the-art general AD capabilities, by more than 92 times on average without requiring any code changes.
title DaCe AD: Unifying High-Performance Automatic Differentiation for Machine Learning and Scientific Computing
topic Machine Learning
Performance
Programming Languages
url https://arxiv.org/abs/2509.02197