Title :
Design of the CodeBoost transformation system for domain-specific optimisation of C++ programs
Author :
Bagge, Otto Skrove ; Kalleberg, Karl Trygve ; Haveraaen, Magne ; Visser, Eelco
Author_Institution :
Chr. Michelson Res., Norway
Abstract :
The use of a high-level, abstract coding style can greatly increase developer productivity. For numerical software, this can result in drastically reduced run-time performance. High-level, domain-specific optimisations can eliminate much of the overhead caused by an abstract coding style, but current compilers have poor support for domain-specific optimisation. We present CodeBoost, a source-to-source transformation tool for domain-specific optimisation of C++ programs. CodeBoost performs parsing, semantic analysis and pretty-printing, and transformations can be implemented either in the Stratego program transformation language, or as user-defined rewrite rules embedded within the C++ program. CodeBoost has been used with great success to optimise numerical applications written in the Sophus high-level coding style. We discuss the overall design of the CodeBoost transformation framework, and take a closer look at two important features of CodeBoost: user-defined rules and totem annotations. We also show briefly how CodeBoost is used to optimise Sophus code, resulting in applications that run twice as fast, or more.
Keywords :
C++ language; optimising compilers; software tools; C++ program optimisation; CodeBoost transformation framework; Sophus code; Stratego program transformation language; abstract coding style; domain-specific optimization; parsing; program compiler; semantic analysis; source-to-source transformation tool; totem annotation; user-defined rewrite rules; Bridges; Design optimization; Informatics; Optimizing compilers; Performance analysis; Productivity; Runtime; Software engineering; Software libraries; Software performance;
Conference_Titel :
Source Code Analysis and Manipulation, 2003. Proceedings. Third IEEE International Workshop on
Print_ISBN :
0-7695-2005-7
DOI :
10.1109/SCAM.2003.1238032