Optimizing Memory Access Patterns through Automatic Data Layout Transformation (Work in Progress Paper)
In many programming languages, memory access patterns exhibited by an application are dictated by the data structures defined by the programmer, which, in turn, dictate how the data are ordered in memory. Exploring access pattern optimizations is essential for performance: we demonstrate, through several benchmarks, the effects of Array of Structures (AoS) and Structure of Arrays (SoA) layouts on cache utilization, auto-vectorization, and false sharing. Despite these benefits, exploration remains a time-consuming task because it requires rewriting data structure definitions and, very often, computing kernel code to accommodate these changes.
Authors
- Jolly Chen (ORCID: https://orcid.org/0000-0003-1110-1256)
- N. A. Naumann (ORCID: https://orcid.org/0000-0002-4725-0766)
- Ana-Lucia Varbanescu (ORCID: https://orcid.org/0000-0002-4932-1900)
Institutions
- European Organization for Nuclear Research (CH)
- University of Twente (NL)
Publication Details
- Published
- 2025-05-03
- DOI
- https://doi.org/10.1145/3680256.3722203
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- CERN