Simplifying Many-Core-Based Heterogeneous SoC Programming With Offload Directives

Andrea Marongiu, Alessandro Capotondi, Giuseppe Tagliavini, Luca Benini · IEEE Transactions on Industrial Informatics · 2015

Multiprocessor systems-on-chip (MPSoC) are evolving into heterogeneous architectures based on one host processor plus many-core accelerators. While heterogeneous SoCs promise higher performance/watt, they are programmed at the cost of major code rewrites with low-level programming abstractions (e.g, OpenCL). We present a programming model based on OpenMP, with additional directives to program the accelerator from a single host program. As a test case, we evaluate an implementation of this programming model for the STMicroelectronics STHORM development board. We obtain near-ideal throughput for most benchmarks, very close performance to hand-optimized OpenCL codes at a significantly lower programming complexity, and up to 30× speedup versus host execution time.

Read the paper · More papers on PaperTik