Tags

gsoc

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

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

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


clang

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

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

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

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

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++

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

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

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


llvm

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

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

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


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


memory-manager

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


gsod

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


documentation

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


root

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

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++

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

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


clang-repl

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

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

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


cppyy

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

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


website

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

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


clad

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

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

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

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++

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


cuda

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

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

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


reverse-mode

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

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


numba

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


xeus

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

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


xeus-cpp

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

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


cpp

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

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


llm

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

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


cmake

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

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++

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


c++

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++

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++


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


iris-hep

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


orc-jit

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


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


kokkos

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


jank

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


clojure

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


cppinterop

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