A two-level task scheduler on Multiple DSP system for OpenCL
Image processing center, School of Astronautics, Beijing University of Aeronautics and Astronautics, Beijing 100191, China
Advances in Mechanical Engineering, 2014
@article{tian2014two,
title={A two-level task scheduler on Multiple DSP system for OpenCL},
author={Tian, Li and Meng, Cai and Zhou, Fugen},
year={2014}
}
This paper addresses the problem that multiple DSP system doesn’t support OpenCL programming. With the compiler, runtime and the kernel scheduler proposed, an OpenCL application becomes portable not only between multiple CPU and GPU, but also between embedded multiple DSP systems. Firstly, the LLVM compiler was imported for source-to-source translation in which the translated source was supported by CCS. Secondly, two level schedulers were proposed to support efficient OpenCL kernel execution. The DSP/BIOS is used to schedule system level tasks such as interrupts and drivers, however, the synchronization mechanism resulted in heavy overhead during task switching. So we designed an efficient second level scheduler especially for OpenCL kernel work-item scheduling. The context switch process utilizes the 8 functional units and cross path links which was superior to DSP/BIOS in the aspect of task switching. Finally, dynamic loading and software managed CACHE were redesigned for OpenCL running on multiple DSP system. We evaluated the performance using some common OpenCL kernels from NVIDIA, AMD, NAS, and Parboil Benchmarks. Experimental results show that the DSP OpenCL can efficiently exploit the computing resource of multiple cores.
April 9, 2014 by hgpu