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 条
  • [41] A New Physics Engine with Automatic Process Distribution between CPU-GPU
    Joselli, Mark
    Clua, Esteban
    Montenegro, Anselmo
    Conci, Aura
    Pagliosa, Paulo
    [J]. SANDBOX SYMPOSIUM 2008: 3RD ACM SIGGRAPH VIDEOGAME SYMPOSIUM, PROCEEDINGS, 2008, : 149 - 156
  • [42] An empirical study of the textual similarity between source code and source code summaries
    Paul W. McBurney
    Collin McMillan
    [J]. Empirical Software Engineering, 2016, 21 : 17 - 42
  • [43] An empirical study of the textual similarity between source code and source code summaries
    McBurney, Paul W.
    McMillan, Collin
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2016, 21 (01) : 17 - 42
  • [44] Parallelized GPU Code of City-Level Large Eddy Simulation
    Tsuji, Daisuke
    Boku, Taisuke
    Ikeda, Ryosaku
    Sato, Takuto
    Tadano, Hiroto
    Kusaka, Hiroyuki
    [J]. 2020 19TH INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED COMPUTING (ISPDC 2020), 2020, : 76 - 83
  • [45] SOURCE LEVEL DEBUGGING OF AUTOMATICALLY PARALLELIZED CODE
    COHN, R
    [J]. SIGPLAN NOTICES, 1991, 26 (12): : 132 - 143
  • [46] A framework for embedded software portability and verification: from formal models to low-level code
    Renata Martins Gomes
    Bernhard Aichernig
    Marcel Baunach
    [J]. Software and Systems Modeling, 2024, 23 : 289 - 315
  • [47] High level language translator with machine code as representation of the source code
    Ribic, Samir
    Salihbegovic, Adnan
    [J]. PROCEEDINGS OF THE ITI 2007 29TH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY INTERFACES, 2007, : 777 - +
  • [48] A framework for embedded software portability and verification: from formal models to low-level code
    Gomes, Renata Martins
    Aichernig, Bernhard
    Baunach, Marcel
    [J]. SOFTWARE AND SYSTEMS MODELING, 2024, 23 (02): : 289 - 315
  • [49] Student Research Abstract: Bridging the Gap between Source Code and High-Level Concepts in Static Code Analysis
    Schiewe, Micah
    [J]. 37TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, 2022, : 1615 - 1618
  • [50] CPU-GPU Tuning for Modern Scientific Applications using Node-Level Heterogeneity
    Thavappiragasam, Mathialakan
    Kale, Vivek
    [J]. 2023 IEEE 30TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING, DATA, AND ANALYTICS, HIPC 2023, 2023, : 179 - 183