Design and GPGPU performance of Futhark's redomap construct

Publikation: Bidrag til bog/antologi/rapportKonferencebidrag i proceedingsForskningfagfællebedømt

This paper presents and evaluates a novel second-order operator, named 'redomap', that stems from 'map'-'reduce' compositions in the context of the purely-functional array language Futhark, which is aimed at efficient GPGPU execution. Main contributions are: First, we demonstrate an aggressive fusion technique that is centered on the 'redomap' operator. Second, we present a compilation technique for 'redomap' that efficiently sequentializes the excess parallelism and ensures coalesced access to global memory, even for non-commutative 'reduce' operators. Third, a detailed performance evaluation shows that Futhark's automatically generated code matches or exceeds performance of hand-tuned Thrust code. Our evaluation infrastructure is publicly available and we encourage replication and verification of our results.
OriginalsprogEngelsk
TitelProceedings of the 3rd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming
Antal sider8
ForlagAssociation for Computing Machinery
Publikationsdato2016
Sider17-24
ISBN (Elektronisk)978-1-4503-4384-8
DOI
StatusUdgivet - 2016
Begivenhed3rd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming - Santa Barbara, USA
Varighed: 14 jun. 201614 jun. 2016
Konferencens nummer: 3

Konference

Konference3rd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming
Nummer3
LandUSA
BySanta Barbara
Periode14/06/201614/06/2016

ID: 164443159