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. Copyright is held by the owner/author(s). Publication rights licensed to ACM.
Original language | English |
---|---|
Title of host publication | Proceedings of the 3rd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming |
Number of pages | 8 |
Publisher | Association for Computing Machinery |
Publication date | 14 Jun 2016 |
Pages | 17-24 |
ISBN (Electronic) | 978-1-4503-4384-8 |
DOIs | |
Publication status | Published - 14 Jun 2016 |
Event | 3rd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming - Santa Barbara, United States Duration: 14 Jun 2016 → 14 Jun 2016 Conference number: 3 |
Conference
Conference | 3rd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming |
---|---|
Number | 3 |
Country/Territory | United States |
City | Santa Barbara |
Period | 14/06/2016 → 14/06/2016 |