Runtime code generation in C++ as a foundation for domain-specific optimisation

被引:0
|
作者
Beckmann, O [1 ]
Houghton, A [1 ]
Mellor, M [1 ]
Kelly, PHJ [1 ]
机构
[1] Univ London Imperial Coll Sci Technol & Med, Dept Comp, London SW7 2BZ, England
来源
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The TaskGraph Library is a C++ library for dynamic code generation, which combines specialisation with dependence analysis and loop restructuring. A TaskGraph represents a fragment of code which is constructed and manipulated at runtime, then compiled, dynamically linked and executed. TaskGraphs are initialised using macros and overloading, which forms a simplified, C-like sub-language with first-class arrays and no pointers. Once a TaskGraph has been constructed, we can analyse its dependence structure and perform optimisations. In this Chapter, we present the design of the TaskGraph library, and two sample applications to demonstrate its use for runtime code specialisation and restructuring optimisation.
引用
收藏
页码:291 / 306
页数:16
相关论文
共 50 条
  • [1] RUNTIME CODE GENERATION FOR INTERPRETED DOMAIN-SPECIFIC MODELING LANGUAGES
    Meyer, Tom
    Helms, Tobias
    Warnke, Tom
    Uhrmacher, Adelinde M.
    [J]. 2018 WINTER SIMULATION CONFERENCE (WSC), 2018, : 605 - 615
  • [2] Design of the CodeBoost transformation system for domain-specific optimisation of C++ programs
    Bagge, OS
    Kalleberg, KT
    Haveraaen, M
    Visser, E
    [J]. THIRD IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION - PROCEEDINGS, 2003, : 65 - 74
  • [3] An Evaluation of Domain-Specific Language Technologies for Code Generation
    Schmittt, Christian
    Kuckuk, Sebastian
    Kostlert, Harald
    Hannig, Frank
    Teich, Jurgen
    [J]. 2014 14TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND ITS APPLICATIONS (ICCSA), 2014, : 18 - 26
  • [4] Interoperable domain-specific languages families for code generation
    Malohlava, Michal
    Plasil, Frantisek
    Bures, Tomas
    Hnetynka, Petr
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2013, 43 (05): : 479 - 499
  • [5] Code Generation from a Domain-specific Language for C-based HLS of Hardware Accelerators
    Reiche, Oliver
    Schmid, Moritz
    Hannig, Frank
    Membarth, Richard
    Teich, Juergen
    [J]. 2014 INTERNATIONAL CONFERENCE ON HARDWARE/SOFTWARE CODESIGN AND SYSTEM SYNTHESIS (CODES+ISSS), 2014,
  • [6] OBJECT I/O AND RUNTIME TYPE INFORMATION VIA AUTOMATIC CODE GENERATION IN C++
    GROSSMAN, M
    [J]. JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 1993, 6 (04): : 34 - 42
  • [7] Domain-specific runtime variability in product line architectures
    Goedicke, M
    Pohl, K
    Zdun, U
    [J]. OBJECT-ORIENTED INFORMATION SYSTEMS, PROCEEDINGS, 2002, 2425 : 384 - 396
  • [8] Domain-Specific Runtime to Orchestrate Computation on Heterogeneous Platforms
    O'Neal, Jared
    Wahib, Mohamed
    Dubey, Anshu
    Weide, Klaus
    Klosterman, Tom
    Rudi, Johann
    [J]. EURO-PAR 2021: PARALLEL PROCESSING WORKSHOPS, 2022, 13098 : 154 - 165
  • [9] Domain-specific language for infrastructure as code
    Shvetcova, Valeriya
    Borisenko, Oleg
    Polischuk, Maxim
    [J]. 2019 IVANNIKOV MEMORIAL WORKSHOP (IVMEM 2019), 2019, : 39 - 45
  • [10] Fortran, C and C++ code for econometrics and optimisation applications
    Orszag, JM
    [J]. ECONOMIC JOURNAL, 1997, 107 (440): : 252 - 256