Led by Martin Berzins
Our CCMSC will start with a proven computational platform (UintahX) and sequentially move to multipetaflop and eventually exascale computing. We will accomplish this transformation with three software infrastructure components:
- the exascale runtime system,
- TASC (Transparent Abstractions for Scalable Computing) representing a high-level, portable "assembly language" for scientific computation with transparent abstraction by using a sub-Turing, embedded domain-specific language, and
- the data management and visualization infrastructure for dealing with large data and for connecting that data to the visualization and data analysis components.
The challenge is not only of running on machines such as Titan and Sequoia, but also in being able to run on at subsequent generations of parallel machines whose characteristics may include:
- Communications will be hierarchical in nature and potentially subject to long delays, thus requiring the overlapping of communication with computation.
- Compute nodes will have more cores and/or accelerators than at present.
- Compute nodes will have less memory per core. Each node will need to access shared memory abstractions that are lock-free and work with only one copy of global data per node.
- In order to achieve good future performance it will be necessary to tune the runtime system so as to detect and remove inefficiencies in scaling.
- The probability of associated soft and hard hardware faults on such machines is expected to be much greater than at present and will require resilient software.
- The need for energy efficiency requires that computational work be focused where it is needed by using techniques such as adaptive-mesh refinement guided by V/UQ.
- Careful orchestration and minimization of data movements needs to be a key design component in the software ecosystem since moving data is a major contributor to the energy cost of a simulation and the time delays introduced by traditional bulk data movements will introduce unacceptable utilization degradation of the overall computing resources allocated.
Exascale Computing and Software Team
Martin Berzins, Exascale Computing Lead, Professor in the School of Computing, University of Utah
Charles Hansen, Professor, School of Computing, University of Utah
Matthew Might, Assistant Professor, School of Computing, University of Utah
Valerio Pascucci, Professor, School of Computing, University of Utah
James Sutherland, Associate Professor, Chemical Engineering, University of Utah
Alan Humphrey, Developer, SCI Institute, University of Utah