Type-driven data layouts for improved vectorisation

Summary 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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Concurrency and computation 2016-05, Vol.28 (7), p.2092-2119
Hauptverfasser: Šinkarovs, Artjoms, Scholz, Sven-Bodo
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Summary 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. Copyright © 2015 John Wiley & Sons, Ltd.
ISSN:1532-0626
1532-0634
DOI:10.1002/cpe.3501