Generation of high-performance code based on a domain-specific language for algorithmic skeletons

被引:0
|
作者
Fabian Wrede
Christoph Rieger
Herbert Kuchen
机构
[1] University of Muenster,Department of Information Systems
[2] European Research Center for Information Systems (ERCIS),undefined
来源
关键词
Algorithmic skeletons; Parallel programming; High-performance computing; Model-driven development; Domain-specific language;
D O I
暂无
中图分类号
学科分类号
摘要
Parallel programming can be difficult and error prone, in particular if low-level optimizations are required in order to reach high performance in complex environments such as multi-core clusters using MPI and OpenMP. One approach to overcome these issues is based on algorithmic skeletons. These are predefined patterns which are implemented in parallel and can be composed by application programmers without taking care of low-level programming aspects. Support for algorithmic skeletons is typically provided as a library. However, optimizations are hard to implement in this setting and programming might still be tedious because of required boiler plate code. Thus, we propose a domain-specific language for algorithmic skeletons that performs optimizations and generates low-level C++ code. Our experimental results on four benchmarks show that the models are significantly shorter and that the execution time and speedup of the generated code often outperform equivalent library implementations using the Muenster Skeleton Library.
引用
收藏
页码:5098 / 5116
页数:18
相关论文
共 50 条
  • [1] Generation of high-performance code based on a domain-specific language for algorithmic skeletons
    Wrede, Fabian
    Rieger, Christoph
    Kuchen, Herbert
    [J]. JOURNAL OF SUPERCOMPUTING, 2020, 76 (07): : 5098 - 5116
  • [2] Towards High-Performance Code Generation for Multi-GPU Clusters Based on a Domain-Specific Language for Algorithmic Skeletons
    Wrede, Fabian
    Kuchen, Herbert
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2020, 48 (04) : 713 - 728
  • [3] Towards High-Performance Code Generation for Multi-GPU Clusters Based on a Domain-Specific Language for Algorithmic Skeletons
    Fabian Wrede
    Herbert Kuchen
    [J]. International Journal of Parallel Programming, 2020, 48 : 713 - 728
  • [4] Musket: A Domain-Specific Language for High-Level Parallel Programming with Algorithmic Skeletons
    Rieger, Christoph
    Wrede, Fabian
    Kuchen, Herbert
    [J]. SAC '19: PROCEEDINGS OF THE 34TH ACM/SIGAPP SYMPOSIUM ON APPLIED COMPUTING, 2019, : 1534 - 1543
  • [5] Domain-Specific Optimization and Generation of High-Performance GPU Code for Stencil Computations
    Rawat, Prashant Singh
    Vaidya, Miheer
    Sukumaran-Rajam, Aravind
    Ravishankar, Mahesh
    Grover, Vinod
    Rountev, Atanas
    Pouchet, Louis-Noel
    Sadayappan, P.
    [J]. PROCEEDINGS OF THE IEEE, 2018, 106 (11) : 1902 - 1920
  • [6] 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
  • [7] Domain-specific language for infrastructure as code
    Shvetcova, Valeriya
    Borisenko, Oleg
    Polischuk, Maxim
    [J]. 2019 IVANNIKOV MEMORIAL WORKSHOP (IVMEM 2019), 2019, : 39 - 45
  • [8] Automatic Task-Based Code Generation for High Performance Domain Specific Embedded Language
    Tan, Antoine Tran
    Falcou, Joel
    Etiemble, Daniel
    Kaiser, Hartmut
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2016, 44 (03) : 449 - 465
  • [9] Automatic Task-Based Code Generation for High Performance Domain Specific Embedded Language
    Antoine Tran Tan
    Joel Falcou
    Daniel Etiemble
    Hartmut Kaiser
    [J]. International Journal of Parallel Programming, 2016, 44 : 449 - 465
  • [10] 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,