An OpenMP Compiler for Efficient Use of Distributed Scratchpad Memory in MPSoCs

A. Marongiu and L. Benini.
Computers, IEEE Transactions on, 61(2):222-236, February 2012.
Most of today’s state-of-the-art processors for mobile and embedded systems feature on-chip scratchpad memories. To eciently exploit the advantages of low-latency high-bandwidth memory modules
in the hierarchy, there is the need for programming models and/or language features that expose such architectural details. On the other hand, e ectively exploiting the limited on-chip memory space requires the programmer to devise an ecient partitioning and distributed placement of shared data at the application level. In this paper, we propose a programming framework that combines the ease of use of OpenMP with simple, yet powerful, language extensions to trigger array data partitioning. Our compiler exploits pro led information on array access count to automatically generate data allocation schemes optimized for locality of references.