Abstract
We present a language-driven strategy for the construction of compilers that are inherently data-parallel in their design and implementation. Using an encoding of the inter-node relationships between nodes in an AST called a Node Coordinate Matrix, we demonstrate how an operator called the Key operator, that applies a function over groupings of array cells grouped and ordered by their keys, when used in conjunction with a Node Coordinate Matrix, permits arbitrary computation over sub-trees of an AST using purely dataparallel array programming techniques. We discuss the use of these techniques when applied to an experimental commercial compiler called Co-dfns, which is a fully data-parallel compiler developed using the techniques discussed here. Copyright is held by the owner/author(s). Publication rights licensed to ACM.
Author supplied keywords
Cite
CITATION STYLE
Hsu, A. W. (2016). The key to a data parallel compiler. In ARRAY 2016 - Proceedings of the 3rd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming, Co-located with PLDI 2016 (pp. 32–40). Association for Computing Machinery, Inc. https://doi.org/10.1145/2935323.2935331
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.