TY - JOUR
T1 - A survey of CPU-GPU heterogeneous computing techniques
AU - Mittal, Sparsh
AU - Vetter, Jeffrey S.
N1 - Publisher Copyright:
© 2015 ACM 0360-0300/2015/07-ART69 $15.00.
PY - 2015/7/1
Y1 - 2015/7/1
N2 - 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.
AB - 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.
KW - CPU-GPU heterogeneous/hybrid/collaborative computing
KW - Dynamic/static load balancing
KW - Fused CPU-GPU chip
KW - Pipelining
KW - Programming frameworks
KW - Workload division/partitioning
UR - http://www.scopus.com/inward/record.url?scp=84939814753&partnerID=8YFLogxK
U2 - 10.1145/2788396
DO - 10.1145/2788396
M3 - Article
AN - SCOPUS:84939814753
SN - 0360-0300
VL - 47
JO - ACM Computing Surveys
JF - ACM Computing Surveys
IS - 4
M1 - 69
ER -