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.
Marongiu, A., Capotondi, A., Tagliavini, G., Benini, L. (2015). Simplifying Many-Core-Based Heterogeneous SoC Programming with Offload Directives. IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, 11(4), 957-967 [10.1109/TII.2015.2449994].
Simplifying Many-Core-Based Heterogeneous SoC Programming with Offload Directives
MARONGIU, ANDREA;CAPOTONDI, ALESSANDRO;TAGLIAVINI, GIUSEPPE;BENINI, LUCA
2015
Abstract
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.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.