Abstract
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.
Originalsprog | Engelsk |
---|---|
Titel | Proceedings of the 3rd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming |
Antal sider | 8 |
Forlag | Association for Computing Machinery |
Publikationsdato | 2016 |
Sider | 17-24 |
ISBN (Elektronisk) | 978-1-4503-4384-8 |
DOI | |
Status | Udgivet - 2016 |
Begivenhed | 3rd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming - Santa Barbara, USA Varighed: 14 jun. 2016 → 14 jun. 2016 Konferencens nummer: 3 |
Konference
Konference | 3rd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming |
---|---|
Nummer | 3 |
Land/Område | USA |
By | Santa Barbara |
Periode | 14/06/2016 → 14/06/2016 |