Title :
OpenMDSP: Extending OpenMP to Program Multi-Core DSP
Author :
He, Jiangzhou ; Chen, Wenguang ; Chen, Guangri ; Zheng, Weimin ; Tang, Zhizhong ; Ye, Handong
Author_Institution :
Tsinghua Nat. Lab. for Inf. Sci. & Technol. (TNList), Tsinghua Univ., Beijing, China
Abstract :
Multi-core Digital Signal Processors (DSP) are widely used in wireless telecommunication, core network transcoding, industrial control, and audio/video processing etc. Comparing with general purpose multi-processors, the multi-core DSPs normally have more complex memory hierarchy, such as on-chip core-local memory and non-cache-coherent shared memory. As a result, it is very challenging to write efficient multi-core DSP applications. The current approach to program multi-core DSPs is based on proprietary vendor SDKs, which only provides low-level, non-portable primitives. While it is acceptable to write coarse-grained task level parallel code with these SDKs, it is very tedious and error prone to write fine-grained data parallel code with them. We believe it is desired to have a high-level and portable parallel programming model for multi-core DSPs. In this paper, we propose Open MDSP, an extension of Open MP designed for multi-core DSPs. The goal of Open MDSP is to fill the gap between Open MP memory model and the memory hierarchy of multi-core DSPs. We propose three class of directives in Open MDSP: (1) data placement directives allow programmers to control the placement of global variables conveniently, (2) distributed array directives divide whole array into sections and promote them into core-local memory to improve performance, and (3) stream access directives promote big array into core-local memory section by section during a parallel loop´s processing. We implement the compiler and runtime system for Open MDSP on Free Scale MSC8156. Benchmarking result shows that seven out of nine benchmarks achieve a speedup of more than 5 with 6 threads.
Keywords :
digital signal processing chips; multiprocessing systems; parallel programming; program compilers; OpenMDSP; OpenMP; compiler; digital signal processor; fine-grained data parallel code; multicore DSP; noncache-coherent shared memory; on-chip core-local memory; parallel programming model; proprietary vendor SDK; runtime system; software development kit; Arrays; Digital signal processing; Instruction sets; Multicore processing; Parallel processing; Programming; System-on-a-chip; LTE; OpenMP; data parallelism; multi-core DSP;
Conference_Titel :
Parallel Architectures and Compilation Techniques (PACT), 2011 International Conference on
Conference_Location :
Galveston, TX
Print_ISBN :
978-1-4577-1794-9
DOI :
10.1109/PACT.2011.60