Latest Posts

Topic:

RAMTools: Extending ROOT for Genomic Data Processing

Aditya Pandey • Nov 15, 2025

A GSoC 2025 project extending CERN's ROOT framework with the RNTuple format to efficiently process, store, and query large-scale genomic data.

Implementing Debugging Support for xeus-cpp

Abhinav Kumar • Nov 14, 2025

A GSoC 2025 project aiming at integration of debugger into the xeus-cpp kernel for Jupyter using LLDB and its Debug Adapter Protocol (lldb-dap).

Wrapping Up GSoC 2025: Enable Automatic Differentiation of OpenMP Programs with Clad

Jiayang Li • Nov 14, 2025

A summary of my GSoC 2025 project focusing on OpenMP support to Clad, enabling automatic differentiation of multi-threaded C++ programs.

Activity analysis for reverse-mode differentiation of (CUDA) GPU kernels

Maksym Andriichuk • Nov 14, 2025

A summary of my GSoC 2025 project focusing on activity analysis for reverse-mode differentiation of (CUDA) GPU kernels.

Wrapping up GSoC 2025: Implement and improve an efficient, layered tape with prefetching capabilities

Aditi Milind Joshi • Nov 11, 2025

A summary of my GSoC 2025 project focusing on optimizing Clad's tape data structure by introducing slab-based memory, small buffer optimization, thread safety and multilayer storage.

GSoC 2025 Final: Compiler-Driven LLM Training with Clad and C++

Rohan Timmaraju • Nov 10, 2025

My GSoC 2025 project: implementing LLM training in C++ using Clad for compiler-level automatic differentiation. We explore two implementation approaches, culminating in performance improvements over PyTorch on CPU.

Supporting Thrust API in Clad - Final Report

Abdelrhman Elrawy • Nov 04, 2025

A comprehensive wrap-up of my Google Summer of Code 2025 project on enabling automatic differentiation of GPU-accelerated code through Thrust API support in Clad.

CARTopiaX: an Agent-Based Simulation of CAR T-Cell Therapy built on BioDynaMo

Salvador de la Torre Gonzalez • Oct 31, 2025

CARTopiaX is an agent-based model developed using BioDynaMo to simulate CAR-T cell dynamics and interactions within the solid tumor microenvironment. It provides researchers with a tool to efficiently evaluate therapy efficacy and identify strategies to improve treatment outcomes.

Congratulations to Rohan Timmaraju & the NEO-FLOOD Team

Vassil Vassilev • Oct 08, 2025

Congratulations to Rohan Timmaraju and the NEO-FLOOD team for their success in NASA's Beyond the Algorithm Challenge. This win highlights the strength of cross‑disciplinary thinking, where foundational research technologies enable solutions to high‑stakes problems.

Results from CERN Summer School 2025: Supporting Automatic Differentiation in CMS Combine profile likelihood scans

Galin Bistrev • Sep 25, 2025

A CERN Summer Student 2025 project aiming at the support of automatic differentiation (AD) for likelihood scans in the CMS Combine tool to accelerate statistical inference by leveraging RooFit's AD support and LLVM-based gradient generation.

Improve automatic differentiation of object-oriented paradigms using Clad

Petro Zarytskyi • Jul 31, 2025

A GSoC 2025 contributor project aiming to enhance Clad's ability to differentiate through OOP and STL constructs by supporting functions with side-effects.

Activity analysis for reverse-mode differentiation of (CUDA) GPU kernels

Maksym Andriichuk • Jul 14, 2025

A GSoC 2025 contributor project aiming to implement Activity Analysis for (CUDA) GPU kernels

Implementing AD in CMS Combine

Galin Bistrev • Jul 05, 2025

A CERN Summer Student 2025 project aiming at the integration of automatic differentiation (AD) into the CMS Combine tool to accelerate statistical inference by leveraging RooFit's AD support and LLVM-based gradient generation.

Enable Automatic Differentiation of OpenMP Programs with Clad

Jiayang Li • May 26, 2025

This project introduces OpenMP support to Clad, enabling automatic differentiation of multi-threaded C++ programs.

Implementing Debugging Support for xeus-cpp

Abhinav Kumar • May 22, 2025

A GSoC 2025 project aiming at integration of debugger into the xeus-cpp kernel for Jupyter using LLDB and its Debug Adapter Protocol (lldb-dap).

Implement and improve an efficient, layered tape with prefetching capabilities

