Skip to content

Commit 3467318

Browse files
authored
Merge branch 'compiler-research:master' into master
2 parents 977910a + ae0309e commit 3467318

File tree

62 files changed

+1417
-175
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+1417
-175
lines changed

_data/contributors.yml

Lines changed: 183 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,185 @@
146146
email: pavlo.svirin@cern.ch
147147
education: PhD Computer Science, National Technical University of Ukraine, 2014
148148
active: 1
149+
150+
- name: Isaac Morales Santana
151+
info: "GSoC 2024 Contributor"
152+
photo: Isaac.jpg
153+
email: isaacmoralessantana@gmail.com
154+
github: "https://github.com/imorlxs"
155+
active: 1
156+
linkedin: "https://www.linkedin.com/in/isaac-morales-santana-724280203/"
157+
education: "Computer Engineering, University of Granada, Spain"
158+
projects:
159+
- title: "Improving performance of BioDynaMo using ROOT C++ Modules"
160+
status: Ongoing
161+
description: |
162+
The ROOT is a framework for data processing, born at CERN, at the heart of the research on high-energy physics. Every day, thousands of physicists use ROOT applications to analyze their data or to perform simulations. The ROOT software framework is foundational for the HEP ecosystem, providing capabilities such as IO, a C++ interpreter, GUI, and math libraries. It uses object-oriented concepts and build-time modules to layer between components. We believe additional layering formalisms will benefit ROOT and its users.
163+
164+
BioDynaMo is an agent-based simulation platform that enables users to perform simulations of previously unachievable scale and complexity, making it possible to tackle challenging scientific research questions. The project has a wide range of applications in cancer research, epidemiology, and social sciences.
165+
166+
BioDynaMo incorporates ROOT for several crucial functionalities such as statistical analysis, random number generation, C++-based Jupyter notebooks, and IO. Some features rely on efficient reflection information about BioDynaMo’s and user-defined C++ classes. This project is about improving the performance of the reflection system by upgrading to C++ modules.
167+
168+
proposal: /assets/docs/Isaac_Morales-Proposal_2024.pdf
169+
mentors: Vassil Vassilev, Lukas Breitwieser, Tobias Duswal and Fons Rademakers
170+
171+
- name: "Chaitanya Shahare"
172+
photo: Chaitanya-Shahare.jpeg
173+
info: "GSoC 2024 Contributor"
174+
email: shaharechaitanya3@gmail.com
175+
education: "B.Tech in Mechanical Engineering, National Institute of Technology Srinagar, India"
176+
github: "https://github.com/Chaitanya-Shahare"
177+
www: "https://chaitanyashahare.com"
178+
active: 1
179+
linkedin: "https://www.linkedin.com/in/cs03"
180+
projects:
181+
- title: "LLVM.org website redesign"
182+
status: Ongoing
183+
description: |
184+
Revamping the LLVM.org Website: Modernizing the central hub for LLVM project
185+
information. Enhancing navigation, content discoverability, and usability for
186+
both new users and existing community members. Utilizing static site
187+
generators, like Hugo, for efficiency and scalability. Separating data and
188+
visualization using YAML and Markdown for easier content management. Engaging
189+
the community for feedback and collaboration throughout the redesign process.
190+
proposal: /assets/docs/Chaitanya_Shahare_Proposal_2024.pdf
191+
mentors: Tanya Lattner, Vassil Vassilev
192+
193+
- name: "Riya Bisht"
194+
photo: Riya-Bisht.jpeg
195+
info: "Google Summer Of Code 2024 Contributor"
196+
email: manasi.riya2003@gmail.com
197+
education: "B.Tech in Computer Science Engineering, Graphic Era University, India"
198+
github: "https://github.com/chococandy63"
199+
www: "https://riyabisht.com/about/"
200+
active: 1
201+
linkedin: "https://www.linkedin.com/in/riya-bisht-81b365196/"
202+
projects:
203+
- title: "Enable CUDA compilation on Cppyy-Numba generated IR"
204+
status: Ongoing
205+
description: |
206+
Cppyy is an automatic, run-time, Python-C++ binding generator, for calling C++ from Python and Python from C++.
207+
Initial support has been added that allows Cppyy to hook into the high-performance Python compiler, Numba which
208+
compiles looped code containing C++ objects/methods/functions defined via Cppyy into fast machine code. The
209+
project aims to enhance Cppyy, by enabling CUDA compilation on Numba-generated intermediate representation (IR).
210+
This integration will allow seamless utilization of CUDA paradigms in Python without compromising performance.
211+
The objectives includes adding support for Cppyy-defined CUDA Code i.e. implementing support for declaration and
212+
parsing of CUDA code defined in Cppyy within the Numba extension. Designing and developing a CUDA compilation
213+
mechanism and execution within the Cppyy-Numba environment.
214+
proposal: /assets/docs/Riya_Bisht_GSoC2024_Proposal.pdf
215+
mentors: Vassil Vassilev, Wim Lavrijsen, Aaron Jomy, Jonas Rembser
216+
217+
- name: "Atell Yehor Krasnopolski"
218+
photo: Atell.jpg
219+
info: "GSoC 2024 Contributor"
220+
email: delta_atell@protonmail.com
221+
education: "Mathematics, University of Wuerzburg, Germany"
222+
github: "https://github.com/gojakuch"
223+
www: "https://atell.neocities.org/"
224+
active: 1
225+
projects:
226+
- title: "Implement Differentiating of the Kokkos Framework in Clad"
227+
status: Ongoing
228+
description: |
229+
The goal is to implement the differentiation of the Kokkos framework including the support of Kokkos functors, lambdas, methods such as parallel_for, parallel_reduce, and deep_copy, as well as the general support for Kokkos view data structures. The set-off points for the project should be the existing "Kokkos-aware Clad" PR and the test cases I have developed. The additional aim of the project is to implement a generic approach to support any C++ library (starting with Kokkos) in such a way that the core of Clad is invariant to the internals of the library, but any Clad user can add it in a pluggable format for individual use cases.
230+
proposal: /assets/docs/Atell_Krasnopolsky_Proposal_2024.pdf
231+
mentors: Vassil Vassilev, Vaibhav Thakkar, Petro Zarytskyi
232+
233+
- name: Khushiyant
234+
photo: Khushiyant.jpg
235+
info: "Research Intern, GSoC 2024 Contributor"
236+
email: khushiyant2002@gmail.com
237+
education: "B.Tech in Computer Science and Engineering, G.G.S.I.P.U, India"
238+
github: "https://github.com/Khushiyant"
239+
www: "https://bento.me/khushiyant"
240+
linkedin: "https://www.linkedin.com/in/khushiyant/"
241+
active: 1
242+
projects:
243+
- title: "STL/Eigen - Automatic conversion and plugins for Python based ML-backends"
244+
status: Ongoing
245+
description: |
246+
Cppyy is an automatic, run-time, Python-C++ bindings generator, for calling C++ from Python and Python from C++.
247+
Cppyy uses pythonized wrappers of useful classes from libraries like STL and Eigen that allow the user to utilize them on the Python side.
248+
Current support follows container types in STL like std::vector, std::map, and std::tuple and the Matrix-based classes in Eigen/Dense.
249+
These cppyy objects can be plugged into idiomatic expressions that expect Python builtin-types.
250+
This behaviour is achieved by growing pythonistic methods like __len__ while also retaining its C++ methods like size.
251+
Efficient and automatic conversion between C++ and Python is essential towards high-performance cross-language support.
252+
This approach eliminates overheads arising from iterative initialization such as comma insertion in Eigen.
253+
This opens up new avenues for the utilization of Cppyy’s bindings in tools that perform numerical operations for transformations, or optimization.
254+
The on-demand C++ infrastructure wrapped by idiomatic Python enables new techniques in ML tools like JAX/CUTLASS.
255+
This project allows the C++ infrastructure to be plugged into at service to the users seeking high-performance library primitives that are unavailable in Python.
256+
257+
mentors: Vassil Vassilev, Wim Lavrijsen, Aaron Jomy, Jonas Rembser
258+
proposal: /assets/docs/Khushiyant_Proposal_2024.pdf
259+
260+
- name: "Tharun Anandh"
261+
photo: tharun_a.jpg
262+
info: "GSoC 2024 Contributor"
263+
email: atharun05@gmail.com
264+
education: "B.Tech in Computer Science and Engineering, National Institute of Technology, Tiruchirapalli, Tamil Nadu, India"
265+
github: "https://github.com/tharun571"
266+
active: 1
267+
linkedin: "https://www.linkedin.com/in/tharun-anandh-8b624b199/"
268+
projects:
269+
- title: "Integrate a Large Language Model with the xeus-cpp Jupyter kernel"
270+
status: Ongoing
271+
description: |
272+
Xeus-cpp, a Jupyter kernel for C++, is built upon the native implementation of the Jupyter protocol, xeus. This setup empowers users to interactively write and execute C++ code, providing immediate visibility into the results.With its REPL (read-eval-print-loop) functionality, users can rapidly prototype and iterate without the need to compile and run separate C++ programs. Additionally, this integration facilitates seamless interaction between C++ and Python within the same Jupyter environment. With the ever growing popularity of large language models, this project aims to integrate a large language model with the xeus-cpp Jupyter kernel. This integration will enable users to interactively generate and execute code in C++ leveraging the assistance of the language model.
273+
proposal: /assets/docs/TharunA_GSoC_Proposal_2024-Xeus-Cpp.pdf
274+
mentors: Anutosh Bhat, Johan Mabille, Aaron Jomy, David Lange, Vassil Vassilev
275+
276+
- name: Thomas Fransham
277+
info: "GSoC 2024 Contributor"
278+
email: tfransham@gmail.com
279+
github: "https://github.com/fsfod"
280+
active: 1
281+
projects:
282+
- title: "Support clang plugins on Windows"
283+
status: Ongoing
284+
description: |
285+
This project aims to allow using dynamically loaded Clang plugins on windows by adding
286+
support for building LLVM and Clang as shared libraries on Windows with all the
287+
public c++ API exported and dynamically linking to them. Part of the process will be
288+
automated with a tool built using the Clang tooling API to automatically add export macros
289+
on the appropriate class and functions declarations in llvm public headers.
290+
proposal: /assets/docs/Thomas_Fransham_GSoC24_Proposal.pdf
291+
mentors: Vassil Vassilev, Saleem Abdulrasool
292+
293+
- name: Mihail Mihov
294+
photo: mihail-mihov.jpg
295+
info: "GSoC 2024 Contributor"
296+
email: mihovmihailp@gmail.com
297+
github: "https://github.com/mihailmihov"
298+
active: 1
299+
projects:
300+
- title: "Add support for consteval and constexpr functions in clad"
301+
status: Ongoing
302+
description: |
303+
In mathematics and computer algebra, automatic differentiation (AD) is a set of techniques to numerically evaluate the derivative of a function specified by a computer program. Automatic differentiation is an alternative technique to Symbolic differentiation and Numerical differentiation (the method of finite differences). Clad is based on Clang which provides the necessary facilities for code transformation. The AD library can differentiate non-trivial functions, to find a partial derivative for trivial cases and has good unit test coverage.
304+
305+
C++ provides the specifiers consteval and constexpr to allow compile time evaluation of functions. constexpr declares a possibility, i.e the function will be evaluated at compile time if possible, else at runtime; whereas consteval makes it mandatory, i.e every call to the function must produce a compile-time constant.
306+
307+
The aim of this project is to ensure that same semantics are followed by the generated derivative function, i.e if the primal function is evaluated at compile time (because of constexpr or consteval specifier), then the generated derivative code should also have the same specifier to be evaluatable at compile time.
308+
309+
This will enable clad to demonstrate the benefits of doing automatic differentiation directly on C++ frontend to utilize the benefits of clang’s infrastructure.
310+
proposal: /assets/docs/Mihail_Mihov_GSoC24_Proposal.pdf
311+
mentors: Vaibhav Thakkar, Petro Zaritskyi, Vassil Vassilev
312+
313+
- name: Matthew Barton
314+
info: "Open Source Contributor"
315+
photo: Matthew.jpg
316+
education: PhD Theoretical Nuclear Physics, University of Surrey (2018)
317+
active: 1
318+
319+
- name: "This could be you!"
320+
photo: rock.jpg
321+
info: See <a href="/careers">openings</a> for more info
322+
email: vvasilev@cern.ch
323+
active: 1
324+
325+
################################################################################
326+
# 2024 #
327+
################################################################################
149328

