Title
Gpu-Chariot: A Programming Framework For Stream Applications Running On Multi-Gpu Systems
Abstract
This paper presents a stream programming framework, named GPU-chariot, for accelerating stream applications running on graphics processing units (GPUs). The main contribution of our framework is that it realizes efficient software pipelines on multi-GPU systems by enabling out-of-order execution of CPU functions, kernels, and data transfers. To achieve this out-of-order execution, we apply a runtime scheduler that not only maximizes the utilization of system resources but also encapsulates the number of GPUs available in the system. In addition, we implement a load-balancing capability to flow data efficiently through multiple GPUs. Furthermore, a callback interface enables overlapping execution of functions in third-party libraries. By using kernels with different performance bottlenecks, we show that our out-of-order execution is up to 20% faster than in-order execution. Finally, we conduct several case studies on a 4-GPU system and demonstrate the advantages of GPU-chariot over a manually pipelined code. We conclude that GPU-chariot can be useful when developing stream applications with software pipelines on multiple GPUs and CPUs.
Year
DOI
Venue
2013
10.1587/transinf.E96.D.2604
IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS
Keywords
Field
DocType
stream processing, GPGPU, CUDA, task scheduling
Graphics,Pipeline transport,CUDA,Computer science,Parallel computing,Callback,Software,General-purpose computing on graphics processing units,Stream processing,Software framework
Journal
Volume
Issue
ISSN
E96D
12
1745-1361
Citations 
PageRank 
References 
3
0.41
19
Authors
3
Name
Order
Citations
PageRank
Fumihiko Ino131738.63
Shinta Nakagawa2101.01
Kenichi Hagihara352856.94