Type-driven data layouts for improved vectorisation

Artjoms Sinkarovs*, Sven-Bodo Scholz

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

4 Citations (Scopus)

Abstract

Vector instructions of modern CPUs are crucially important for the performance of compute-intensive algorithms. Auto-vectorisation often fails because of an unfortunate choice of data layout by the programmer. This paper proposes a data layout inference for auto-vectorisation that identifies layout transformations that convert single instruction, multiple data-unfavourable layouts of data structures into favourable 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.

Original languageEnglish
Pages (from-to)2092–2119
Number of pages28
JournalConcurrency and Computation: Practice and Experience
Volume28
Early online date18 May 2015
DOIs
Publication statusPublished - May 2016

Keywords

  • Data parallelism
  • Hpc
  • Vectorisation

ASJC Scopus subject areas

  • Computer Networks and Communications
  • Computer Science Applications
  • Software
  • Computational Theory and Mathematics
  • Theoretical Computer Science

Fingerprint

Dive into the research topics of 'Type-driven data layouts for improved vectorisation'. Together they form a unique fingerprint.

Cite this