Nebo: An efficient, parallel, and portable domain-specific language for numerically solving partial differential equations
- Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
- Univ. of Utah, Salt Lake City, UT (United States)
- Univ. of Pittsburgh, Pittsburgh, PA (United States)
This study 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.
- Research Organization:
- Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
- Sponsoring Organization:
- USDOE National Nuclear Security Administration (NNSA)
- Grant/Contract Number:
- AC52-07NA27344
- OSTI ID:
- 1440722
- Alternate ID(s):
- OSTI ID: 1398661
- Report Number(s):
- LLNL-JRNL-665611; 787107
- Journal Information:
- Journal of Systems and Software, Vol. 125, Issue C; ISSN 0164-1212
- Publisher:
- ElsevierCopyright Statement
- Country of Publication:
- United States
- Language:
- English
Web of Science
Similar Records
Data Locality Enhancement of Dynamic Simulations for Exascale Computing (Final Report)
Indigo: A Domain-Specific Language for Fast, Portable Image Reconstruction