Sylvain JOUBE
Research Publications
2023
CHEP Proceedings
S. Joube, H. Grasland, D. Chamont, and J. Falcou, “Kiwaku, a C++20 library for multidimensional arrays Application to ACTS tracking,” in 26th International Conference on Computing in High Energy & Nuclear Physics (CHEP 2023), Norfolk, United States, May 2023
2021
ACAT Proceedings
S. Joube, H. Grasland, D. Chamont, and E. Brunet, “Comparing SYCL data transfer strategies for tracking use cases,” Journal of Physics: Conference Series, vol. 2438, no. 1, p. 012 018, Feb. 2023, issn: 1742-6596. doi: 10.1088/1742-6596/2438/1/012018.
Talks
2024
Traccc Ambiguity Resolution, Part 1: CPU Greedy Solver
Acts Parallelization Meeting
Online
2023
Kiwaku, a C++20 Library for Multidimensional Arrays,
Applied to ACTS Tracking
CHEP 2023: 26th International Conference on Computing in High Energy & Nuclear Physics
Norfolk, United States
2022
Calcul Performant et Pratique avec C++20
14e Journées Informatiques IN2P3/IRFU
Le Croisic, France
2022
Kiwaku - Containers Well Made
4ème Reprise, Sorbonne Université
Paris, France
Scientific Summer Schools
2022
CEA/EDF/INRIA School on Hybrid and Asynchronous High-Performance Programming
Université de Reims Champagne–Ardenne, France
2021
ESC Efficient Scientific Computing School
Bertinoro, Italy
Teachings at Paris-Saclay University
54h
Advanced C++ Programming, for 1st and 2nd year master's students
48h
C++ Programming, for 1st year master's students
36h
Object Oriented Programming, for 1st year master's students
36h
Basics in Software Development, for 3rd year undergraduate students
20h
Computational Mathematics with Python, for 3rd year undergraduate students

Employment History
since 2021
PhD: GPU and Portable Performances - Heterogeneous Approaches and Applications
IJCLab (Laboratory of the Physics of the two Infinities Irène Joliot-Curie) and LISN (ex LRI, Computer Science Research Laboratory), Paris-Saclay University
Orsay, France
I am currently in the final few months of my PhD in efficient heterogeneous computing at LISN and IJCLab. I daily use a desktop version of Debian Linux on my personal and professional computer.

I am a developer of Kiwaku, a C++20 and onward collection of high performance data containers for heterogeneous computing based on generative metaprogramming. It targets massive parallelization on CPU with TBB, vectorization with EVE and multiple GPU architectures thanks to SYCL, since SYCL makes portable performance across compute accelerators much easier. Kiwaku is designed with usability in mind, fully taking advantage of the improvements provided by the C++20 standard.

As far as I can remember, I have always been fascinated by big physics experiments, and deeply value the research made at CERN. I was therefore delighted to use ATLAS data and Acts code (a charged particle tracking software) to evaluate the usability and performance of Kiwaku, leading to a talk at the CHEP 2023 conference called “Kiwaku, a C++20 library for multidimensional arrays, application to Acts tracking”. I wrote the corresponding article, now accepted for publication on the CHEP proceedings “EPJ Web of Conferences”. I used Python to process benchmark data and write plot scripts.

I also contributed to the CERN Acts/traccc repository which is “A single-source tracking demonstrator on CPUs/GPUs”, an R&D project of Acts designed for heterogeneous programming on CPUs, multi-core CPUs with TBB and GPUs with SYCL and CUDA. In particular, I have adapted the last step of the tracking chain, the ambiguity resolution algorithm, from Acts to traccc, and plan to develop a SYCL version for GPUs.
03-09/2021
Graduation internship: Comparing SYCL data transfer strategies for ACTS tracking
IJCLab (Laboratory of the Physics of the two Infinities Irène Joliot-Curie), Paris-Saclay University
Orsay, France
Six-month Master's degree internship in heterogeneous computing using the SYCL C++17 open standard and two of its implementations: Intel oneAPI and hipSYCL (now AdaptiveCpp).

I conducted an in-depth evaluation of the usability and performance of various SYCL memory models for both a memory-bound microbenchmark and a real use-case: my GPU adaptation of the first step of the Acts/traccc tracking chain (a charged particle tracking software). I measured the impact of memory access patterns on GPUs and CPUs, mainly profiling code execution with Nvidia Nsight and Intel VTune. I developed efficient data structures to better understand compute accelerator performance characteristics such as cache effects, memory bandwidth (PCIe bus, GPU memory, threads local memory, caches) and the implications of memory layout.

This led to the publication of my article in the ACAT 2021 proceedings called “Comparing SYCL data transfer strategies for tracking use cases” in the “Journal of Physics: Conference Series”.
Education
since 2021
PhD in Computer Science
Paris-Saclay University
Orsay, France
Please refer to my work experience called “PhD: GPU and Portable Performances - Heterogeneous Approaches and Applications”.
2019-2021
Master's degree in Computer Science: Distributed Systems and Applications
Sorbonne Université Sciences
Paris, France
I learned a lot during my master’s degree, in various fields related to heterogeneous programming. Here are a few relevant topics I studied: kernel C programming, CPU and GPU architectures, hardware and software CPU pipelines, assembly, distributed synchronization (consensus in a network of unreliable or fallible processors), distributed load balancing with Scala and Java, Git underlying blockchain architecture, operating system virtualization, C++ concurrent programming, formal methods.
2018-2019
Bachelor's Degree in Compter Science
Sorbonne Université Sciences
Paris, France
This taught me a general knowledge on object oriented programming, data science, network and project management.
2011-2013
Classes préparatoires aux grandes écoles (equivalent to second-year university level)
Sorbonne Université Sciences
Paris, France
A few relevant topics: Probability on a finite universe, random variables and laws, expectation and variance ; Matrix calculus and linear systems - vector spaces, matrices and linear applications - endomorphisms of an Euclidean space ; Common algebraic structures - topology of normed vector spaces ; Limits, derivability, continuity and asymptotic analysis for functions - primitives and linear differential equations - integration on any interval ; Vector functions - suites and series of functions - integer, numerical and vector series ; And a few basics in physics: electromagnetism - signal processing - quantum physics - mechanics - optics - statistical thermodynamics
2011-2013
Bi-disciplinary Degree in Computer Science and Applied Mathematics
Sorbonne Université Sciences
Paris, France
Stopped due to serious family problems.
Major Personal Project
2014-2018
Self-taught Development of a Massively Multiplayer Video Game
Paris, France
Using Game Maker and Object Pascal.
Skills
English
C1
French
Native speaker
Languages
C++ (C++17 and C++20), SYCL, Python, C, Object Pascal, Java, Scala
Coding
Heterogeneous, GPU / GPGPU, Massively Parallel, Distributed, Vectorized, Meta-Programming
Misc
Debian Linux, Git, GitHub CI, Project Management








Last update: April 15, 2024