Search NASA⌕ Search

DOE OSTI · 1440705

A domain-specific compiler for a parallel multiresolution adaptive numerical simulation environment

Abstract

This paper describes the design and implementation of a layered domain-specific compiler to support MADNESS---Multiresolution ADaptive Numerical Environment for Scientific Simulation. MADNESS is a high-level software environment for the solution of integral and differential equations in many dimensions, using adaptive and fast harmonic analysis methods with guaranteed precision. MADNESS uses k-d trees to represent spatial functions and implements operators like addition, multiplication, differentiation, and integration on the numerical representation of functions. The MADNESS runtime system provides global namespace support and a task-based execution model including futures. MADNESS is currently deployed on massively parallel supercomputers and has enabled many science advances. Due to the highly irregular and statically unpredictable structure of the k-d trees representing the spatial functions encountered in MADNESS applications, only purely runtime approaches to optimization have previously been implemented in the MADNESS framework. This paper describes a layered domain-specific compiler developed to address some performance bottlenecks in MADNESS. The newly developed static compile-time optimizations, in conjunction with the MADNESS runtime support, enable significant performance improvement for the MADNESS framework.

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Rajbhandari, Samyam, Kim, Jinsung, Krishnamoorthy, Sriram, Pouchet, Louis-Noel, Rastello, Fabrice, Harrison, Robert J., Sadayappan, Ponnuswamy. 2016-11-13. A domain-specific compiler for a parallel multiresolution adaptive numerical simulation environment. https://doi.org/10.1109/sc.2016.39

Cite the original work for its findings. Save a collection to share your selection of sources.