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...
Saved in:
Main Authors: | , , , , |
---|---|
Other Authors: | |
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 |
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. |
---|