An Optimizing Multi-platform Source-to-source Compiler Framework for the NEURON MODeling Language

被引:3
|
作者
Kumbhar, Pramod [1 ]
Awile, Omar [1 ]
Keegan, Liam [1 ]
Alonso, Jorge Blanco [1 ]
King, James [1 ]
Hines, Michael [2 ]
Schuermann, Felix [1 ]
机构
[1] Ecole Polytech Fed Lausanne EPFL, Blue Brain Project, Campus Biotech, CH-1202 Geneva, Switzerland
[2] Yale Univ, Dept Neurosci, New Haven, CT 06510 USA
来源
关键词
NEURON; HPC; DSL; Code generation; Neuroscience; SIMULATION;
D O I
10.1007/978-3-030-50371-0_4
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Domain-specific languages (DSLs) play an increasingly important role in the generation of high performing software. They allow the user to exploit domain knowledge for the generation of more efficient code on target architectures. Here, we describe a new code generation framework (NMODL) for an existing DSL in the NEURON framework, a widely used software for massively parallel simulation of biophysically detailed brain tissue models. Existing NMODL DSL transpilers lack either essential features to generate optimized code or capability to parse the diversity of existing models in the user community. Our NMODL framework has been tested against a large number of previously published user models and offers high-level domain-specific optimizations and symbolic algebraic simplifications before target code generation. NMODL implements multiple SIMD and SPMD targets optimized for modern hardware. When comparing NMODL-generated kernels with NEURON we observe a speedup of up to 20x, resulting in overall speedups of two different production simulations by similar to 7x. When compared to SIMD optimized kernels that heavily relied on autovectorization by the compiler still a speedup of up to similar to 2x is observed.
引用
收藏
页码:45 / 58
页数:14
相关论文
共 50 条
  • [1] Polyhedral Source-to-Source Compiler
    Adamski, Dominik
    Jablonski, Grzegorz
    Perek, Piotr
    Napieralski, Andrzej
    PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON MIXED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS (MIXDES 2016), 2016, : 458 - 463
  • [2] A Source-to-Source OpenACC Compiler for CUDA
    Tabuchi, Akihiro
    Nakao, Masahiro
    Sato, Mitsuhisa
    EURO-PAR 2013: PARALLEL PROCESSING WORKSHOPS, 2014, 8374 : 178 - 187
  • [3] TRACO: SOURCE-TO-SOURCE PARALLELIZING COMPILER
    Palkowski, Marek
    Bielecki, Wlodzimierz
    COMPUTING AND INFORMATICS, 2016, 35 (06) : 1277 - 1306
  • [4] A source-to-source compiler for generating dependable software
    Rebaudengo, M
    Reorda, MS
    Violante, M
    Torchiano, M
    FIRST IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2001, : 33 - 42
  • [5] CETUS: A SOURCE-TO-SOURCE COMPILER INFRASTRUCTURE FOR MULTICORES
    Dave, Chirag
    Bae, Hansang
    Min, Seung-Jai
    Lee, Seyong
    Eigenmann, Rudolf
    Midkiff, Samuel
    COMPUTER, 2009, 42 (12) : 36 - 42
  • [6] The Cetus Source-to-Source Compiler Infrastructure: Overview and Evaluation
    Hansang Bae
    Dheya Mustafa
    Jae-Woo Lee
    Hao Aurangzeb
    Chirag Lin
    Rudolf Dave
    Samuel P. Eigenmann
    International Journal of Parallel Programming, 2013, 41 : 753 - 767
  • [7] The Cetus Source-to-Source Compiler Infrastructure: Overview and Evaluation
    Bae, Hansang
    Mustafa, Dheya
    Lee, Jae-Woo
    Aurangzeb
    Lin, Hao
    Dave, Chirag
    Eigenmann, Rudolf
    Midkiff, Samuel P.
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2013, 41 (06) : 753 - 767
  • [8] Optimizing cache access:: A tool for source-to-source transformations and real-life compiler tests
    Müller-Pfefferkorn, R
    Nagel, WE
    Trenkler, B
    EURO-PAR 2004 PARALLEL PROCESSING, PROCEEDINGS, 2004, 3149 : 72 - 81
  • [9] Cetus - An extensible compiler infrastructure for source-to-source transformation
    Lee, SI
    Johnson, TA
    Eigenmann, R
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, 2004, 2958 : 539 - 553
  • [10] A source-to-source translation method with type restoration in a compiler
    Mi, Wei
    Li, Yuxiang
    Chen, Li
    Feng, Xiaobing
    Zhang, Zhaoqing
    Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2010, 47 (07): : 1145 - 1155