The search functionality is under construction.
The search functionality is under construction.

GPU-Chariot: A Programming Framework for Stream Applications Running on Multi-GPU Systems

Fumihiko INO, Shinta NAKAGAWA, Kenichi HAGIHARA

  • Full Text Views

    0

  • Cite this

Summary :

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.

Publication
IEICE TRANSACTIONS on Information Vol.E96-D No.12 pp.2604-2616
Publication Date
2013/12/01
Publicized
Online ISSN
1745-1361
DOI
10.1587/transinf.E96.D.2604
Type of Manuscript
Special Section PAPER (Special Section on Parallel and Distributed Computing and Networking)
Category

Authors

Fumihiko INO
  Osaka University
Shinta NAKAGAWA
  NEC Corporation
Kenichi HAGIHARA
  Osaka University

Keyword