Aditi Milind Joshi • May 22, 2025

A GSoC 2025 project focussing on optimizing Clad's tape data structure for reverse-mode automatic differentiation, introducing slab-based memory, thread safety, multilayer storage, and future support for CPU-GPU transfers.

Enhancing LLM Training Efficiency with Clad for Automatic Differentiation

Rohan Timmaraju • May 21, 2025

This GSoC project leverages Clad to optimize LLM training in C++, aiming to boost efficiency by developing a custom tensor library and integrating Clad for compiler-level gradient calculations.

Supporting Thrust API in Clad

Abdelrhman Elrawy • May 18, 2025

This summer, I am working on adding support for Thrust API in Clad, enabling automatic differentiation of GPU-accelerated code. This work bridges the gap between high-performance CUDA parallelism and source-to-source AD transformation.

Supporting STL Concurrency Primitives in CLAD

Petro Mozil • May 18, 2025

Support for STL concurrency features in CLAD is a useful feature for applications utilizing cpu threads. Many applications of autodifferentiation benefit from parallel or concurrent processing, and support for some STL concurrency primitives such as threads and basic synchronization primitives...

Advanced symbol resolution and re-optimization for Clang-Repl

Sahil Patidar • May 18, 2025

Advanced symbol resolution and re-optimization for Clang-Repl is a Google Summer of Code 2025 project. It aims to improve Clang-Repl and ORC JIT by adding support for automatically loading dynamic libraries when symbols are missing. This removes the need for...

Agent-Based Simulation of CAR-T Cell Therapy Using BioDynaMo

Salvador de la Torre Gonzalez • May 14, 2025

This GSoC 2025 project, Agent-Based Simulation of CAR-T Cell Therapy, aims to develop a BioDynaMo-based model to simulate CAR-T cell dynamics and interactions. The goal is to provide researchers with a tool to evaluate therapy efficacy and identify strategies to...

Using ROOT in the field of genome sequencing

Aditya Pandey • May 13, 2025

A GSoC 2025 project aiming to advance genomic data management by implementing ROOT's next-generation RNTuple format for sequence alignment storage.

2024 Year-End Reflections: CompilerResearch Group (Personal Perspective)

Vassil Vassilev • Jan 05, 2025

A personal reflection on the Compiler Research Group's 2024 journey, highlighting advances in Clad and CppInterOp, deep integration with ROOT and CUDA, and the growth of a vibrant, global open-source community.

The jank programming language

