Dice Question Streamline Icon: https://streamlinehq.com

Generality of the observed detrimental impact of loop blocking and sorting under view-based SoA conversion

Ascertain whether the observed detrimental effect of loop blocking and explicit data sorting, when using compiler-guided temporary SoA views, persists across different particle struct sizes, deeper memory hierarchies, and algorithms with significant long-range interactions.

Information Square Streamline Icon: https://streamlinehq.com

Background

The results indicate that with compiler-generated views and temporary SoA conversions, attempts to exploit coalesced access via loop blocking and explicit sorting into small contiguous chunks are counterproductive; continuous ordering offers little benefit and small sub-chunks hurt performance.

The authors caution that it is not clear whether these observations generalize to other particle sizes, deeper memory hierarchies, or SPH variants with substantial long-range interactions, suggesting the need for further investigation.

References

However, it is not clear if we can uphold this observation for all particle types, i.e. number of struct members, deeper memory hierarchies or other algorithms. Notably SPH algorithm flavours with a lot of long-range interactions might behave different if the "long-range data" falls out of L3 cache.

Annotation-guided AoS-to-SoA conversions and GPU offloading with data views in C++ (2502.16517 - Radtke et al., 23 Feb 2025) in Section 6.2 Results — Data transformation impact