Transforming GCC into a research-friendly environment: plugins for optimization tuning and reordering, function cloning and program instrumentationReportar como inadecuado

Transforming GCC into a research-friendly environment: plugins for optimization tuning and reordering, function cloning and program instrumentation - Descarga este documento en PDF. Documentación en PDF para descargar gratis. Disponible también para leer online.

1 ICT - Institute of Computing Technology Beijing 2 PRISM - Parallélisme, Réseaux, Systèmes, Modélisation 3 ALCHEMY - Architectures, Languages and Compilers to Harness the End of Moore Years LRI - Laboratoire de Recherche en Informatique, UP11 - Université Paris-Sud - Paris 11, CNRS - Centre National de la Recherche Scientifique : UMR8623, Inria Saclay - Ile de France

Abstract : Computer scientists are always eager to have a powerful, robust and stable compiler infrastructure. However, until recently, researchers had to either use available and often unstable research compilers, create new ones from scratch, try to hack open-source non-research compilers or use source to source tools. It often requires duplication of a large amount of functionality available in current production compilers while making questionable the practicality of the obtained research results. The Interactive Compilation Interface ICI has been introduced to avoid such time-consuming replication and transform popular, production compilers such as GCC into research toolsets by providing an ability to access, modify and extend GCC-s internal functionality through a compiler-dependent hook and clear compiler-independent API with external portable plugins without interrupting the natural evolution of a compiler. In this paper, we describe our recent extensions to GCC and ICI with the preliminary experimental data to support selection and reordering of optimization passes with a dependency grammar, control of individual transformations and their parameters, generic function cloning and program instrumentation. We are synchronizing these developments implemented during Google Summer of Code-09 program with the mainline GCC 4.5 and its native low-level plugin system. These extensions are intended to enable and popularize the use of GCC for realistic research on empirical iterative feedback-directed compilation, statistical collective optimization, run-time adaptation and development of intelligent self-tuning computing systems among other important topics. Such research infrastructure should help researchers prototype and validate their ideas quickly in realistic, production environments while keeping portability of their research plugins across different releases of a compiler. Moreover, it should also allow to move successful ideas back to GCC much faster thus helping to improve, modularize and clean it up. Furthermore, we are porting GCC with ICI extensions for performance-power auto-tuning for data centers and cloud computing systems with heterogeneous architectures or for continuous whole system optimization.

Autor: Yuanjie Huang - Liang Peng - Chengyong Wu - Yuriy Kashnikov - Jörn Rennecke - Grigori Fursin -



Documentos relacionados