41. Making a Legacy Code Auto-Tunable Without Messing It Up
Authors: Hiroyuki Takizawa (Tohoku University)Daichi Sato (Tohoku University)Shoichi Hirasawa (Tohoku University)Hiroaki Kobayashi (Tohoku University)
Abstract: Since computing platforms are diverging, it is becoming more important to make a legacy code "auto-tunable" so as to run it efficiently on various platforms. However, such a code is likely to be considerably complex because it is supposed to change its code structure according to several parameters. In this work, we discuss how to use auto-tuning technologies without overcomplicating the code itself. This work focuses on user-defined code transformations that can be defined separately from an application code. Then, this work demonstrates that the Xevolver framework allows users to easily define code transformation rules for transforming a particular code to its auto-tunable version. As a result, application developers can usually maintain the original version, and the code is transformed just before auto-tuning. If code transformation rules are properly defined by experts, the application developers can benefit from auto-tuning technologies without considering the complex auto-tunable code generated by the transformation.
Two-page extended abstract: pdf