• DocumentCode
    1755535
  • Title

    Design of OpenCL framework for embedded multi-core processors

  • Author

    Jung-Hyun Hong ; Young-Ho Ahn ; Byung-Jin Kim ; Ki-Seok Chung

  • Author_Institution
    Dept. of Electron. & Comput. Eng., Hanyang Univ., Seoul, South Korea
  • Volume
    60
  • Issue
    2
  • fYear
    2014
  • fDate
    41760
  • Firstpage
    233
  • Lastpage
    241
  • Abstract
    In modern mobile embedded systems, various energy-efficient hardware acceleration units are employed in addition to a multi-core CPU. To fully utilize the computational power in such heterogeneous systems, Open Computing Language (OpenCL) has been proposed. A key benefit of OpenCL is that it works on various computing platforms. However, most vendors offer OpenCL software development kits (SDKs) that support their own computing platforms. The study of the OpenCL framework for embedded multi-core CPUs is in a rudimentary stage. In this paper, an OpenCL framework for embedded multi-core CPUs that dynamically redistributes the time-varying workload to CPU cores in real time is proposed. A compilation environment for both host programs and OpenCL kernel programs was developed and OpenCL libraries were implemented. A performance evaluation was carried out with respect to various definitions of the device architecture and the execution model. When running on embedded multi-core CPUs, applications parallelized by OpenCL C showed much better performance than the applications written in C without parallelization. Furthermore, since programmers are capable of managing hardware resources and threads using OpenCL application programming interfaces (APIs) automatically, highly efficient computing both in terms of the performance and energy consumption on a heterogeneous computing platform can be easily achieved.
  • Keywords
    application program interfaces; electronic engineering computing; embedded systems; microprocessor chips; multiprocessing systems; operating system kernels; API; OpenCL framework design; SDK; application programming interfaces; computational power; device architecture; embedded multicore processor; energy-efficient hardware acceleration unit; execution model; hardware resource management; heterogeneous system; host program; kernel program; modern mobile embedded system; multicore CPU; open computing language; performance evaluation; software development kit; time-varying workload; Binary codes; Computational modeling; Kernel; Libraries; Multicore processing; Program processors; Runtime; Embedded multi-core system; Heterogeneous computing; OpenCL Framework; Parallel processing;
  • fLanguage
    English
  • Journal_Title
    Consumer Electronics, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-3063
  • Type

    jour

  • DOI
    10.1109/TCE.2014.6851999
  • Filename
    6851999