Xevtgen: Fortran code transformer generator for high performance scientific codes

Reiji Suda, Hiroyuki Takizawa, Shoichi Hirasawa


High performance scientific codes are written to achieve high performance on a modern HPC (High Performance Computing) platform, and are less readable and less manageable because of complex hand optimization which is often platform-dependent. We are developing a toolset to mitigate that maintainability problem by user-defined easy-to-use code transformation: The science code is written in a simpler form, and coding techniques for high performance are introduced by code transformations. In this paper, we present xevtgen, which is a code transformer generator of our toolset. Transformation rules are defined using dummy Fortran codes with some directives, and we expect our design makes our tool easier to learn for Fortran programmers. Some examples of code transformations, as well as an application to a real scientific application, are shown to discuss the practicality of the proposed approach. Xevtgen assumes XSLT as a backend, and generates an XSLT template from the dummy Fortran code. That design of xevtgen exploits the power of XSLT, and inherits some limitations of XSLT. In our plan, those limitations will be mitigated by additional tools in our toolset.


Fortran; Code transformation; Code generation

Full Text:



  • There are currently no refbacks.