150329
- name: Shreyas Atre
151330
photo: Shreyas.jpg
@@ -154,11 +333,10 @@
154333
education: "B.Tech in Electronics and Telecommunications Engineering, Veermata Jijabai Technological Institute, Mumbai, India | Masters in Computer Science, Louisiana State University, Baton Rouge, United States"
155334
github: "https://github.com/SAtacker"
156335
www: "https://satacker.github.io"
157-
active: 1
158336
linkedin: "https://www.linkedin.com/in/atreshreyas/"
159337
projects:
160338
- title: "Improve the test coverage for CppInterOp"
161-
status: Ongoing
339+
status: Completed
162340
description: |
163341
This project aims to enhance the reliability and robustness of
164342
CppInterOp, a library facilitating language interoperability by
@@ -176,15 +354,6 @@
176354
of template specialization decls in clang modules.
177355
mentors: Vassil Vassilev
178356

179-
- name: "This could be you!"
180-
photo: rock.jpg
181-
info: See <a href="/vacancies">openings</a> for more info
182-
email: vvasilev@cern.ch
183-
active: 1
184-
185-
################################################################################
186-
# 2024 #
187-
################################################################################
188357

189358
- name: Abhi Acherjee
190359
info: "IRIS-HEP Fellow"
@@ -193,7 +362,7 @@
193362
education: "Computer Sciences B.S. + M.S , University of Cincinnati, OH"
194363
projects:
195364
- title: "Extend the Automatic Differentiation Support in RooFit"
196-
status: Ongoing
365+
status: Completed
197366
description: |
198367
In terms of minimization time, Roofit offers faster results even with numerical
199368
differentiation techniques as compared to minimizing a likelihood function that
@@ -238,6 +407,7 @@
238407
mentors: Vassil Vassilev, Matheus Izvekov
239408
proposal: /assets/docs/Sahil_Patidar_Proposal_2024_Clang.pdf
240409

