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 条
  • [41] General-purpose parallel simulator for quantum computing
    Niwa, J
    Matsumoto, K
    Imai, H
    [J]. UNCONVENTIONAL MODELS IN COMPUTATION, PROCEEDINGS, 2002, 2509 : 230 - 251
  • [42] General-purpose parallel simulator for quantum computing
    Niwa, J
    Matsumoto, K
    Imai, H
    [J]. PHYSICAL REVIEW A, 2002, 66 (06) : 11
  • [43] General-purpose computing on GPU Pixel processing
    Ockay, Milos
    [J]. 2017 COMMUNICATION AND INFORMATION TECHNOLOGIES (KIT), 2017, : 115 - 118
  • [44] General-Purpose Computing with Soft GPUs on FPGAs
    Al Kadi, Muhammed
    Janssen, Benedikt
    Yudi, Jones
    Huebner, Michael
    [J]. ACM TRANSACTIONS ON RECONFIGURABLE TECHNOLOGY AND SYSTEMS, 2018, 11 (01)
  • [45] PAGAN: Platform for Audiovisual General-purpose ANnotation
    Melhart, David
    Liapis, Antonio
    Yannakakis, Georgios N.
    [J]. 2019 8TH INTERNATIONAL CONFERENCE ON AFFECTIVE COMPUTING AND INTELLIGENT INTERACTION WORKSHOPS AND DEMOS (ACIIW), 2019, : 75 - 76
  • [46] Towards General-Purpose Neural Network Computing
    Eldridge, Schuyler
    Appavoo, Jonathan
    Joshi, Ajay
    Waterland, Amos
    Seltzer, Margo
    [J]. 2015 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURE AND COMPILATION (PACT), 2015, : 99 - 112
  • [47] Signal processing and general-purpose computing on GPUs
    McCool, Michael D.
    [J]. IEEE SIGNAL PROCESSING MAGAZINE, 2007, 24 (03) : 109 - 114
  • [48] A General-purpose Crowdsourcing Platform for Mobile Devices
    Amato, Ariel
    Lumbreras, Felipe
    Sappa, Angel D.
    [J]. PROCEEDINGS OF THE 2014 9TH INTERNATIONAL CONFERENCE ON COMPUTER VISION, THEORY AND APPLICATIONS (VISAPP 2014), VOL 3, 2014, : 211 - 215
  • [49] GENERAL-PURPOSE SOFTWARE ADAPTED FOR IE APPLICATIONS
    KLEINFELD, IH
    [J]. INDUSTRIAL ENGINEERING, 1984, 16 (02): : 18 - 20
  • [50] PROSOFT - A GENERAL-PURPOSE SOFTWARE IN PROTEIN CHEMISTRY
    PETRILLI, P
    [J]. COMPUTER APPLICATIONS IN THE BIOSCIENCES, 1988, 4 (02): : 265 - 270