• DocumentCode
    3666237
  • Title

    Automatic Parallelization of GPU Applications Using OpenCL

  • Author

    Lizandro D. Solano-Quinde;Brett M. Bode;Arun K. Somani

  • Author_Institution
    Dept. of Electr., Univ. of Cuenca, Cuenca, Ecuador
  • fYear
    2015
  • fDate
    7/1/2015 12:00:00 AM
  • Firstpage
    276
  • Lastpage
    283
  • Abstract
    Graphics Processing Units (GPUs) have been successfully used to accelerate scientific applications due to their computation power and the availability of programming languages that make more approachable writing scientific applications for GPUs. However, since the programming model of GPUs requires offloading all the data to the GPU memory, the memory footprint of the application is limited to the size of the GPU memory. Multi-GPU systems can make memory limited problems tractable by parallelizing the computation and data among the available GPUs. Parallelizing applications written for running on single-GPU systems can be done (i) at runtime through an environment that captures the memory operations and kernel calls and distributes among the available GPUs, and (ii) at compile time through a pre-compiler that transforms the application for decomposing the data and computation among the available GPUs. In this paper we propose a framework and implement a tool that transforms an OpenCL application written to run on single-GPU systems into one that runs on multi-GPU systems. Based on data dependencies and data usage analysis, the application is transformed to decompose data and computation among the available GPUs. To reduce the data transfer overhead, computation-communication overlapping techniques are utilized. We tested our tool using two applications with different data transfer requirements, for the application with no data transfer requirements, a linear speedup is achieved, while for the application with data transfers, the computation-communication overlapping reduces the communication overhead by 40%.
  • Keywords
    "Kernel","Arrays","Graphics processing units","Data transfer","Algorithms","XML","Memory management"
  • Publisher
    ieee
  • Conference_Titel
    Computer Aided System Engineering (APCASE), 2015 Asia-Pacific Conference on
  • Type

    conf

  • DOI
    10.1109/APCASE.2015.56
  • Filename
    7287032