Abstract
OpenCL is an industry open standard and an attempt to integrate heterogeneous multi-core programming. In order to unify parallel computing, OpenCL organizes computations into work-groups, and each group consists of work-items. A work-item executes independently on a processing element by its globalID and localID and a work-group executes on a compute unit. Although OpenCL framework implementations have been with early success on CPU, GPU and GPGPU, they are rarely implemented on embedded multi-core DSP systems.This paper presents an OpenCL runtime library and a compiler flow support for embedded multi-core DSP system. The target platform in this paper is a heterogeneous multi-core embedded system called PACDUO. The system consists of one MPU and 2 five-way issue VLIW DSPs. Each DSP includes three cluster where one for control flow and the other two for computation. In order to reduce context switch overhead and utilize the benefit of clusters, kernel serialization and kernel vectorization and integrated into the complier flow. In the experiment, this paper apply a set of OpenCL benchmark programs to evaluate the runtime library availability and compiler optimizations. Through the experimental result, this work reports near 2-fold multi-core performance speedup with two DSPs.