Towards a Semantics-Aware Code Transformation Toolchain for Heterogeneous Systems

12 Jan 2017  ·  Salvador Tamarit, Julio Mariño, Guillermo Vigueras, Manuel Carro ·

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.

PDF Abstract
No code implementations yet. Submit your code now

Categories


Programming Languages Distributed, Parallel, and Cluster Computing Software Engineering C.1.3; D.3.4; I.2.2

Datasets


  Add Datasets introduced or used in this paper