[Jeaye Wilkerson](https://github.com/jeaye) • Dec 20, 2024

Learn about jank, the native Clojure dialect on LLVM, and how it uses Clang and CppInterOp to stand out from the pack. Discover how Clojure users develop and how jank brings that to the native world.

Superbuilds for ROOT: Updates

Pavlo Svirin • Nov 05, 2024

A GSoC 2024 project aimed to introduce superbuilds into ROOT

The journey of enabling reverse-mode automatic differentiation of GPU kernels

Christina Koutsou • Nov 05, 2024

A not-very-short description of the challenges faced and my overall experience

LLVM.org Website Redesign Project Wrap Up

Chaitanya Shahare • Nov 04, 2024

The LLVM.org website redesign project, part of GSoC 2024, aimed to modernize and enhance usability of llvm.org website for its community of developers. This initiative will streamline navigation, improve accessibility, and update content, transforming LLVM.org into a more user-friendly resource....

Implementing Differentiation of the Kokkos Framework in Clad: Updates

Atell Yehor Krasnopolski • Oct 30, 2024

A GSoC 2024 project aimed at implementing the differentiation of the Kokkos framework into Clad

Integrate a Large Language Model with the xeus-cpp Jupyter kernel - Final Report

Tharun Anandh • Oct 17, 2024

Integrate a Large Language Model with the xeus-cpp Jupyter kernel, part of Google Summer of Code 2024, aims to integrate a large langauge model into the xeus kernel for users to interactively generate and execute code.

Wrapping up GSoC'24: Improving performance of BioDynaMo using ROOT C++ Modules

Isaac Morales Santana • Oct 17, 2024

This project, part of Google Summer of Code 2024, aims to reduce the header parsing in BioDynaMo using the ROOT C++ Modules

Wrapping Up GSoC 2024: Out-Of-Process Execution for Clang-REPL

Sahil Patidar • Oct 14, 2024

Out of Process Execution for Clang-Repl project, part of Google Summer of Code 2024, aims to enhance Clang-Repl by implementing out-of-process execution. This will address issues of high resource consumption and instability, making Clang-Repl more suitable for low-power devices and...

Out Of Process execution for Clang-Repl

Sahil Patidar • Jul 18, 2024

Out of Process Execution for Clang-Repl project, part of Google Summer of Code 2024, aims to enhance Clang-Repl by implementing out-of-process execution. This will address issues of high resource consumption and instability, making Clang-Repl more suitable for low-power devices and...

Optimizing automatic differentiation using activity analysis

Maksym Andriichuk • Jun 25, 2024

IRIS-HEP project aimed to optimize automatic differentiation using activity analysis

Differentiating electromagnetic showers in a sampling calorimeter

Max Aehle • Jun 07, 2024

Report on our work to apply algorithmic differentiation to the simulation codes G4HepEm/HepEmShow

Support for constexpr and consteval in Clad

Mihail Mihov • Jun 05, 2024

A GSoC 2024 project with the goal of adding support for constant expressions to Clad

Superbuilds for ROOT

Pavlo Svirin • May 31, 2024

A GSoC 2024 project with goal to split ROOT into separate components and thus speed up its compilation

Integrate a Large Language Model with the xeus-cpp Jupyter kernel

Tharun Anandh • May 30, 2024

Integrate a Large Language Model with the xeus-cpp Jupyter kernel, part of Google Summer of Code 2024, aims to integrate a large langauge model into the xeus kernel for users to interactively generate and execute code.

Enable CUDA Compilation on Cppyy-Numba generated IR

Riya Bisht • May 30, 2024

Enable CUDA Compilation on Cppyy-Numba generated IR project, part of Google Summer of Code 2024, aims to demonstrate Cppyy's capability to provide CUDA paradigms to Python users without any compromise in performance.

Implementing Differentiation of the Kokkos Framework in Clad

Atell Yehor Krasnopolski • May 26, 2024

A GSoC 2024 project aimed at implementing the differentiation of the Kokkos framework into Clad

Enabling reverse-mode automatic differentiation of GPU kernels

Christina Koutsou • May 18, 2024

Nowadays, the rise of General Purpose GPU programming has caused more and more tools used by the scientific community to adjust to GPU's architecture. This project aims to allow `Clad` to ride that tide and broaden its use-range by enabling...

LLVM.org Website Redesign Project Introduction

Chaitanya Shahare • May 11, 2024

The LLVM.org website redesign project, part of Google Summer of Code 2024, aims to modernize and enhance usability for its community of developers. This initiative will streamline navigation, improve accessibility, and update content, transforming LLVM.org into a more user-friendly resource....

Code Completion in Clang Repl

Yuquan (Fred) Fu • Sep 18, 2023

Clang-Repl, featuring a REPL(Read-Eval-Print-Loop) environment, allows developers to program in C++ interactively. It is a C++ interpreter built upon the Clang and LLVM incremental compilation pipeline. One of the missing upstream features in Clang-Repl is the ability to propose options...

Driving Collaboration in Documentation: Google Season of Docs 2023

QuillPusher • May 10, 2023

A review of the documentation efforts in 2023, powered by Google's Season of Docs initiative. An audit of the existing documentation was done to identify gaps and potential areas of improvement. Our main areas of focus were: Automatic Differentiation applications...

Shared Memory Based JITLink Memory Manager

Anubhab Ghosh • Dec 07, 2022

LLVM JIT APIs include JITLink, a just-in-time linker that links together objects code units directly in memory and executes them. It uses the JITLinkMemoryManager interface to allocate and manage memory for the generated code. When the generated code is run...

Recovering from Errors in Clang-Repl and Code Undo

Jun Zhang Purva Chaudhari • Dec 02, 2022

Incremental C++ enables exploratory programming by considering the translation unit to be an ever-growing entity. This allows implementation of interpreter-like tools such as Cling and Clang-Repl, which consume C++ code piece by piece and use the JIT infrastructure to run...

Extend Clang to Resugar Template Specialization Accesses

Matheus Izvekov • Nov 30, 2022

Clang is an LLVM native C/C++/Objective-C compiler, which aims to deliver amazingly fast compiles, extremely useful error and warning messages and to provide a platform for building great source level tools. The Clang Static Analyzer and clang-tidy are tools that...