Fast and Lightweight Support for Nested OpenMP Parallelism on a Multi-Cluster Platform

Andrea Marongiu, Paolo Burgio and Luca Benini.
Presented at the 1st Plateform 2012 Developper Conference, Grenoble, France.
OpenMP is a well-known programming model for shared memory parallelism. It consists of a set of compiler directives, library routines and environment variables that provide a simple means to specify parallel execution within a sequential code. OpenMP was originally designed for Symmetric Multi-Processors (SMP), but recently many implementations for embedded MPSoCs have been proposed. In this paper we describe an implementation of the OpenMP runtime library for a multi-cluster MPSoC, modeled after the P2012 architectural template.