Twin Peaks: A Software Platform for Heterogeneous Computing on General-Purpose and Graphics Processors

被引:44
|
作者
Gummaraju, Jayanth [1 ]
Morichetti, Laurent [1 ]
Houston, Michael [1 ]
Sander, Ben [1 ]
Gaster, Benedict R. [1 ]
Zheng, Bixia [1 ]
机构
[1] Adv Micro Devices Inc, Compute Res Grp, Sunnyvale, CA 94088 USA
关键词
GPGPU; Multicore; OpenCL; Programmability; Runtime;
D O I
10.1145/1854273.1854302
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Modern processors are evolving into hybrid, heterogeneous processors with both CPU and CPU cores used for general-purpose computation. Several languages such as Brook, CUDA, and more recently OpenCL are being developed to fully harness the potential of these processors. These languages typically involve the control code running on the CPU and the performance-critical, data-parallel kernel code running on the GPUs. In this paper, we present Twin Peaks, a software platform for heterogeneous computing that executes code originally targeted for CPUs efficiently on CPUs as well. This permits a more balanced execution between the CPU and CPU, and enables portability of code between these architectures and to CPU-only environments. We propose several techniques in the runtime system to efficiently utilize the caches and functional units present in CPUs. Using OpenCL as a canonical language for heterogeneous computing, and running several experiments on real hardware, we show that our techniques enable GPGPU-style code to execute efficiently on multicore CPUs with minimal runtime overhead. These results also show that for maximum performance, it is beneficial for applications to utilize both CPUs and CPUs as accelerator targets.
引用
收藏
页码:205 / 215
页数:11
相关论文
共 50 条
  • [1] A Flexible and General-Purpose Platform for Heterogeneous Computing
    Garcia-Hernandez, Jose Juan
    Morales-Sandoval, Miguel
    Elizondo-Rodriguez, Erick
    [J]. COMPUTATION, 2023, 11 (05)
  • [2] General-purpose computations using graphics processors
    Manocha, D
    [J]. COMPUTER, 2005, 38 (08) : 85 - 88
  • [3] Accelerating earthquake simulations on general-purpose graphics processors
    Sengupta, Prasenjit
    Nguyen, Jimmy
    Kwan, Jason
    Menon, Padmanabhan K.
    Heien, Eric M.
    Rundle, John B.
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2015, 27 (17): : 5460 - 5471
  • [4] Attaining High Performance in General-Purpose Computations on Current Graphics Processors
    Igual, Francisco D.
    Mayo, Rafael
    Quintana-Orti, Enrique S.
    [J]. HIGH PERFORMANCE COMPUTING FOR COMPUTATIONAL SCIENCE - VECPAR 2008, 2008, 5336 : 406 - 419
  • [5] A performance study of general-purpose applications on graphics processors using CUDA
    Che, Shuai
    Boyer, Michael
    Meng, Jiayuan
    Tarjan, David
    Sheaffer, Jeremy W.
    Skadron, Kevin
    [J]. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2008, 68 (10) : 1370 - 1380
  • [6] Value Similarity Extensions for Approximate Computing in General-Purpose Processors
    Kim, Younghoon
    Venkataramani, Swagath
    Sen, Sanchari
    Raghunathan, Anand
    [J]. PROCEEDINGS OF THE 2021 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE 2021), 2021, : 481 - 486
  • [7] Benchmark Research on Computing Performance of Domestic General-purpose Processors
    Liu, Bowen
    Fan, Kefeng
    Chen, Hai
    Liu, Lixin
    Yang, Huihua
    [J]. 2022 6TH INTERNATIONAL SYMPOSIUM ON COMPUTER SCIENCE AND INTELLIGENT CONTROL, ISCSIC, 2022, : 357 - 362
  • [8] A GENERAL-PURPOSE GRAPHICS EDITOR
    PURGATHOFER, W
    [J]. ANGEWANDTE INFORMATIK, 1985, (02): : 77 - 83
  • [9] Image-processing methods on general-purpose graphics processors with parallel architecture
    Filatov, V. I.
    [J]. JOURNAL OF OPTICAL TECHNOLOGY, 2012, 79 (11) : 716 - 720
  • [10] Using modern graphics Architectures for general-purpose computing: A framework and analysis
    Thompson, CJ
    Hahn, SG
    Oskin, M
    [J]. 35TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO-35), PROCEEDINGS, 2002, : 306 - 317