410+
241411
################################################################################
242412
# 2023 #
243413
################################################################################
@@ -917,4 +1087,4 @@
9171087
compute Jacobians.
9181088
report: |
9191089
[Poster](/assets/presentations/LLVM2020_Clad.pdf){:target="_blank"}
920-
mentors: Vassil Vassilev, Alexander Penev
1090+
mentors: Vassil Vassilev, Alexander Penev

_data/meetinglist.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
slides: "/assets/presentations/CR_04_04_2024.pdf"
1010
- title: Next meeting
1111
speaker: Vassil Vassilev
12-
link: 2 May 1700
12+
link: 6 Jun 1700
1313

1414
- name: "CaaS Monthly Meeting"
1515
date: 2024-03-07 17:00:00 +0200

_data/releases.yml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,31 @@
1+
- date: 2024-06-04
2+
codebase: "Xeus-Cpp"
3+
version: "v0.5"
4+
description: |
5+
This release merges most of the features available in xeus-clang-repl.
6+
Implements code completion and drops `xtl` as a dependency. The release adds
7+
a new kernel C++20 and drops C++11 and C++14 kernels as we upgraded to xeus
8+
5.
9+
link: "https://github.com/compiler-research/xeus-cpp/releases/tag/0.5.0"
10+
11+
- date: 2024-05-21
12+
codebase: "Clad"
13+
version: "v1.5"
14+
description: |
15+
This release enables Clang-18. Includes reduced size of the generated code.
16+
It integrates Clad better with Clang by moving the differentiation process
17+
at the end of the translation unit. Improves the error estimation
18+
infrastructure and has many bug fixes.
19+
link: "https://github.com/vgvassilev/clad/releases/tag/v1.5"
20+
21+
- date: 2024-05-09
22+
codebase: "CppInterOp"
23+
version: "v1.3.0"
24+
description: |
25+
This release includes improved support on Windows, code completion support
26+
and bug fixes.
27+
link: "https://github.com/compiler-research/CppInterOp/releases/tag/v1.3.0"
28+
129
- date: 2024-04-04
230
codebase: "Xeus-Cpp"
331
version: "v0.4"
@@ -138,4 +166,4 @@
138166
version: "v0.7"
139167
description: |
140168
This release includes some improvements and bug fixes.
141-
link: "https://github.com/vgvassilev/cling/releases/tag/v0.7"
169+
link: "https://github.com/vgvassilev/cling/releases/tag/v0.7"

