Petro Zarytskyi



Education: Applied Mathematics, Taras Shevchenko National University of Kyiv, Ukraine, 2021-present

Ongoing project: Optimizing reverse-mode automatic differentiation with advanced activity-analysis
Clad is an automatic differentiation clang plugin for C++. It automatically generates code that computes derivatives of functions given by the user. Clad can work in two main modes: forward and reverse. The reverse mode involves computing the derivative by applying the chain rule to all the elementary operations from the result to the argument. It turns out to be more efficient when there are more dependent output variables than independent input variables (e.g. calculating a gradient). However, the approach to blindly compute the derivatives of all the intermediate variables obviously produces code that does a lot of unnecessary calculations. With advanced activity analysis, the variables which are not used to compute the result can be found and removed, increasing the time- and memory- efficiency of the output code.

Project Proposal: URL

Mentors: Vassil Vassilev, David Lange


Differentiating integral type variables in Clad, Slides, Team Meeting, 17 April 2024
To-Be-Recorded Analysis in Clad. Summary, Slides, Team Meeting, 20 September 2023
TBR (To-Be-Recorded) Analysis Strategy Report, Slides, Team Meeting, 26 July 2023