Skip to content

Commit 1613bf6

Browse files
committed
feat: Add TMVA SOFIE GPU Project
1 parent 55cea4d commit 1613bf6

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
title: TMVA SOFIE - GPU Support for Machine Learning Inference
3+
layout: gsoc_proposal
4+
project: ROOT
5+
year: 2025
6+
organization: CERN
7+
difficulty: medium
8+
duration: 350
9+
mentor_avail: June-October
10+
---
11+
12+
# Description
13+
SOFIE (System for Optimized Fast Inference code Emit) is a Machine Learning Inference Engine within TMVA (Toolkit for Multivariate Data Analysis) in ROOT. SOFIE offers a parser capable of converting ML models trained in Keras, PyTorch, or ONNX format into its own Intermediate Representation, and generates C++ functions that can be easily invoked for fast inference of trained neural networks. The parsed models produce C++ header files that can be seamlessly included and used in a 'plug-and-go' style.
14+
15+
SOFIE currently supports various Machine Learning operators defined by the ONNX standards, as well as a Graph Neural Network (GNN) implementation. It supports the parsing and inference of Graph Neural Networks trained using DeepMind Graph Nets.
16+
17+
As SOFIE continues to evolve, there's a need to enable inference on GPUs. This project aims to explore different GPU stacks (such as CUDA, ROCm, ALPAKA) and implement GPU-based inference functionalities in SOFIE. There is already a SYCL implementation for SOFIE, developed in 2023, which can serve as a reference for future development.
18+
19+
## Task ideas
20+
In this project, the contributor will gain experience with GPU programming and its role in Machine Learning inference. They will start by understanding SOFIE and running inference on CPUs. After researching GPU stacks and methods of their integration with SOFIE, the contributor will implement GPU support for inference, ensuring the code is efficient and well-integrated with GPU technologies.
21+
22+
## Expected results and milestones
23+
* **Familiarization with TMVA SOFIE**: Understanding the SOFIE architecture, working with its internals, and running inference on CPUs.
24+
* **Research and Evaluation**: Analyzing various GPU stacks (CUDA, ROCm, ALPAKA, etc.) and determining their alignment with SOFIE.
25+
* **Implementation of GPU Inference**: Developing functionalities for GPU-based inference in SOFIE.
26+
* **[Optional] Benchmarking**: Evaluating the performance of the new GPU functionality by benchmarking memory usage, execution time, and comparing results with other frameworks (such as TensorFlow or PyTorch).
27+
28+
## Requirements
29+
* Proficiency in C++ and Python.
30+
* Basic knowledge of GPU programming (e.g., CUDA).
31+
* Familiarity with version control systems like Git/GitHub.
32+
33+
## Mentors
34+
* **[Lorenzo Moneta](mailto:[email protected])**
35+
* [Sanjiban Sengupta](mailto:[email protected])
36+
37+
## Links
38+
* [ROOT Project homepage](https://root.cern/)
39+
* [ROOT Project repository](https://github.com/root-project/root)
40+
* [SOFIE Repository](https://github.com/root-project/root/tree/master/tmva/sofie)
41+
* [Implementation of SOFIE-SYCL](https://github.com/root-project/root/pull/13550/)
42+
* [Accelerating Machine Learning Inference on GPUs with SYCL](https://dl.acm.org/doi/10.1145/3648115.3648123)

gsoc/2025/mentors.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@ layout: plain
1919
* David Lange [[email protected]](mailto:[email protected]) CompRes
2020
* Serguei Linev [[email protected]](mailto:[email protected]) GSI
2121
* Peter McKeown [[email protected]](mailto:[email protected]) CERN
22+
* Lorenzo Moneta [[email protected]](mailto:[email protected]) CERN
2223
* Felice Pantaleo [[email protected]](mailto:[email protected]) CERN
2324
* Giacomo Parolini [[email protected]](mailto:[email protected]) CERN
2425
* Alexander Penev [[email protected]](mailto:[email protected]) CompRes/University of Plovdiv, BG
26+
* Sanjiban Sengupta [[email protected]](mailto:[email protected]) CERN
2527
* Mayank Sharma [[email protected]](mailto:[email protected]) UMich
2628
* Simon Spannagel [[email protected]](mailto:[email protected]) DESY
2729
* Graeme Stewart [[email protected]](mailto:[email protected]) CERN

0 commit comments

Comments
 (0)