Skip to content

Commit e89504c

Browse files
ovdiiuvMax AndriychukMax AndriychukMax Andriychuk
authored
Add Max's gsoc proposal (#310)
* Add Max's gsoc proposal * compress * remove TSA --------- Co-authored-by: Max Andriychuk <valerii@device-375.home> Co-authored-by: Max Andriychuk <valerii@mac.home> Co-authored-by: Max Andriychuk <valerii@Mac.fritz.box>
1 parent 3115e62 commit e89504c

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

_data/contributors.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,16 @@
152152
github: "https://github.com/ovdiiuv"
153153
active: 1
154154
projects:
155-
- title: "Optimizing automatic differentiation using activity analysis"
155+
- title: "Activity analysis for reverse-mode differentiation of (CUDA) GPU kernels"
156156
status: Ongoing
157+
description: |
158+
Clad is a Clang plugin designed to provide automatic differentiation (AD) for C++ mathematical functions. It generates code for computing derivatives modifying Abstract-Syntax-Tree(AST) using LLVM compiler features. It performs advanced program optimization by implementing more sophisticated analyses because it has access to a rich program representation – the Clang AST. Clad supports reverse-mode differentiation of the CUDA kernels, however it is not always optimal because the generated code might contain the data-race conditions, significantly slowing up the execution. Thread Safety Analysis is a static analysis that detects possible data-race conditions that would enable reducing atomic operations in the Clad-produced code.
159+
160+
proposal: /assets/docs/Maksym_Andriichuk_Proposal_2025.pdf
161+
mentors: Vassil Vassilev, David Lange
162+
163+
- title: "Optimizing automatic differentiation using activity analysis"
164+
status: Completed project
157165
description: |
158166
Clad has undergone significant optimization in the recent years. One such optimization is the To-Be-Recorded optimization which reduces the memory pressure to the clad tape data structure. The next step is to implement the activity analysis which discards all statements which are irrelevant for the generated code. That is, if the statements do not depend on the input/output variables of a routine in a differentiable way, they are ignored. Combining both analyses could result in a much greater performance, which is our ultimate goal.
159167
proposal: /assets/docs/Maksym_Andriichuk_Proposal_2024.pdf
Binary file not shown.

0 commit comments

Comments
 (0)