The emergence of system-on-chip (SOC) design shows the growing popularity of the integration of multiple-processors into one chip. We propose that high-level abstraction of parallel programming like OpenMP is suitable for chip multiprocessors. For SOCs, the heterogeneity exists within one chip such that it may have different types of multiprocessors, e.g. RISC-like processors or DSP-like processors. Incorporating different processors into OpenMP is challenging. We present our solutions to extend OpenMP directives to tackle this heterogeneity. Several optimization techniques are proposed to utilize advanced architecture features of our target SOC, the software scalable system on chip (3SoC). Preliminary performance evaluation shows scalable speedup using different types of processors and performance improvement through individual optimization.
['Feng Liu', 'Vipin Chaudhary']
Extending OpenMP for heterogeneous chip multiprocessors