Speaker
Markus Holzer
(CERN)
Description
The Struct of Arrays (SoA) layout separates structure fields into individual arrays, each holding a single attribute across all elements. Compared to the traditional Array of Structures (AoS), SoA improves data locality, vectorisation, cache usage, and memory bandwidth—critical for heterogeneous computing. In CMSSW, SoA is implemented using the Boost::PP library to provide a clean, user-friendly interface. This work outlines CMSSW’s SoA features, their integration with ROOT RNTuple, and highlights recent developments and planned extensions. We also present CMSSW’s requirements for the RNTuple format moving forward.
Author
Markus Holzer
(CERN)
Co-author
Felice Pantaleo
(CERN)