Please use this identifier to cite or link to this item:
|Title:||Automated architecture-aware mapping of streaming applications onto GPUs||Authors:||Hagiescu, A.
|Issue Date:||2011||Citation:||Hagiescu, A.,Huynh, H.P.,Wong, W.-F.,Goh, R.S.M. (2011). Automated architecture-aware mapping of streaming applications onto GPUs. Proceedings - 25th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2011 : 467-478. ScholarBank@NUS Repository. https://doi.org/10.1109/IPDPS.2011.52||Abstract:||Graphic Processing Units (GPUs) are made up of many streaming multiprocessors, each consisting of processing cores that interleave the execution of a large number of threads. Groups of threads - called warps and wave fronts, respectively, in nVidia and AMD literature - are selected by the hardware scheduler and executed in lockstep on the available cores. If threads in such a group access the slow off-chip global memory, the entire group has to be stalled, and another group is scheduled instead. The utilization of a given multiprocessor will remain high if there is a sufficient number of alternative thread groups to select from. Many parallel general purpose applications have been efficiently mapped to GPUs. Unfortunately, many stream processing applications exhibit unfavorable data movement patterns and low computation-to-communication ratio that may lead to poor performance. In this paper, we describe an automated compilation flow that maps most stream processing applications onto GPUs by taking into consideration two important architectural features of nVidia GPUs, namely interleaved execution as well as the small amount of shared memory available in each streaming multiprocessors. In particular, we show that using a small number of compute threads such that the memory footprint is reduced, we can achieve high utilization of the GPU cores. Our scheme goes against the conventional wisdom of GPU programming which is to use a large number of homogeneous threads. Instead, it uses a mix of compute and memory access threads, together with a carefully crafted schedule that exploits parallelism in the streaming application, while maximizing the effectiveness of the unique memory hierarchy. We have implemented our scheme in the compiler of the Stream It programming language, and our results show a significant speedup compared to the state-of-the-art solutions. © 2011 IEEE.||Source Title:||Proceedings - 25th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2011||URI:||http://scholarbank.nus.edu.sg/handle/10635/41307||ISBN:||9780769543857||DOI:||10.1109/IPDPS.2011.52|
|Appears in Collections:||Staff Publications|
Show full item record
Files in This Item:
There are no files associated with this item.
checked on Oct 11, 2019
checked on Oct 14, 2019
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.