The Community for Technology Leaders
2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM) (2003)
Amsterdam, The Netherlands
Sept. 26, 2003 to Sept. 27, 2003
ISBN: 0-7695-2005-7
pp: 65
Karl Trygve Kalleberg , University of Bergen
Eelco Visser , Utrecht University
Otto Skrove Bagge , Chr. Michelsen Research AS
Magne Haveraaen , University of Bergen
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.<div></div> In this paper 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.<div></div> 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.
Karl Trygve Kalleberg, Eelco Visser, Otto Skrove Bagge, Magne Haveraaen, "Design of the CodeBoost Transformation System for Domain-Specific Optimisation of C++ Programs", 2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM), vol. 00, no. , pp. 65, 2003, doi:10.1109/SCAM.2003.1238032
85 ms
(Ver 3.3 (11022016))