Latest Posts

The jank programming language

Jeaye Wilkerson • Dec 20, 2024 • 9 min read

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.

jank clojure clang clang-repl cppinterop

Superbuilds for ROOT: Updates

Pavlo Svirin Pavlo Svirin • Nov 05, 2024 • 3 min read

A GSoC 2024 project aimed to introduce superbuilds into ROOT

gsoc root cmake

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

Christina Koutsou Christina Koutsou • Nov 05, 2024 • 33 min read

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

gsoc clang llvm clad cuda reverse-mode

LLVM.org Website Redesign Project Wrap Up

Chaitanya Shahare Chaitanya Shahare • Nov 04, 2024 • 3 min read

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.

gsoc llvm website

Implementing Differentiation of the Kokkos Framework in Clad: Updates

Atell Yehor Krasnopolski Atell Yehor Krasnopolski • Oct 30, 2024 • 3 min read

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

gsoc clang llvm clad kokkos

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

Tharun Anandh Tharun Anandh • Oct 17, 2024 • 5 min read

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.

gsoc xeus xeus-cpp cpp llm

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

Isaac Morales Santana Isaac Morales Santana • Oct 17, 2024 • 4 min read

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

gsoc root cmake c++

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

Sahil Patidar Sahil Patidar • Oct 14, 2024 • 5 min read

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 more stable for developers

gsoc llvm clang-repl orc-jit llvm-jitlink-executor

Out Of Process execution for Clang-Repl

Sahil Patidar Sahil Patidar • Jul 18, 2024 • 3 min read

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 more stable for developers

gsoc llvm clang-repl orc-jit llvm-jitlink-executor

Optimizing automatic differentiation using activity analysis

Maksym Andriichuk Maksym Andriichuk • Jun 25, 2024 • 2 min read

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

iris-hep clang llvm clad

Differentiating electromagnetic showers in a sampling calorimeter

Max Aehle • Jun 07, 2024 • 2 min read

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

ad

Support for constexpr and consteval in Clad

Mihail Mihov Mihail Mihov • Jun 05, 2024 • 2 min read

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

gsoc clad clang c++

Superbuilds for ROOT

Pavlo Svirin Pavlo Svirin • May 31, 2024 • 2 min read

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

gsoc root cmake

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

Tharun Anandh Tharun Anandh • May 30, 2024 • 2 min read

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.

gsoc xeus xeus-cpp cpp llm

Enable CUDA Compilation on Cppyy-Numba generated IR

Riya Bisht Riya Bisht • May 30, 2024 • 6 min read

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.

gsoc cuda numba llvm cppyy

Implementing Differentiation of the Kokkos Framework in Clad

Atell Yehor Krasnopolski Atell Yehor Krasnopolski • May 26, 2024 • 2 min read

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

gsoc clang llvm clad

Enabling reverse-mode automatic differentiation of GPU kernels

Christina Koutsou Christina Koutsou • May 18, 2024 • 7 min read

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 reverse-mode automatic differentiation of CUDA kernels.

gsoc clang llvm clad cuda reverse-mode

LLVM.org Website Redesign Project Introduction

Chaitanya Shahare Chaitanya Shahare • May 11, 2024 • 3 min read

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.

gsoc llvm website

Code Completion in Clang Repl

Yuquan (Fred) Fu Yuquan (Fred) Fu • Sep 18, 2023 • 4 min read

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 for automatically completing user input or code completion. Sometimes, C++...

gsoc clang llvm

Driving Collaboration in Documentation: Google Season of Docs 2023

QuillPusher QuillPusher • May 10, 2023 • 2 min read

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 (using Clad, e.g. in RooFit and Floating-Point Error Estimation), and...

gsod documentation llvm root clang-repl cppyy

Shared Memory Based JITLink Memory Manager

Anubhab Ghosh Anubhab Ghosh • Dec 07, 2022 • 5 min read

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 in the same process as the linker, memory is directly...

gsoc llvm jitlink memory-manager

Recovering from Errors in Clang-Repl and Code Undo

Jun Zhang Jun Zhang , Purva Chaudhari Purva Chaudhari • Dec 02, 2022 • 5 min read

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 each piecewise. One of the challenges of Incremental C++ is...

gsoc clang llvm

Extend Clang to Resugar Template Specialization Accesses

Matheus Izvekov Matheus Izvekov • Nov 30, 2022 • 3 min read

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 automatically find bugs in your code, and are great examples...

gsoc clang llvm