• DocumentCode
    2998091
  • Title

    Communication Library to Overlap Computation and Communication for OpenCL Application

  • Author

    Komoda, Toshiya ; Miwa, Shinobu ; Nakamura, Hiroshi

  • Author_Institution
    Grad. Sch. of Inf. Sci. & Technol., Univ. of Tokyo, Tokyo, Japan
  • fYear
    2012
  • fDate
    21-25 May 2012
  • Firstpage
    567
  • Lastpage
    573
  • Abstract
    User-friendly parallel programming environments, such as CUDA and OpenCL are widely used for accelerators. They provide programmers with useful APIs, but the APIs are still low level primitives. Therefore, in order to apply communication optimization techniques, such as double buffering techniques, programmers have to manually write the programs with the primitives. Manual communication optimization requires programmers to have significant knowledge of both application characteristics and CPU-accelerator architecture. This prevents many application developers from effective utilization of accelerators. In addition, managing communication is a tedious and error-prone task even for expert programmers. Thus, it is necessary to develop a communication system which is highly abstracted but still capable of optimization. For this purpose, this paper proposes an OpenCL based communication library. To maximize performance improvement, the proposed library provides a simple but effective programming interface based on Stream Graph in order to specify an applications communication pattern. We have implemented a prototype system on OpenCL platform and applied it to several image processing applications. Our evaluation shows that the library successfully masks the details of accelerator memory management while it can achieve comparable speedup to manual optimization in which we use existing low level interfaces.
  • Keywords
    buffer storage; image processing; optimisation; parallel architectures; parallel programming; programming environments; software libraries; CPU-accelerator architecture; CUDA; OpenCL application communication; OpenCL based communication library; OpenCL platform; Stream Graph; accelerator memory management; communication management; communication optimization techniques; communication pattern; communication system; double buffering techniques; expert programmers; image processing applications; manual communication optimization; manual optimization; overlap computation; programming interface; user-friendly parallel programming environments; Kernel; Libraries; Memory management; Optimization; Programming; Runtime; Streaming media; Accelerators; Double Buffering; OpenCL; Stream Graph;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), 2012 IEEE 26th International
  • Conference_Location
    Shanghai
  • Print_ISBN
    978-1-4673-0974-5
  • Type

    conf

  • DOI
    10.1109/IPDPSW.2012.68
  • Filename
    6270691