Skip to content

Commit

Permalink
Add new proposals for GSOC ROOT projects (#1540)
Browse files Browse the repository at this point in the history
  • Loading branch information
lmoneta authored Mar 28, 2024
1 parent e171e4a commit b0f14a9
Show file tree
Hide file tree
Showing 3 changed files with 80 additions and 1 deletion.
42 changes: 42 additions & 0 deletions _gsocproposals/2024/proposal_ROOT-TMVA-SOFIE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: SOFIE Developments - Inference Code Generation for Deep Learning models
layout: gsoc_proposal
project: ROOT/TMVA
difficulty: medium
duration: 350
mentor_avail: May-September
year: 2024
organization:
- CERN
---

## Description

The toolkit for Multivariate Analysis (TMVA) is a multi-purpose machine learning toolkit integrated into the ROOT scientific software framework, used in many particle physics data analysis and
applications. Currently, we are developing a fast inference system in TMVA, called SOFIE, that takes takes ONNX model as input and produces compilation-ready standalone C++ scripts as output. These scripts will then provide users an easy way to deploy their deep learning models in their physics software and analysis frameworks.

## Task ideas and expected results

This project will focus on development of some missing deep learning operations which will allow to build more complex networks within TMVA. Specifically, we propose to implement the inference
functionality of some ONNX operators, particullarly those used in transformer models, in the code generation format. The student can choose to build this based on existing implementations in TMVA or other existing machine learning software tools or build their own from scratch.
The expected result is a working implementation of modular operators classes that implement the operators as defined by the ONNX standards in the code generation format. The project requires also to write the corresponding unit tests need to validate the written code


## Evaluation Task

Interested students please contact the mentors for a warm-up and evaluation task.

## Requirements
* C++, familiarity with machine learning operators

## Mentors
* **[Lorenzo Moneta](mailto:[email protected])**
* [Sanjiban Sengupta](mailto:[email protected])


## Links
* [ROOT](https://root.cern/)
* [TMVA](https://root.cern/manual/tmva/)
* [TMVA/SOFIE](https://github.com/root-project/root/blob/master/tmva/sofie/README.md)
* [ONNX](https://onnx.ai)
* [ONNX Operators](https://github.com/onnx/onnx/blob/master/docs/Operators.md)
36 changes: 36 additions & 0 deletions _gsocproposals/2024/proposal_ROOT-histo-python.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: ROOT - Developments - Improve Python interface for HIstograms
layout: gsoc_proposal
project: ROOT
difficulty: medium
duration: 350
mentor_avail: May-September
year: 2024
organization:
- CERN
---

## Description

The goal of this project is to enhance the Python interface to make more "pythonic", i.e. easier to use, popular classes in ROOT such as histograms and graphs. Within Python it is natural to use the native language feature to configure the methods.

## Task ideas and expected results

The initial task will be to develop easy conversions of histograms and graph ROOT classes to Numpy arrays. Afterwards it is expected to implement the Universal Histogram Interface (UHI, see [https://uhi.readthedocs.io/en/latest/](https://uhi.readthedocs.io/en/latest/) ) for the ROOT histograms. This will allow interoperability in Python between different histogram packages.
Tests and tutorial examples are also expected to be developed, including the migration of existing tutorials to the pythonizations developed in this project.


## Evaluation Task

Interested students please contact the mentors for a warm-up and evaluation task.

## Requirements
Good knowledge of Python and C++, familiarity with machine learning software tools

## Mentors
* **[Lorenzo Moneta](mailto:[email protected])**
* [Jonas Rembser](mailto:[email protected])


## Links
* [ROOT](https://root.cern/)
3 changes: 2 additions & 1 deletion gsoc/2024/mentors.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,5 @@ layout: plain
* Vassil Vassilev [[email protected]](mailto:[email protected]) CompRes
* Valentin Volkl [[email protected]](mailto:[email protected]) CERN
* Petro Zarytskyi [[email protected]](mailto:[email protected]) CompRes

* Lorenzo Moneta [[email protected]](mailto:[email protected]) CERN
* Sanjiban Sengupta [[email protected]](mailto:[email protected]) CERN

0 comments on commit b0f14a9

Please sign in to comment.