Besides well-known CPU based architectures, the so-called accelerators (GPU, DSP, FPGA) are about to gain ground in everyday programming, computing tasks. However, programming such computation units is quite different from traditional programming for CPUs,, special skills are required from the developers. In this paper we present techniques, tooling support for the developers in the first step of re-engineering for parallelism in heterogeneous parallel platforms, namely to assure that the code to be offloaded to an accelerator conforms to its specific requirements by identifying the possible violations in the source code,, also by providing automatic code transformations for their elimination.
['Gábor Gyimesi', 'Denes Ban', 'Istvan Siket', 'Rudolf Ferenc', 'Silvano Brugnoni', 'Thomas Corbat', 'Peter Sommerlad', 'Toni Suter']
Enforcing Techniques and Transformation of C/C++ Source Code to Heterogeneous Hardware