Performance Portable Gradient Computations Using Source Transformation
Kim Liegeois, Brian Kelley, Eric Phipps, Sivasankaran Rajamanickam, Vassil Vassilev

TL;DR
This paper presents a source transformation approach using Clad to generate portable, efficient gradient computations for Kokkos-based C++ code, enabling effective automatic differentiation across diverse GPU architectures.
Contribution
It introduces modifications to Clad for differentiating Kokkos abstractions, facilitating portable AD for C++ scientific codes on modern GPUs.
Findings
Gradient evaluation took up to 2.17x the input function time on GPUs.
Demonstrated portability of AD across NVIDIA, AMD, and Intel GPUs.
Validated the efficiency of source transformation-based AD for scientific computing.
Abstract
Derivative computation is a key component of optimization, sensitivity analysis, uncertainty quantification, and nonlinear solvers. Automatic differentiation (AD) is a powerful technique for evaluating such derivatives, and in recent years, has been integrated into programming environments such as Jax, PyTorch, and TensorFlow to support derivative computations needed for training of machine learning models, resulting in widespread use of these technologies. The C++ language has become the de facto standard for scientific computing due to numerous factors, yet language complexity has made the adoption of AD technologies for C++ difficult, hampering the incorporation of powerful differentiable programming approaches into C++ scientific simulations. This is exacerbated by the increasing emergence of architectures such as GPUs, which have limited memory capabilities and require massive…
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
TopicsElectromagnetic Scattering and Analysis · Seismic Imaging and Inversion Techniques · Electromagnetic Simulation and Numerical Methods
