Skip to content

Commit d9412dd

Browse files
aaronj0vgvassilev
authored andcommitted
Update our open projects page
1 parent ed79c10 commit d9412dd

File tree

1 file changed

+113
-0
lines changed

1 file changed

+113
-0
lines changed

_data/openprojectlist.yml

+113
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,116 @@
1+
- name: "ROOT Superbuilds"
2+
description: |
3+
[ROOT](https://root.cern/) is a framework for data processing,
4+
born at CERN, at the heart of the research on high-energy physics.
5+
Every day, thousands of physicists use ROOT applications to analyze their
6+
data or to perform simulations. The ROOT software framework is
7+
foundational for the HEP ecosystem, providing capabilities such
8+
as IO, a C++ interpreter, GUI, and math libraries. It uses
9+
object-oriented concepts and build-time modules to layer between
10+
components. We believe additional layering formalisms will benefit
11+
ROOT and its users.
12+
13+
Currently, ROOT is built as all-in-one package. We are working to create
14+
a modular version of ROOT that provides a minimal base install of core
15+
features, then later add functionality via incremental builds. This
16+
requires introducing new layering mechanisms and extending the functionality
17+
of the existing ROOT package manager prototype.
18+
19+
tasks: |
20+
* Enhance the existing CMake build system rules to enable lazy building of packages
21+
* Bootstrap “RootBase”
22+
* Demonstrate “layered” lazy builds
23+
24+
- name: "Improving performance of BioDynaMo using ROOT C++ Modules"
25+
description: |
26+
[ROOT](https://root.cern/) is a framework for data processing,
27+
born at CERN, at the heart of the research on high-energy physics.
28+
Every day, thousands of physicists use ROOT applications to analyze their
29+
data or to perform simulations. The ROOT software framework is
30+
foundational for the HEP ecosystem, providing capabilities such
31+
as IO, a C++ interpreter, GUI, and math libraries. It uses
32+
object-oriented concepts and build-time modules to layer between
33+
components. We believe additional layering formalisms will benefit
34+
ROOT and its users.
35+
36+
BioDynaMo is an agent-based simulation platform that enables users
37+
to perform simulations of previously unachievable scale and complexity,
38+
making it possible to tackle challenging scientific research questions.
39+
The project has a wide range of applications in cancer research,
40+
epidemiology, and social sciences.
41+
42+
BioDynaMo incorporates ROOT for several crucial functionalities such
43+
as statistical analysis, random number generation, C++-based Jupyter
44+
notebooks, and IO. Some features rely on efficient reflection
45+
information about BioDynaMo’s and user-defined C++ classes. This project
46+
is about improving the performance of the reflection system by upgrading
47+
to C++ modules.
48+
49+
tasks: |
50+
* Rework the cmake rules to incorporate efficiently ROOT via `FetchContent`
51+
* Replace invocations of `genreflex` in favor of `rootcling`
52+
* Enable C++ modules in `rootcling`
53+
* Produce a comparison report
54+
55+
- name: "Using ROOT in the field of genome sequencing"
56+
description: |
57+
[ROOT](https://root.cern/) is a framework for data processing,
58+
born at CERN, at the heart of the research on high-energy physics.
59+
Every day, thousands of physicists use ROOT applications to analyze their
60+
data or to perform simulations. The ROOT software framework is
61+
foundational for the HEP ecosystem, providing capabilities such
62+
as IO, a C++ interpreter, GUI, and math libraries. It uses
63+
object-oriented concepts and build-time modules to layer between
64+
components. We believe additional layering formalisms will benefit
65+
ROOT and its users.
66+
67+
ROOT has broader scientific uses than the field of high energy
68+
physics. Several studies have shown promising applications of
69+
the ROOT I/O system in the field of genome sequencing. This
70+
project is about extending the developed capability in
71+
[GeneROOT](https://github.com/GeneROOT) and understanding better
72+
the requirements of the field.
73+
74+
tasks: |
75+
* Reproduce the results from previous comparisons against the ROOT master
76+
* Investigate changing the compression strategies
77+
* Investigate different ROOT file splitting techniques
78+
* Produce a comparison report
79+
80+
- name: "Implement Differentiating of the Kokkos Framework"
81+
description: |
82+
In mathematics and computer algebra, automatic differentiation (AD) is
83+
a set of techniques to numerically evaluate the derivative of a function
84+
specified by a computer program. Automatic differentiation is an
85+
alternative technique to Symbolic differentiation and Numerical
86+
differentiation (the method of finite differences). Clad is based on
87+
Clang which provides the necessary facilities for code transformation.
88+
The AD library can differentiate non-trivial functions, to find a partial
89+
derivative for trivial cases and has good unit test coverage.
90+
91+
The Kokkos C++ Performance Portability Ecosystem is a production level
92+
solution for writing modern C++ applications in a hardware agnostic way.
93+
It is part of the US Department of Energies Exascale Project – the leading
94+
effort in the US to prepare the HPC community for the next generation of
95+
super computing platforms. The Ecosystem consists of multiple libraries
96+
addressing the primary concerns for developing and maintaining applications
97+
in a portable way. The three main components are the Kokkos Core Programming
98+
Model, the Kokkos Kernels Math Libraries and the Kokkos Profiling and
99+
Debugging Tools.
100+
101+
The Kokkos framework is used in several domains including climate modeling
102+
where gradients are important part of the simulation process. This project
103+
aims at teaching Clad to differentiate Kokkos entities in a performance
104+
portable way
105+
106+
tasks: |
107+
* Implement common test cases for Kokkos in Clad
108+
* Add support for Kokkos functors
109+
* Add support for Kokkos lambdas
110+
* Incorporate the changes from the [initial Kokkos PR](https://github.com/vgvassilev/clad/pull/783)
111+
* Enhance existing benchmarks demonstrating effectiveness of Clad for Kokkos
112+
* [Stretch goal] Performance benchmarks
113+
1114
- name: "Integrate a Large Language Model with the xeus-cpp Jupyter kernel"
2115
description: |
3116
xeus-cpp is a Jupyter kernel for cpp based on the native implementation

0 commit comments

Comments
 (0)