Skip to content

Commit 0c935b3

Browse files
Update information about Petro Zarytskyi
1 parent ed30d7e commit 0c935b3

File tree

4 files changed

+32
-5
lines changed

4 files changed

+32
-5
lines changed

.github/actions/spelling/excludes.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
^\Qassets/docs/Petro_Zarytskyi_Proposal_2025.pdf\E$

.github/actions/spelling/expect.txt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1-
Reoptimization
2-
Resugaring
3-
optimizing
1+
backpropagation
2+
Bistrev
3+
copyable
4+
Galin
45
genomics
6+
ICHEP
7+
optimizing
8+
Reoptimization
59
reoptimization
10+
Resugaring
611
sustainability
712
transitioning

_data/contributors.yml

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,14 +121,35 @@
121121
[Final Report](/assets/docs/Aaron_Jomy_GSoC23_Report.pdf)
122122
123123
- name: Petro Zarytskyi
124-
info: "IRIS-HEP Fellow"
124+
info: "Google Summer of Code 2025 Contributor"
125125
photo: Petro.jpg
126126
email: petro.zarytskyi@gmail.com
127127
education: Applied Mathematics, Taras Shevchenko National University of Kyiv, Ukraine, 2021-present
128128
active: 1
129129
projects:
130-
- title: "Optimizing reverse-mode automatic differentiation with advanced activity-analysis"
130+
- title: "Improve automatic differentiation of object-oriented paradigms using Clad"
131131
status: Ongoing
132+
description: |
133+
Clad is a Clang plugin enabling automatic differentiation (AD) for C++ mathematical
134+
functions by modifying the abstract syntax tree using LLVM's compiler capabilities.
135+
It integrates into existing codebases without modifications and supports forward and
136+
reverse mode differentiation. Reverse mode is efficient for Machine Learning and
137+
inverse problems involving backpropagation.
138+
Reverse mode AD requires two passes: forward pass stores intermediate values, reverse
139+
pass computes derivatives. Currently, Clad only supports storing trivially copyable
140+
types for function call arguments, limiting support for C-style arrays and non-copyable
141+
types like unique pointers, constraining Object-Oriented Programming usage.
142+
The project aims to enhance Clad's capability to store intermediate values for non-copyable
143+
types. One of the challenges lies in determining which expressions are modified in nested
144+
functions, potentially requiring run-time memory location tracking, which can be inefficient.
145+
The solution involves enhancing To-Be-Recorded (TBR) analysis, currently limited with
146+
poor nested function call support and no pointer reassignment handling. Improved TBR
147+
analysis will enable predictable memory handling, generating optimal code, and
148+
supporting both non-copyable types and efficient storage of copyable structures.
149+
proposal: /assets/docs/Petro_Zarytskyi_Proposal_2025.pdf
150+
mentors: Vassil Vassilev, David Lange
151+
- title: "Optimizing reverse-mode automatic differentiation with advanced activity-analysis"
152+
status: Completed project
132153
description: |
133154
Clad is an automatic differentiation clang plugin for C++. It automatically
134155
generates code that computes derivatives of functions given by the user.
846 KB
Binary file not shown.

0 commit comments

Comments
 (0)