Many challenges await along the path from petascale to exascale and beyond for hardware architectures, as well as for system software developers and application programmers; however, three concepts in particular have been identified as critical: algorithmic concurrency, reduction in data movement, and asynchrony. There is a need to move beyond bulk-synchronous programming models and to address both data and computation in a nonlocal fashion (e.g., via partitioned global address space models). However, programming models alone are insufficient for enabling exascale application programming because they do not—and by design can not—take into account the mathematical properties of numerical computations that are essential to addressing the concurrency problem.
This project will support research and development activities on the design, development, deployment, and demonstration of a novel programming environment that addresses both the programming model and algorithmic challenges of exascale computing within multiple domains. The experiment apparatus will be the MADNESS (Multiresolution ADaptive NumErical Scientific Simulation) framework, which encapsulates a dynamic active-message runtime system, a global data model based upon distributed containers, a multi-resolution analysis toolkit, and scalable numerical solvers. The application domains targeted for demonstration include nuclear physics, density-functional theory of materials, quantum many-body methods for chemistry, and the MADNESS general purpose numerical environment for the solution of integral and differential equations.
The researchers seek to illuminate a path toward exascale application programming in the mission-critical scientific domains of the U.S. Department of Energy. The computer science and math research will bring a broad suite of science applications closer to exascale readiness.