Steuwer, M. , Remmelg, T. and Dubach, C. (2017) Lift: a Functional Data-Parallel IR for High-Performance GPU Code Generation. In: 2017 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), Austin, TX, USA, 04-08 Feb 2017, pp. 74-85. ISBN 9781509049318 (doi: 10.1109/CGO.2017.7863730)
|
Text
146596.pdf - Accepted Version 720kB |
Abstract
Parallel patterns (e.g., map, reduce) have gained traction as an abstraction for targeting parallel accelerators and are a promising answer to the performance portability problem. However, compiling high-level programs into efficient low-level parallel code is challenging. Current approaches start from a high-level parallel IR and proceed to emit GPU code directly in one big step. Fixed strategies are used to optimize and map parallelism exploiting properties of a particular GPU generation leading to performance portability issues. We introduce the Lift IR, a new data-parallel IR which encodes OpenCL-specific constructs as functional patterns. Our prior work has shown that this functional nature simplifies the exploration of optimizations and mapping of parallelism from portable high-level programs using rewrite-rules. This paper describes how Lift IR programs are compiled into efficient OpenCL code. This is non-trivial as many performance sensitive details such as memory allocation, array accesses or synchronization are not explicitly represented in the Lift IR. We present techniques which overcome this challenge by exploiting the pattern’s high-level semantics. Our evaluation shows that the Lift IR is flexible enough to express GPU programs with complex optimizations achieving performance on par with manually optimized code.
Item Type: | Conference Proceedings |
---|---|
Status: | Published |
Refereed: | Yes |
Glasgow Author(s) Enlighten ID: | Steuwer, Dr Michel |
Authors: | Steuwer, M., Remmelg, T., and Dubach, C. |
Subjects: | Q Science > QA Mathematics > QA75 Electronic computers. Computer science |
College/School: | College of Science and Engineering > School of Computing Science |
ISBN: | 9781509049318 |
Copyright Holders: | Copyright © 2017 IEEE |
First Published: | First published in 2017 IEEE/ACM International Symposium on Code Generation and Optimization (CGO): 74-85 |
Publisher Policy: | Reproduced in accordance with the publisher copyright policy |
University Staff: Request a correction | Enlighten Editors: Update this record