Lift: a Functional Data-Parallel IR for High-Performance GPU Code Generation

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)

[img]
Preview
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