Enforcing Techniques and Transformation of C/C++ Source Code to Heterogeneous Hardware

Abstract

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, and 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, and also by providing automatic code transformations for their elimination.

Publication
Proceedings of the 16th IEEE International Conference on Scalable Computing and Communication (ScalCom 2016), Toulouse, France, Pages 1173–1180

BibTeX:

@InProceedings{GBS16,
    author    = {Gyimesi, G\'abor and B\'an, D\'enes and Siket, Istv\'an and Ferenc, Rudolf and Brugnoni, Silvano and Corbat, Thomas and Sommerlad, Peter and Suter, Toni},
    title     = {Enforcing Techniques and Transformation of {C/C++} Source Code to Heterogeneous Hardware},
    booktitle = {Proceedings of the 16th IEEE International Conference on Scalable Computing and Communication (ScalCom 2016)},
    year      = {2016},
    pages     = {1173--1180},
    address   = {Toulouse, France},
    month     = jul,
    publisher = {IEEE Computer Society},
    doi       = {10.1109/UIC-ATC-ScalCom-CBDCom-IoP-SmartWorld.2016.0180},
    keywords  = {REPARA, C/C++, static analysis, code transformation, heterogeneous hardware, Eclipse CDT, Cevelop},
    url       = {http://ieeexplore.ieee.org/document/7816976/},
}