The REPARA project aims to deploy software kernels of an application in parallel heterogeneous platforms using static and dynamic scheduling and mapping techniques to improve the performance and energy efficiency. With this aim, a static partitioning tool is a key element.
Static partitioning tool is a software that allows mapping the kernels of an annotated source code to a parallel hardware platform. This document includes all the information related to the process of static partitioning. This includes:
- the API for the source code annotation,
- the characteristics of the source code,
- and the partitioning algorithm.
This report includes a description of an extension to the standard C++ language by means of C++11 attributes to express parallelism. It also describes the static partitioning techniques used and the corresponding run-time support. Finally, appendices provide examples of use and additional information on the internals of the used scheme.