Design of the CodeBoost transformation system for domain-specific optimisation of C++ programs

被引:26
|
作者
Bagge, OS
Kalleberg, KT
Haveraaen, M
Visser, E
机构
关键词
D O I
10.1109/SCAM.2003.1238032
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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. 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. 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.
引用
收藏
页码:65 / 74
页数:10
相关论文
共 50 条
  • [41] Automatic design of reconfigurable domain-specific flexible cores
    Compton, Katherine
    Hauck, Scott
    IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, 2008, 16 (05) : 493 - 503
  • [42] FastLAS: Scalable Inductive Logic Programming Incorporating Domain-Specific Optimisation Criteria
    Law, Mark
    Russo, Alessandra
    Bertino, Elisa
    Broda, Krysia
    Lobo, Jorge
    THIRTY-FOURTH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE, THE THIRTY-SECOND INNOVATIVE APPLICATIONS OF ARTIFICIAL INTELLIGENCE CONFERENCE AND THE TENTH AAAI SYMPOSIUM ON EDUCATIONAL ADVANCES IN ARTIFICIAL INTELLIGENCE, 2020, 34 : 2877 - 2885
  • [43] A framework to generate domain-specific manycore architectures from dataflow programs
    Savas, Suleyman
    Ul-Abdin, Zain
    Nordstrom, Tomas
    MICROPROCESSORS AND MICROSYSTEMS, 2020, 72
  • [44] Generating Domain-Specific Programs for Diagram Authoring with Large Language Models
    Jain, Rijul
    Ni, Wode
    Sunshine, Joshua
    COMPANION PROCEEDINGS OF THE 2023 ACM SIGPLAN INTERNATIONAL CONFERENCE ON SYSTEMS, PROGRAMMING, LANGUAGES, AND APPLICATIONS: SOFTWARE FOR HUMANITY, SPLASH COMPANION 2023, 2023, : 70 - 71
  • [45] Domain-specific NLP system to support learning path and curriculum design at tech universities
    Vo N.N.Y.
    Vu Q.T.
    Vu N.H.
    Vu T.A.
    Mach B.D.
    Xu G.
    Computers and Education: Artificial Intelligence, 2022, 3
  • [46] Design and Implementation of Domain-specific Business Information Search System in Electronic Commerce Environment
    Xia, Ruijun
    Wang, Qing
    Wang, Dingwei
    Liu, Lili
    CCDC 2009: 21ST CHINESE CONTROL AND DECISION CONFERENCE, VOLS 1-6, PROCEEDINGS, 2009, : 5765 - 5769
  • [47] Really Embedding Domain-Specific Languages into C plus
    Finkel, Hal
    McCaskey, Alexander
    Popoola, Tobi
    Lyakh, Dmitry
    Doerfert, Johannes
    PROCEEDINGS OF SIXTH WORKSHOP ON THE LLVM COMPILER INFRASTRUCTURE IN HPC AND WORKSHOP ON HIERARCHICAL PARALLELISM FOR EXASCALE COMPUTING (LLVM-HPC2020 AND HIPAR 2020), 2020, : 65 - 73
  • [48] CONSHELL - A DOMAIN-SPECIFIC SHELL FOR AUTOMATION SYSTEM CONFIGURATION
    GERSTORFER, E
    SCHROCKSNADL, B
    SUDA, P
    ZUCKER, W
    LECTURE NOTES IN COMPUTER SCIENCE, 1992, 585 : 378 - 387
  • [49] Developing knowledge of the judicial system: A domain-specific approach
    Berti, AE
    Ugolini, E
    JOURNAL OF GENETIC PSYCHOLOGY, 1998, 159 (02): : 221 - 236
  • [50] Domain-specific discrete event modelling and simulation using graph transformation
    Juan de Lara
    Esther Guerra
    Artur Boronat
    Reiko Heckel
    Paolo Torrini
    Software & Systems Modeling, 2014, 13 : 209 - 238