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.