A High-Level Interface of Xevolver for Composing Loop Transformations

  • Hiroyuki TakizawaEmail author
  • Daichi Sato
  • Shoichi Hirasawa
  • Hiroaki Kobayashi


Xevolver is a code transformation framework under active development to help legacy application migration to extreme-scale computing systems. The framework originally assumes that transformation rules are written in XSLT, which might be too low-level for standard users to express their own rules. Hence, this article describes a high-level interface of the Xevolver framework, which offers an easy and declarative way to define a custom compiler directive associated with a composite of predefined loop transformation rules. Such a compiler directive can also be associated with text insertion and deletion. In the evaluation, 160 variants of a triple-nested loop required for empirical performance tuning can be generated mechanically by using the high-level interface.


Loop Variant Loop Optimization Application Code Abstract Syntax Tree Loop Transformation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



This research was partially supported by JST CREST “An Evolutionary Approach to Construction of a Software Development Environment for Massively-Parallel Heterogeneous Systems” and Grant-in-Aid for Scientific Research(B) #25280041. The authors would like to thank team members of the CREST project for fruitful discussions on the design and development of the Xevolver framework.

In addition, this research was partially supported by “Joint Usage/Research Center for Interdisciplinary Large-scale Information Infrastructures” and “High Performance Computing Infrastructure” in Japan for using the computing resources installed in Cyberscience Center, Tohoku University.


  1. 1.
    Allen, R., Kennedy, K.: Optimizing Compilers for Modern Architectures: A Dependence-Based Approach. Morgan Kaufmann, San Francisco (2001)Google Scholar
  2. 2.
    Introducing JSON. (9 June 2015)
  3. 3.
    Kay, M.: XSLT 2.0 and XPath 2.0 Programmer’s Reference (Programmer to Programmer), 4 edn. Wrox Press Ltd., Birmingham (2008)Google Scholar
  4. 4.
    Naono, K., Teranishi, K., Cavazos, J., Suda, R. (eds.): Software Automatic Tuning—from Concepts to State-of-the-Art Results. Springer, New York (2010)Google Scholar
  5. 5.
    Suda, R., Hirasawa, S., Takizawa, H.: User-defined source-to-source code transformation tools using Xevolver. Presentation at International Workshop on Legacy HPC Application Migration (LHAM2014) (2014)Google Scholar
  6. 6.
    Takizawa, H., Hirasawa, S., Kobayashi, H.: Xevolver: an XML-based programming framework for software evolution. Poster presentation at supercomputing 2013 (SC13) (2013)Google Scholar
  7. 7.
    Takizawa, H., Hirasawa, S., Hayashi, Y., Egawa, R., Kobayashi, H.: Xevolver: an XML-based code translation framework for supporting HPC application migration. In: IEEE International Conference on High Performance Computing (HiPC) (2014)Google Scholar
  8. 8.
    The Xevolver Project: JST CREST “an evolutionary approach to construction of a software development environment for massively-parallel heterogeneous systems”. (2011)

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Hiroyuki Takizawa
    • 1
    Email author
  • Daichi Sato
    • 1
  • Shoichi Hirasawa
    • 1
  • Hiroaki Kobayashi
    • 2
  1. 1.Graduate School of Information SciencesTohoku UniversitySendaiJapan
  2. 2.Cyberscience CenterTohoku UniversitySendaiJapan

Personalised recommendations