# An optimizing multi-platform source-to-source compiler framework for the   NEURON MODeling Language

**Authors:** Pramod Kumbhar, Omar Awile, Liam Keegan, Jorge Blanco Alonso, James, King, Michael Hines, Felix Sch\"urmann

arXiv: 1905.02241 · 2019-05-08

## TL;DR

This paper introduces a new source-to-source compiler framework for the NEURON modeling language, enabling optimized code generation across multiple hardware platforms with significant performance improvements.

## Contribution

It presents a novel NMODL framework that enhances code optimization, parsing, and analysis capabilities for the NEURON DSL, supporting multiple SIMD and SPMD targets.

## Key findings

- Up to 20x speedup compared to NEURON
- Approximately 10x overall speedup in production simulations
- Up to 2x speedup over previous SIMD-optimized versions

## Abstract

Domain-specific languages (DSLs) play an increasingly important role in the generation of high performing software. They allow the user to exploit specific knowledge encoded in the constructs for the generation of code adapted to a particular hardware architecture; at the same time, they make it easier to generate optimized code for a multitude of platforms as the transformation has to be encoded only once. 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. Furthermore, rich analysis tools are provided allowing the scientist to introspect models. NMODL implements multiple SIMD and SPMD targets optimized for modern hardware. Benchmarks were performed on Intel Skylake, Intel KNL and AMD Naples platforms. When comparing NMODL-generated kernels with NEURON we observe a speedup of up to 20x, resulting into overall speedups of two different production simulations by $\sim$10x. When compared to a previously published SIMD optimized version that heavily relied on auto-vectorization by the compiler still a speedup of up to $\sim$2x is observed.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1905.02241/full.md

## Figures

11 figures with captions in the complete paper: https://tomesphere.com/paper/1905.02241/full.md

## References

50 references — full list in the complete paper: https://tomesphere.com/paper/1905.02241/full.md

---
Source: https://tomesphere.com/paper/1905.02241