Towards a Semantics-Aware Code Transformation Toolchain for Heterogeneous Systems

Salvador Tamarit
(Universidad Politècnica de Madrid)
Julio Mariño
(Universidad Politècnica de Madrid)
Guillermo Vigueras
(IMDEA Software Institute)
Manuel Carro
(IMDEA Software Institute)

Obtaining good performance when programming heterogeneous computing platforms poses significant challenges. We present a program transformation environment, implemented in Haskell, where architecture-agnostic scientific C code with semantic annotations is transformed into functionally equivalent code better suited for a given platform. The transformation steps are represented as rules that can be fired when certain syntactic and semantic conditions are fulfilled. These rules are not hard-wired into the rewriting engine: they are written in a C-like language and are automatically processed and incorporated into the rewriting engine. That makes it possible for end-users to add their own rules or to provide sets of rules that are adapted to certain specific domains or purposes.

In Alicia Villanueva: Proceedings XVI Jornadas sobre Programación y Lenguajes (PROLE 2016), Salamanca, Spain, 14-16th September 2016, Electronic Proceedings in Theoretical Computer Science 237, pp. 34–51.
Published: 11th January 2017.

ArXived at: https://dx.doi.org/10.4204/EPTCS.237.3 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org