DocumentCode
2165808
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
fYear
2003
fDate
26-27 Sept. 2003
Firstpage
65
Lastpage
74
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Source Code Analysis and Manipulation, 2003. Proceedings. Third IEEE International Workshop on
Print_ISBN
0-7695-2005-7
Type
conf
DOI
10.1109/SCAM.2003.1238032
Filename
1238032
Link To Document