Sangam: A Confluence of Knowledge Streams

A data parallel compiler hosted on the GPU

Show simple item record

dc.contributor Andrew Lumsdaine
dc.creator Hsu, Aaron W.
dc.date 2019-11-20T18:08:29Z
dc.date 2019-11-20T18:08:29Z
dc.date 2019-11
dc.date.accessioned 2023-02-24T18:21:51Z
dc.date.available 2023-02-24T18:21:51Z
dc.identifier http://hdl.handle.net/2022/24749
dc.identifier.uri http://localhost:8080/xmlui/handle/CUHPOERS/260016
dc.description Dissertation (Ph.D.) - Indiana University, School of Informatics, Computing, and Engineering, 2019
dc.description This work describes a general, scalable method for building data-parallel by construction tree transformations that exhibit simplicity, directness of expression, and high-performance on both CPU and GPU architectures when executed on either interpreted or compiled platforms across a wide range of data sizes, as exemplified and expounded by the exposition of a complete compiler for a lexically scoped, functionally oriented programming commercial language. The entire source code to the compiler written in this method requires only 17 lines of simple code compared to roughly 1000 lines of equivalent code in the domain-specific compiler construction framework, Nanopass, and requires no domain specific techniques, libraries, or infrastructure support. It requires no sophisticated abstraction barriers to retain its concision and simplicity of form. The execution performance of the compiler scales along multiple dimensions: it consistently outperforms the equivalent traditional compiler by orders of magnitude in memory usage and run time at all data sizes and achieves this performance on both interpreted and compiled platforms across CPU and GPU hardware using a single source code for both architectures and no hardware-specific annotations or code. It does not use any novel domain-specific inventions of technique or process, nor does it use any sophisticated language or platform support. Indeed, the source does not utilize branching, conditionals, if statements, pattern matching, ADTs, recursions, explicit looping, or other non-trivial control or dispatch, nor any specialized data models.
dc.language en
dc.publisher [Bloomington, Ind.] : Indiana University
dc.subject compilers
dc.subject tree transformations
dc.subject GPU
dc.subject APL
dc.subject array programming
dc.title A data parallel compiler hosted on the GPU
dc.type Doctoral Dissertation


Files in this item

Files Size Format View
Hsu Dissertation.pdf 30.67Mb application/pdf View/Open

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Advanced Search

Browse