Providing Source Code Level Portability Between CPU and GPU with MapCG

被引:0
|
作者
洪春涛 [1 ]
陈德颢 [1 ]
陈羽北 [2 ]
陈文光 [1 ]
郑纬民 [1 ]
林海波 [3 ]
机构
[1] Department of Computer Science and Technology, Tsinghua University
[2] Department of Electronic Engineering, Tsinghua University
[3] IBM China Research
关键词
D O I
暂无
中图分类号
学科分类号
摘要
Graphics processing units (GPU) have taken an important role in the general purpose computing market in recent years. At present, the common approach to programming GPU units is to write GPU specific code with low level GPU APIs such as CUDA. Although this approach can achieve good performance, it creates serious portability issues as programmers are required to write a specific version of the code for each potential target architecture. This results in high development and maintenance costs. We believe it is desirable to have a programming model which provides source code portability between CPUs and GPUs, as well as different GPUs. This would allow programmers to write one version of the code, which can be compiled and executed on either CPUs or GPUs efficiently without modification. In this paper, we propose MapCG, a MapReduce framework to provide source code level portability between CPUs and GPUs. In contrast to other approaches such as OpenCL, our framework, based on MapReduce, provides a high level programming model and makes programming much easier. We describe the design of MapCG, including the MapReduce-style high-level programming framework and the runtime system on the CPU and GPU. A prototype of the MapCG runtime, supporting multi-core CPUs and NVIDIA GPUs, was implemented. Our experimental results show that this implementation can execute the same source code efficiently on multi-core CPU platforms and GPUs, achieving an average speedup of 1.6~2.5x over previous implementations of MapReduce on eight commonly used applications.
引用
收藏
页数:15
相关论文
共 50 条
  • [21] Parallel processing between GPU and CPU: Concepts in a game architecture
    Zamith, Marcelo P. M.
    Clua, Esteban W. G.
    Conci, Aura
    Montenegro, Anselmo
    Pagliosa, Paulo A.
    Valente, Luis
    [J]. COMPUTER GRAPHICS, IMAGING AND VISUALISATION: NEW ADVANCES, 2007, : 115 - +
  • [22] Source Level Performance Simulation of GPU Cores
    Gerum, Christoph
    Bringmann, Oliver
    Rosenstiel, Wolfgang
    [J]. 2015 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2015, : 217 - 222
  • [23] A Framework for OS Portability: from Formal Models to Low-level Code
    Gomes, Renata Martins
    Baunach, Marcel
    [J]. 37TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, 2022, : 1156 - 1165
  • [24] DPIVSoft-OpenCL: A multicore CPU-GPU accelerated open-source code for 2D Particle Image Velocimetry
    Aguilar-Cabello, Jorge
    Parras, Luis
    del Pino, Carlos
    [J]. SOFTWAREX, 2022, 20
  • [25] Better Late Than Never: An n-Variant Framework of Verification for Java']Java Source Code on CPU x GPU Hybrid Platform
    Duan, Jun
    Hamlen, Kevin W.
    Ferrell, Benjamin
    [J]. HPDC'19: PROCEEDINGS OF THE 28TH INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE PARALLEL AND DISTRIBUTED COMPUTING, 2019, : 207 - 218
  • [26] SPILADY: A parallel CPU and GPU code for spin-lattice magnetic molecular dynamics simulations
    Ma, Pui-Wai
    Dudarev, S. L.
    Woo, C. H.
    [J]. COMPUTER PHYSICS COMMUNICATIONS, 2016, 207 : 350 - 361
  • [27] Optimizing GPU Code for CPU Execution Using OpenCL and Vectorization: A Case Study on Image Coding
    Pereira, Pedro M. M.
    Domingues, Patricio
    Rodrigues, Nuno M. M.
    Falcao, Gabriel
    de Faria, Sergio M. M.
    [J]. ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING, ICA3PP 2016, 2016, 10048 : 537 - 545
  • [28] Cross-Architecture Performance Prediction (XAPP) Using CPU Code to Predict GPU Performance
    Ardalani, Newsha
    Lestourgeon, Clint
    Sankaralingam, Karthikeyan
    Zhu, Xiaojin
    [J]. PROCEEDINGS OF THE 48TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO-48), 2015, : 725 - 737
  • [29] CPU-GPU heterogeneous code acceleration of a finite volume Computational Fluid Dynamics solver
    Xue, Weicheng
    Wang, Hongyu
    Roy, Christopher J.
    [J]. FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2024, 158 : 367 - 377
  • [30] Investigations into ANSI C source code portability based on experiences porting laserJet firmware
    Pearse, T
    Oman, PW
    [J]. FOURTEENTH ANNUAL PACIFIC NORTHWEST SOFTWARE QUALITY CONFERENCE, 1996, : 350 - 363