Data Layouts are Important (Extended Abstract)
Choosing an appropriate data layout can have a significant impact on the performance of any application. In this presentation we outline the importance of having a flexible way of modifying the data layout to enable more aggressive optimizations. First, we discuss how changing the data layout for complex numbers may enable more efficient SIMD vectorization for Fourier transforms and complex matrix-matrix multiplication. Then, we focus on how changing the data distribution helps in scaling three dimensional Fourier transforms on thousands of compute nodes. Finally, we look at how modifying the data layout enables memory bound operations like Fourier transforms and block sparse computations to be merged to improve data locality and reduce data movement. Using these three examples, we emphasize the need for methods and languages that allow data layouts and data layout changes to be easily expressed in order to achieve higher performance gains.
Extended abstract (ARRAY_2021_paper_7.pdf) | 1.7MiB |
Mon 21 JunDisplayed time zone: Eastern Time (US & Canada) change
18:00 - 21:00 | |||
18:00 25mTalk | Improving the Performance of DGEMM with MoA and Cache-Blocking ARRAY Stephen Thomas National Renewable Energy Laboratory, Lenore Mullin SUNY Albany, USA, Kasia Swirydowicz Pacific Northwest National Laboratory File Attached | ||
18:25 25mTalk | Nested Object Support in a Structure-of-Arrays Dynamic Objector Allocator ARRAY File Attached | ||
18:50 25mTalk | Data Layouts are Important (Extended Abstract) ARRAY Doru Thom Popovici Lawrence Berkeley National Lab, Andrew Canning Lawrence Berkeley National Laboratory, Zhengji Zhao Lawrence Berkeley National Laboratory, Lin-Wang Wang Lawrence Berkeley National Laboratory, John Shalf Lawrence Berkeley National Laboratory File Attached |