Vaibhav Thakkar

Research Intern at CERN, Google Summer of Code 2023 Contributor

email: vaibhav.thakkar.22.12.99@gmail.com

Education: Electrical Engineering and Computer Science, Indian Institute of Technology, Kanpur, India

Ongoing project: Add support for pointers in reverse mode AD in Clad
In mathematics and computer algebra, automatic differentiation (AD) is a set of techniques to numerically evaluate the derivative of a function specified by a computer program. Automatic differentiation is an alternative technique to Symbolic differentiation and Numerical differentiation (the method of finite differences). Clad is based on Clang which provides the necessary facilities for code transformation. The AD library is able to differentiate non-trivial functions, to find a partial derivative for trivial cases and has good unit test coverage. Clad currently supports differentiation with respect to single-dimensional arrays but has limited support for pointers in reverse mode AD. This project aims to add support for pointers in Clad.

Project Proposal: URL

Mentors: Vassil Vassilev, David Lange

Completed project: Implement vector mode in forward mode automatic differentiation in Clad
Clad is an automatic differentiation library based on Clang which provides the necessary facilities for code transformation. Automatic Differentiation (AD) is a set of techniques to numerically evaluate the derivative of a function specified by a computer program. Automatic differentiation is an alternative technique to Symbolic differentiation and Numerical differentiation (the method of finite differences). Vector mode support will facilitate the computation of gradients using the forward mode AD in a single pass and thus without explicitly performing differentiation n times for n function arguments. The major benefit of using vector mode is that computationally expensive operations do not need to be recomputed n times for n function arguments.

Project Proposal: URL

Project Reports: Final Report

Mentors: Parth Arora, Vassil Vassilev, David Lange, Alexander Penev

Presentations



Vectorized Forward Mode Automatic Differentiation in clad - Progress Update, Slides, Team Meeting, 9 August 2023
Vectorized forward mode automatic differentiation in clad, Slides, Team Meeting, 17 May 2023