Improving the programmability of STHORM-based heterogeneous systems with offload-enabled OpenMP

  • Authors:
  • Andrea Marongiu;Alessandro Capotondi;Giuseppe Tagliavini;Luca Benini

  • Affiliations:
  • University of Bologna, Bologna - Italy;University of Bologna, Bologna - Italy;University of Bologna, Bologna - Italy;University of Bologna, Bologna - Italy

  • Venue:
  • Proceedings of the First International Workshop on Many-core Embedded Systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Heterogeneous architectures based on one fast-clocked, moderately multicore "host" processor plus a many-core accelerator represent one promising way to satisfy the ever-increasing GOps/W requirements of embedded systems-on-chip. However, heterogeneous computing comes at the cost of increased programming complexity, requiring major rewrite of the applications with low-level programming style (e.g, OpenCL). In this paper we present a programming model, compiler and runtime system for a prototype board from STMicroelectronics featuring a ARM9 host and a STHORM many-core accelerator. The programming model is based on OpenMP, with additional directives to efficiently program the accelerator from a single host program. The proposed multi-ISA compilation toolchain hides all the process of outlining an accelerator program, compiling and loading it to the STHORM platform and implementing data sharing between the host and the accelerator. Our experimental results show that we achieve very close performance to hand-optimized OpenCL codes, at a significantly lower programming complexity.