Data-parallel flattening by expansion
Research output: Chapter in Book/Report/Conference proceeding › Article in proceedings › Research › peer-review
Standard
Data-parallel flattening by expansion. / Elsman, Martin; Henriksen, Troels; Serup, Niels Gustav Westphal.
ARRAY 2019 - Proceedings of the 6th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming, co-located with PLDI 2019. ed. / Jeremy Gibbons. Association for Computing Machinery, 2019. p. 14-24.Research output: Chapter in Book/Report/Conference proceeding › Article in proceedings › Research › peer-review
Harvard
APA
Vancouver
Author
Bibtex
}
RIS
TY - GEN
T1 - Data-parallel flattening by expansion
AU - Elsman, Martin
AU - Henriksen, Troels
AU - Serup, Niels Gustav Westphal
PY - 2019/6/8
Y1 - 2019/6/8
N2 - We present a higher-order programmer-level technique for compiling particular kinds of irregular data-parallel problems to parallel hardware. The technique, which we have named “flattening-by-expansion” builds on a number of segmented data-parallel operations but is itself implemented as a higher-order generic function, which makes it useful for many irregular problems. Concretely, the implementation is given in Futhark and we demonstrate the usefulness of the functionality for a number of irregular problems and show that, in practice, the irregular problems are compiled to efficient parallel code that can be executed on GPUs. The technique is useful in any data-parallel language that provides a key set of primitives.
AB - We present a higher-order programmer-level technique for compiling particular kinds of irregular data-parallel problems to parallel hardware. The technique, which we have named “flattening-by-expansion” builds on a number of segmented data-parallel operations but is itself implemented as a higher-order generic function, which makes it useful for many irregular problems. Concretely, the implementation is given in Futhark and we demonstrate the usefulness of the functionality for a number of irregular problems and show that, in practice, the irregular problems are compiled to efficient parallel code that can be executed on GPUs. The technique is useful in any data-parallel language that provides a key set of primitives.
KW - Flattening
KW - Functional programming
KW - GPGPU programming
KW - Irregular nested parallelism
UR - http://www.scopus.com/inward/record.url?scp=85067926290&partnerID=8YFLogxK
U2 - 10.1145/3315454.3329955
DO - 10.1145/3315454.3329955
M3 - Article in proceedings
AN - SCOPUS:85067926290
SP - 14
EP - 24
BT - ARRAY 2019 - Proceedings of the 6th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming, co-located with PLDI 2019
A2 - Gibbons, Jeremy
PB - Association for Computing Machinery
T2 - 6th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming, ARRAY 2019, co-located with PLDI 2019
Y2 - 22 June 2019
ER -
ID: 230447605