Optimizing Memory Access Patterns through Automatic Data Layout Transformation (Work in Progress Paper)

Jolly Chen, Ana-Lucia Varbanescu, Axel Naumann · 2025

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.

Read the paper · More papers on PaperTik