A survey of CPU-GPU heterogeneous computing techniques

Sparsh Mittal, Jeffrey S. Vetter

Research output: Contribution to journalArticlepeer-review

401 Scopus citations

Abstract

As both CPUs and GPUs become employedinawide rangeof applications, ithas been acknowledged that both of these Processing Units (PUs) have their unique features and strengths and hence, CPU-GPU collaboration is inevitable to achieve high-performance computing. This has motivated a significant amount of research on heterogeneous computing techniques, along with the design of CPU-GPU fused chips and petascale heterogeneous supercomputers. In this article, we survey Heterogeneous Computing Techniques (HCTs) such as workload partitioning that enable utilizing both CPUs and GPUs to improve performance and/or energy efficiency. We review heterogeneous computing approaches at runtime, algorithm, programming, compiler, and application levels. Further, we review both discrete and fused CPU-GPU systems and discuss benchmark suites designed for evaluating Heterogeneous Computing Systems (HCSs). We believe that this article will provide insights into the workings and scope of applications of HCTs to researchers and motivate them to further harness the computational powers of CPUs and GPUs to achieve the goal of exascale performance.

Original languageEnglish
Article number69
JournalACM Computing Surveys
Volume47
Issue number4
DOIs
StatePublished - Jul 1 2015
Externally publishedYes

Funding

FundersFunder number
U.S. Department of Energy

    Keywords

    • CPU-GPU heterogeneous/hybrid/collaborative computing
    • Dynamic/static load balancing
    • Fused CPU-GPU chip
    • Pipelining
    • Programming frameworks
    • Workload division/partitioning

    Fingerprint

    Dive into the research topics of 'A survey of CPU-GPU heterogeneous computing techniques'. Together they form a unique fingerprint.

    Cite this