Embedded-DSL-Like Code Generation and Optimization of Bayesian Estimation Routines with User-Defined Source-to-Source Code Transformation Framework Xevolver

Reiji Suda
DOI: https://doi.org/10.1109/candar.2017.98
2017-11-01
Abstract:Xevolver is a source-to-source code transformation framework where users can define their own code transformation rules. The transformations in Xevolver can break the semantics of the code, that is, the resulting code can do different computations than the original source code does. This feature of Xevolver enables its usage as a code generator like embedded DSL (Domain Specific Language). This paper demonstrates such a usage in a code generator that inputs hierarchical Bayesian models in a form of Fortran code, and outputs a code that estimates Bayesian parameters from observed data. We found that Xevolver is also useful to optimize the generated codes.
What problem does this paper attempt to address?