Skip to content

Commit 40b9cbf

Browse files
Merge branch 'compiler-research:master' into master
2 parents dd205bc + 8484bc1 commit 40b9cbf

9 files changed

+57
-2
lines changed

.github/actions/spelling/allow/terms.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
AARCH
22
AIML
3+
Backpropagation
34
BGZF
45
CINT
56
CMSSW
@@ -16,6 +17,7 @@ IIT
1617
JIT'd
1718
Jacobians
1819
Jurgaityt
20+
LHC
1921
LLMs
2022
LLVM
2123
LULESH
@@ -49,6 +51,7 @@ jthread
4951
linkedin
5052
llm
5153
llvm
54+
meetinglist
5255
microenvironments
5356
omp
5457
openmp

_data/contributors.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,16 @@
159159
github: "https://github.com/ovdiiuv"
160160
active: 1
161161
projects:
162-
- title: "Optimizing automatic differentiation using activity analysis"
162+
- title: "Activity analysis for reverse-mode differentiation of (CUDA) GPU kernels"
163163
status: Ongoing
164+
description: |
165+
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.
166+
167+
proposal: /assets/docs/Maksym_Andriichuk_Proposal_2025.pdf
168+
mentors: Vassil Vassilev, David Lange
169+
170+
- title: "Optimizing automatic differentiation using activity analysis"
171+
status: Completed project
164172
description: |
165173
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.
166174
proposal: /assets/docs/Maksym_Andriichuk_Proposal_2024.pdf

_data/meetinglist.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,39 @@
1+
- name: "CaaS Monthly Meeting"
2+
date: 2025-06-05 17:00:00 +0200
3+
time_cest: "17:00"
4+
connect: "[Link to zoom](https://princeton.zoom.us/j/94431046845?pwd=D5i77Qb0PgfwwIubvbo2viEunne7eQ.1)"
5+
label: caas_05June2025
6+
agenda:
7+
- title: "Differentiating RooFit likelihoods with Clad"
8+
speaker:
9+
image: "https://compiler-research.org/images/team/JRembser.png"
10+
name: "Jonas Rembser"
11+
bio: |
12+
Jonas Rembser is a particle physicist with a strong interest in data
13+
science and software development. After working with the CMS
14+
experiment for his PhD in particle physics, Jonas joined CERN in 2021
15+
to work on the ROOT project. He is takes care of the statistical
16+
analysis libraries in ROOT, such as RooFit and Minuit 2, as well as
17+
the ROOT Python interface. His other academic interests include
18+
differential programming and financial markets.
19+
description: |
20+
RooFit is a C++ software for statistical data modeling that is part of
21+
ROOT. It is widely used by the High Energy Physics (HEP) community,
22+
most notably the LHC experiments. RooFits core feature is building and
23+
numerically minimizing likelihood functions for parameter estimation
24+
(aka. *fitting*). The minimization can be greatly sped up by using
25+
reverse mode (Automatic Differentiation) AD, in particular for fits
26+
with many parameters, as typical for the LHC experiments. This
27+
presentation will tell the story of how AD was integrated to RooFit
28+
powered by [Clad](https://github.com/vgvassilev/clad/), the AD tool
29+
developed by Compiler Research. We will cover the integration strategy,
30+
explain the particularities of AD in the context of likelihood fits,
31+
and present benchmark results. The presentation will wrap up by
32+
explaining the current limitations and plans for the future. More
33+
information on AD in RooFit with Clad can also be found in
34+
[this blog post](https://root.cern/blog/roofit-ad/) on the ROOT
35+
website.
36+
slides: /assets/presentations/J_Rembser-RooFit_Clad.pdf
137
- name: "CaaS Monthly Meeting"
238
date: 2025-05-15 17:00:00 +0200
339
time_cest: "17:00"

_data/standing_meetings.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@
33
time_cest: "17:00"
44
connect: "[Link to zoom](https://princeton.zoom.us/j/97915651167?pwd=MXJ1T2lhc3Z5QWlYbUFnMTZYQlNRdz09)"
55
agenda:
6+
- title: "Enhancing LLM Training Efficiency with Clad for Backpropagation"
7+
date: 2025-06-05 15:00:00 +0200
8+
speaker: "Rohan Timmaraju"
9+
link: "[Slides](/assets/presentations/CaaS_Weekly_05_06_2025_Rohan_Timmaraju_LLM_Training.pdf)"
10+
- title: "Improve automatic differentiation of object-oriented paradigms using Clad"
11+
date: 2025-06-05 16:00:00 +0200
12+
speaker: "Petro Zarytskyi"
13+
link: "[Slides](/assets/presentations/CaaS_Weekly_05_06_2025_Petro_Zarytskyi_AD_Object_Oriented_Paradigms.pdf)"
614
- title: "Using ROOT in the field of genome sequencing"
715
date: 2025-05-21 17:00:00 +0200
816
speaker: "Aditya Pandey"

_posts/2025-05-21-enhancing-llm-training.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ By successfully integrating Clad into a C++ LLM training pipeline, we aim to:
4343
* **Offer a C++ Alternative:** Provide a foundation for more efficient, compiler-driven LLM training within the C++ ecosystems.
4444
* **Learn and Share:** Gain insights into the practicalities of applying compiler-based AD to complex ML problems and share these learnings with the community.
4545

46-
I believe this project has the potential to make a valuable contribution to both the compiler research field and the ongoing efforts to make powerful AI models more accessible and efficient to train.
46+
This project has the potential to make a valuable contribution to both the compiler research field and the ongoing efforts to make powerful AI models more accessible and efficient to train.
4747

4848
### Related Links
4949

Binary file not shown.
Binary file not shown.
551 KB
Binary file not shown.

0 commit comments

Comments
 (0)