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
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;
Journal_Title :
Consumer Electronics, IEEE Transactions on
DOI :
10.1109/TCE.2014.6851999