Abstract : mapping streaming applications onto GPU systems

We describe an efficient and scalable code generation framework that automatically maps general purpose streaming applications onto GPU systems. This architecture-driven framework takes into account the idiosyncrasies of the GPU pipeline and the unique memory hierarchy. The framework has been implem...

Full description

Saved in:
Bibliographic Details
Main Authors: Huynh, Huynh Phung., Wong, Weng-Fai., Ray, A., Goh, Rick Siow Mong., Hagiescu, Andrei.
Other Authors: School of Computer Engineering
Format: Conference or Workshop Item
Language:English
Published: 2013
Subjects:
Online Access:https://hdl.handle.net/10356/84219
http://hdl.handle.net/10220/13114
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:We describe an efficient and scalable code generation framework that automatically maps general purpose streaming applications onto GPU systems. This architecture-driven framework takes into account the idiosyncrasies of the GPU pipeline and the unique memory hierarchy. The framework has been implemented as a back-end to the StreamIt programming language compiler. Several key features in this framework ensure maximized performance and scalability. First, the generated code increases the effectiveness of the on-chip memory hierarchy by employing a heterogeneous mix of compute and memory access threads. Our scheme goes against the conventional wisdom of GPU programming which is to use a large number of homogeneous threads. Second, we utilise an efficient stream graph partitioning algorithm to handle larger applications and achieve the best performance under the given on-chip memory constraints. Lastly, the framework maps complex applications onto multiple GPUs using a highly effective pipeline execution scheme. Our comprehensive experiments show its scalability and significant speedup compared to a state-of-the-art solution.