Nebo: An efficient, parallel, and portable domain-specific language for numerically solving partial differential equations. This paper presents Nebo, a declarative domain-specific language embedded in C++ for discretizing partial differential equations for transport phenomena on multiple architectures. Application programmers use Nebo to write code that appears sequential but can be run in parallel, without editing the code. Currently Nebo supports single-thread execution, multi-thread execution, and many-core (GPU-based) execution. With single-thread execution, Nebo performs on par with code written by domain experts. With multi-thread execution, Nebo can linearly scale (with roughly 90% efficiency) up to 12 cores, compared to its single-thread execution. Moreover, Nebo’s many-core execution can be over 140x faster than its single-thread execution.
Keywords for this software
References in zbMATH (referenced in 2 articles )
Showing results 1 to 2 of 2.
- Reguly, István Z.; Mudalige, Gihan R.: Productivity, performance, and portability for computational fluid dynamics applications (2020)
- Yonkee, Nathan; Sutherland, James C.: PoKiTT: exposing task and data parallelism on heterogeneous architectures for detailed chemical kinetics, transport, and thermodynamics calculations (2016)