_data/standing_meetings.yml

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,30 @@
55
agenda:
66
- title: Updates
77
link: "[Meeting Notes](https://docs.google.com/document/d/1HMUtM8rRPeTYDqsWZVD-iQityjJj9_GKgu0FHHbiBr0)"
8+
- title: "Enable CUDA Compilation on Cppyy-Numba generated IR"
9+
date: 2024-05-29 17:00:00 +0200
10+
speaker: "Riya Bisht"
11+
link: "[Slides](/assets/presentations/CaaS_Weekly_29_05_2024_Riya_Bisht_enable_CUDA_support_Cppyy_Numba_GSoC2024.pdf)"
12+
- title: "STL/Eigen - Automatic conversion and plugins for Python based ML-backends in cppyy"
13+
date: 2024-05-29 17:00:00 +0200
14+
speaker: "Khushiyant"
15+
link: "[Slides](/assets/presentations/CaaS_Weekly_28_05_2024_Khushiyant_CppyyGSoC.pdf)"
16+
- title: "Clad Constexpr Consteval Support Project Introduction"
17+
date: 2024-05-22 17:00:00 +0200
18+
speaker: "Mihail Mihov"
19+
link: "[Slides](/assets/presentations/CaaS_Weekly_22_05_2024_Mihail_Mihov_Clad_Constexpr_Consteval_GSoC2024.pdf)"
20+
- title: "ROOT: superbuilds"
21+
date: 2024-05-15 17:00:00 +0200
22+
speaker: "Pavlo Svirin"
23+
link: "[Slides](/assets/presentations/CaaS_Weekly_15_05_2024_Pavlo_Svirin_RootSuperBuildsGSoC.pdf)"
24+
- title: "Implementing Differentiation of the Kokkos Framework in Clad"
25+
date: 2024-05-15 17:00:00 +0200
26+
speaker: "Atell Yehor Krasnopolski"
27+
link: "[Slides](/assets/presentations/CaaS_Weekly_15_05_2024_Atell_Krasnopolski_KokkosCladGSoC.pdf)"
28+
- title: "LLVM.org Website Redesign"
29+
date: 2024-05-15 17:00:00 +0200
30+
speaker: "Chaitanya Shahare"
31+
link: "[Slides](/assets/presentations/CaaS_Weekly_15_05_2024_Chaitanya_Shahare_llvm_org_website_redesign.pdf)"
832
- title: "Differentiating integral type variables in Clad"
933
date: 2024-04-17 17:00:00 +0200
1034
speaker: "Petro Zarytskyi"
@@ -70,7 +94,7 @@
7094
speaker: "Yuquan (Fred) Fu"
7195
link: "[Slides](/assets/presentations/CaaS_Weekly_14_06_2023_Fred_Code_Completion_in_ClangREPL.pdf)"
7296
- title: "Enable cross-talk between Python and C++ kernels in xeus-clang-REPL by using Cppyy"
73-
date: 2023-06-07 14:00:00 +0200
97+
date: 2023-06-07 14:00:00 +0200
7498
speaker: "Smit Shah"
7599
link: "[Slides](/assets/presentations/CaaS_Weekly_07_06_2023_Smit_Cross_Talk_Between_C++_Python_Using_cppyy.pdf)"
76100
- title: "WebAssembly Support for clang-repl"
@@ -221,4 +245,3 @@
221245
date: 2022-01-05 14:00:00 +0200
222246
speaker: "Parth Arora"
223247
link: "[Slides](/assets/presentations/CaaS_Weekly_05_01_2022_Parth-Add_Support_For_Differentiating_wrt_User_Defined_Types.pdf)"
224-

0 commit comments

Comments
 (0)