Dec 8 – 10, 2025
CERN
Europe/Zurich timezone

Differentiating Object-Oriented paradigms using Clad

Dec 9, 2025, 11:20 AM
20m
31/3-004 - IT Amphitheatre (CERN)

31/3-004 - IT Amphitheatre

CERN

105
Show room on map
Contributed Talk Contributed Talks

Speaker

Petro Zarytskyi (Princeton University (US))

Description

Clad is a Clang plugin that enables automatic differentiation for C++ by transforming abstract syntax trees using LLVM's compiler infrastructure. A key design goal is generating readable, efficient derivatives that integrate seamlessly into existing codebases. This talk explores the challenges of extending Clad to support object-oriented programming, demonstrating our approach through examples such as constructors, methods, and non-copyable types. We discuss the analyses and optimization techniques—both implemented and in development—that maintain code readability and performance when handling OOP paradigms. Finally, we present examples of use cases that these enhancements enable.

Author

Petro Zarytskyi (Princeton University (US))

Co-author

Vassil Vasilev (Princeton University (US))

Presentation materials