DocumentCode :
3305594
Title :
Software Pipelined Execution of Stream Programs on GPUs
Author :
Udupa, Abhishek ; Govindarajan, R. ; Thazhuthaveetil, Matthew J.
Author_Institution :
Dept. of Comput. Sci. & Autom., Indian Inst. of Sci., Bangalore
fYear :
2009
fDate :
22-25 March 2009
Firstpage :
200
Lastpage :
209
Abstract :
The StreamIt programming model has been proposed to exploit parallelism in streaming applications on general purpose multi-core architectures. This model allows programmers to specify the structure of a program as a set of filters that act upon data, and a set of communication channels between them. The StreamIt graphs describe task, data and pipeline parallelism which can be exploited on modern graphics processing units (GPUs), as they support abundant parallelism in hardware. In this paper, we describe the challenges in mapping StreamIt to GPUs and propose an efficient technique to software pipeline the execution of stream programs on GPUs. We formulate this problem - both scheduling and assignment of filters to processors - as an efficient integer linear program (ILP), which is then solved using ILP solvers. We also describe a novel buffer layout technique for GPUs which facilitates exploiting the high memory bandwidth available in GPUs. The proposed scheduling utilizes both the scalar units in GPU, to exploit data parallelism, and multiprocessors, to exploit task and pipeline parallelism. Further it takes into consideration the synchronization and bandwidth limitations of GPUs, and yields speedups between 1.87X and 36.83X over a single threaded CPU.
Keywords :
linear programming; parallel programming; pipeline processing; StreamIt graphs; StreamIt programming model; graphics processing units; high memory bandwidth; integer linear program; multi-core architectures; software pipelined execution; stream programs; Application software; Bandwidth; Communication channels; Computer architecture; Filters; Graphics; Parallel programming; Pipelines; Processor scheduling; Programming profession; CUDA; GPU Programming; Software Pipelining; Stream Programming;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Code Generation and Optimization, 2009. CGO 2009. International Symposium on
Conference_Location :
Seattle, WA
Print_ISBN :
978-0-7695-3576-0
Type :
conf
DOI :
10.1109/CGO.2009.20
Filename :
4907664
Link To Document :
بازگشت