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.
| 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 | 2016 |
| Pages | 17-24 |
| ISBN (Electronic) | 978-1-4503-4384-8 |
| DOIs | |
| Publication status | Published - 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 |
Cite this
- APA
- Standard
- Harvard
- Vancouver
- Author
- BIBTEX
- RIS