Skip to content

Commit 2387d97

Browse files
Merge branch 'compiler-research:master' into master
2 parents 569bdb0 + f10b27e commit 2387d97

14 files changed

+78
-2
lines changed

_data/preslist.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
- title: "Bringing Automatic Differentiation to CUDA with Compiler-Based Source Transformations"
2+
description: |
3+
GPUs have become increasingly popular for their ability to perform parallel operations efficiently, driving interest in General-Purpose GPU Programming. Scientific computing, in particular, stands to benefit greatly from these capabilities. However, parallel programming systems such as CUDA introduce challenges for code transformation tools due to their reliance on low-level hardware management primitives. These challenges make implementing automatic differentiation (AD) for parallel systems particularly complex.
4+
5+
CUDA is being widely adopted as an accelerator technology in many scientific algorithms from machine learning to physics simulations. Enabling AD for such codes builds a new valuable capability necessary for advancing scientific computing.
6+
7+
Clad is an LLVM/Clang plugin for automatic differentiation that performs source-to-source transformation by traversing the compiler's internal high-level data structures, and generates a function capable of computing derivatives of a given function at compile time. In this talk, we explore how we recently extended Clad to support GPU kernels and functions, as well as kernel launches and CUDA host functions. We will discuss the underlying techniques and real-world applications in scientific computing. Finally, we will examine current limitations and potential future directions for GPU-accelerated differentiation.
8+
location: "[Mode 2025](https://indico.cern.ch/event/1481852/contributions/6491917/)"
9+
date: 2025-06-11
10+
speaker: Christina Koutsou
11+
id: "MODE2025CUDA"
12+
artifacts: |
13+
[Link to Slides](/assets/presentations/Christina_CladCudaAD_Mode2025.pdf)
14+
highlight: 1
15+
16+
- title: "Scaling RooFit's Automatic Differentiation Capabilities to CMS Combine"
17+
description: |
18+
RooFit's integration with the Clad infrastructure has introduced automatic differentiation (AD), leading to significant speedups and driving major improvements in its minimization framework. Besides, the AD integration has also inspired several optimizations and simplifications of key RooFit components in general. The AD framework in RooFit is designed to be extensible, providing all necessary primitives to efficiently traverse RooFit’s computation graphs.
19+
20+
CMS Combine, the primary statistical analysis tool in the CMS experiment, has played a pivotal role in groundbreaking discoveries, including the Higgs boson. Built on RooFit, CMS Combine is making AD a natural extension to improve performance and usability. Recognizing this potential, we have begun a collaborative effort to bridge gaps between the two frameworks with a core focus of enabling AD within CMS Combine through RooFit.
21+
22+
In this talk, we will present our progress, highlight the challenges encountered, and discuss the benefits and opportunities that AD integration brings to the CMS analysis workflow. By sharing insights from our ongoing work, we aim to engage the community in furthering AD adoption in high-energy physics.
23+
location: "[Mode 2025](https://indico.cern.ch/event/1481852/contributions/6464892)"
24+
date: 2025-06-11
25+
speaker: Vassil Vasilev
26+
id: "MODE2025ROOFIT"
27+
artifacts: |
28+
[Link to Slides](/assets/presentations/Vassil_CladRooFit_Mode2025.pdf)
29+
highlight: 1
30+
31+
132
- title: "Debugging Regressions: Interactive Differential Debugging"
233
description: |
334
Software systems have grown to millions lines of code and are developed by a community of hundreds of developers. Often benign changes can trigger undesired behavior which is very challenging to isolate and reproduce. The conventional approach to addressing these regressions is time-consuming, usually requiring the expertise of experienced engineers.
@@ -13,6 +44,20 @@
1344
[Link to Slides](/assets/presentations/Vipul__Martin_EuroLLVM2025_IDD.pdf)
1445
highlight: 1
1546

47+
- title: "Automatic Differentiation in RooFit and Community Needs"
48+
description: |
49+
The goal of the talk is to demonstrate automatic
50+
differentiation in scientific workflows
51+
52+
location: "[Foundation Models for Science Mini Workshop](https://indico.cern.ch/event/1459124/contributions/6155024/)"
53+
date: 2024-10-01
54+
speaker: Vassil Vasilev
55+
id: "FOUNDSCIROOFIT"
56+
artifacts: |
57+
[Link to Slides](/assets/presentations/Vassil_CladRooFit_FoundSci2024.pdf)
58+
highlight: 1
59+
60+
1661
- title: "Automatic Differentiation in RooFit"
1762
description: |
1863
With the growing datasets of HEP experiments, statistical analysis becomes

_data/releases.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
- date: 2025-07-27
2+
codebase: "Clad"
3+
version: "v2.0"
4+
description: |
5+
Clad 2.0 introduces improvements across both forward and reverse automatic
6+
differentiation modes, including the adoption of static scheduling by
7+
default and expanded support for custom derivatives, such as those involving
8+
STL containers and iterators. The release enhances compatibility with Clang
9+
versions 10 through 20 and extends support for CUDA through updated tape
10+
handling. Additional updates include improved error diagnostics, support for
11+
more complex object types, and infrastructure for benchmarking.
12+
link: "https://github.com/vgvassilev/clad/releases/tag/v2.0"
13+
114
- date: 2025-04-26
215
codebase: "Clad"
316
version: "v1.10"

_includes/header.html

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,15 @@
2727
<li class="dropdown-item"> <a class="nav-link" href="/tutorials">Tutorials</a></li>
2828
</ul>
2929
</li>
30+
31+
<li class="nav-item dropdown">
32+
<a href="#" class="nav-link dropdown-toggle" id="dropdown03" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Interactive Tools</a>
33+
<ul class="dropdown-menu" aria-labelledby="dropdown03">
34+
<li class="dropdown-item"> <a class="nav-link" target="_blank" href="https://godbolt.org/z/3KWhY4j8M">Clad on Godbolt</a></li>
35+
<li class="dropdown-item"> <a class="nav-link" target="_blank" href="https://compiler-research.org/xeus-cpp-wasm/lab/index.html">Xeus-CPP</a></li>
36+
</ul>
37+
</li>
38+
3039
<li class="nav-item">
3140
<a class="nav-link" href="/team">Team</a>
3241
</li>

_pages/presentations.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ permalink: /presentations/
2222
{% endif %}
2323

2424
<span id="{{presi.id}}">&nbsp;</span>
25-
<div class="col-sm-12 clearfix">
26-
<div class="well text-justify">
25+
<div class="col-sm-12">
26+
<div class="well text-justify clearfix">
2727
<pubtit>
2828
<a style="text-decoration:none;" href="#{{presi.id}}"> {{ presi.title }},
2929
{{ presi.location | markdownify | remove: '<p>' | remove: '</p>' | strip_newlines }},

_scripts/pdftogif.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@ if [[ $# -lt 2 ]] ; then
66
exit 1
77
fi
88

9+
if ! [ -x "$(command -v gs)" ]; then
10+
echo 'Error: gs is not installed. This script depends on it' >&2
11+
exit 1
12+
fi
13+
14+
if ! [ -x "$(command -v convert2)" ]; then
15+
echo 'Error: convert is not installed. This script depends on it' >&2
16+
exit 1
17+
fi
918

1019
SLIDES_PDF=$1
1120
PRES_ID=$2
Binary file not shown.
Binary file not shown.
Binary file not shown.

images/pubpic/FOUNDSCIROOFIT.gif

376 KB
Loading

images/pubpic/FOUNDSCIROOFIT.png

51.5 KB
Loading

0 commit comments

Comments
 (0)