Data Layout Inference for Code Vectorisation

A. Šinkarovs and S.-B. Scholz, “Data layout inference for code vectorisation,” in 2013 international conference on high performance computing simulation (HPCS), Oct. 2013, pp. 527–534. doi: 10.1109/HPCSim.2013.6641464.

[URL] [BibTeX]

Abstract

SIMD instructions of modern CPUs are crucially important for the performance of compute-intensive algorithms. Auto-vectorisation often fails due to an unfortunate choice of data layout by the programmer. This paper proposes a data layout inference for auto-vectorisation which identifies layout transformations that convert SIMD-unfavorable layouts of data structures into favorable ones. We present a type system for layout transformations and we sketch an inference algorithm for it. Finally, we present some initial performance figures for the impact of the inferred layout transformations. They show that non-intuitive layouts that are inferred through our system can have a vast performance impact on compute intensive programs.