Skip to content

Commit 73240a3

Browse files
committed
Add another project on cuda and clad
1 parent 9196d2a commit 73240a3

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

_data/openprojectlist.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,42 @@
3535
* Present the work at the relevant meetings and conferences
3636
tags: ["xeus", "xeus-cpp", "clang", "clang-repl", "jupyter", "gpu", "cuda", "python", "plugins"]
3737

38+
- name: Consolidate and advance the GPU infrastructure in Clad
39+
description: |
40+
Clad is a Clang-based automatic differentiation (AD) plugin for C++. Over
41+
the past years, several efforts have explored GPU support in Clad, including
42+
differentiation of CUDA code, partial support for the Thrust API, and
43+
prototype integrations with larger applications such as XSBench, LULESH, a
44+
tiny raytracer in the Clad repository, and LLM training examples (including
45+
work carried out last year). While these efforts demonstrate feasibility,
46+
they are fragmented across forks and student branches, are inconsistently
47+
tested, and lack reproducible benchmarking.
48+
49+
This project aims to consolidate and strengthen Clad's GPU
50+
infrastructure. The focus is on upstreaming existing work, improving
51+
correctness and consistency of CUDA and Thrust support, and integrating Clad
52+
with realistic GPU-intensive codebases. A key goal is to establish reliable
53+
benchmarks and CI coverage: if current results are already good, they should
54+
be documented and validated; if not, the implementation should be optimized
55+
further so that Clad is a practical AD solution for real-world GPU
56+
applications.
57+
tasks: |
58+
* Recover, reproduce, and upstream past Clad+GPU work, including prior
59+
student projects and LLM training prototypes.
60+
* Integrate Clad with representative GPU applications such as XSBench,
61+
LULESH, and the in-tree tiny raytracer, ensuring correct end-to-end
62+
differentiation.
63+
* Establish reproducible benchmarks for these codebases and compare results
64+
with other AD tools (e.g. Enzyme) where feasible.
65+
* Reduce reliance on atomic operations, improve accumulation strategies,
66+
and add support for additional GPU primitives and CUDA/Thrust features.
67+
* Add unit and integration tests and enable GPU-aware CI to catch
68+
correctness and performance regressions.
69+
* Improve user-facing documentation and examples for CUDA and Thrust usage.
70+
* Present intermediate and final results at relevant project meetings and
71+
conferences.
72+
tags: ["clad", "gpu", "cuda", "gsoc", "gsoc-26"]
73+
3874
- name: Enable automatic differentiation of OpenMP programs with Clad
3975
description: |
4076
Clad is an automatic differentiation (AD) clang plugin for C++. Given a C++

0 commit comments

Comments
 (0)