Tue 19 Jun 2018 16:10 - 16:45 at Grand Ballroom C - Accessing the Memory System

Previous work has shown how the well-studied and SIMD-friendly Structure of Arrays (SOA) data layout strategy can speed up applications in high-performance computing compared to a traditional Array of Structures (AOS) data layout. However, a standard SOA layout cannot handle structures with inner arrays; such structures appear frequently in graph-based applications and object-oriented designs with associations of high multiplicity.

This work extends the SOA data layout to structures with array-typed fields. We present different techniques for inlining (embedding) inner arrays into an AOS or SOA layout, as well as the design and implementation of an embedded C++/CUDA DSL that lets programmers write such layouts in a notation close to standard C++. We evaluate several layout strategies with a traffic flow simulation, an important real-world application in transport planning.

Tue 19 Jun

ARRAY-2018-papers
16:10 - 17:20: ARRAY 2018 - Accessing the Memory System at Grand Ballroom C
ARRAY-2018-papers16:10 - 16:45
Talk
Matthias SpringerTokyo Institute of Technology, Yaozhu SunTokyo Institute of Technology, Hidehiko MasuharaTokyo Institute of Technology
Pre-print
ARRAY-2018-papers16:45 - 17:20
Talk
Eva BurrowsUniversity of Bergen, Norway, Helmer André FriisIRIS, Norway, Magne HaveraaenUniversity of Bergen, Norway