Intellectual Merit: Project proposes to improve and extend the Uintah framework to enable adaptive computations on modern HPC architectures with tens of thousands of nodes and complex communication/memory hierarchies. Uintah has been developed under the University of Utah Center for Simulation of Accidental Fires and Explosions (C-SAFE), a DOE-funded academic alliance project. This proposal aims to bring the unique capabilities that Uintah provides to the broader NSF science and engineering community. At the same time the underlying methodology employed will illustrate how such software packages may be used on large-scale HPC architectures in a fault-tolerant and self-adaptive way. Uintah is applicable to a wide range of engineering domains that require fluid-structure interactions and highly deformable models, and is used in its present advanced beta-release form for NSF-funded bioengineeringand computer science projects at the University of Utah (such as tissue modeling), as well as other NIH, DARPA, DOE and industry funded projects both at Utah and other institutions (such as heart injury modeling and blast-wave simulation). The aim of this proposed project is to move this software out into the broader NSF computational science community. Uintah is open-source software available through the MIT open-source license. Uintah will be extended to provide additional fault tolerance through redundant computation, which will be facilitated by the component-based architecture of the Uintah system. We will add hierarchical Monte Carlo radiation transport models to Uintah to provide additional capabilities for heat transfer, and electromagnetic wave propagation. Finally, we will demonstrate scalability of Uintah on Petascale architectures for real-world engineering design problems and support external users of Uintah for NSF-funded and other research through modern collaborative tools such as an online wiki. There are two major expected outcomes from this project. The first direct outcome is an enhanced version of Uintah with the potential to scale to many thousands of processors and to begin to approach petaflop performance. This code will have immediate use in the computational modeling of many applications involving hazards. The second contribution is less direct but equally important. The use of the underlying task graph methodology inside Uintah will provide an instance of how a potentially important methodology may be applied to large-scale parallelism in a fault-tolerant and self-adaptive way. Other contributions as part of the above will include scalable adaptive meshing in the context of fluid-structure interaction problems.The merit of this proposal will be demonstrated through the delivery general-purpose engineering quality software capable of utilizing thousands of processors when solving large scale fluid-interaction problems, and will also result in better methodologies and algorithms for the move to petaflop performance. At present the Uintah software has been demonstrated on thousands of processors, and this proposed effort will ensure that it will continue to scale on petascale class machines using fault tolerance and self-adaptive algorithms.
Broader Impact: The broader impact of this proposal is that the resulting algorithms, codes and levels of performance achieved will influence the next generation of code developers who will be seeking petascale performance on general purpose codes. Of particular importance is the idea that codes with dynamically varying work patterns can be made to perform on large cpu-count machines. The educational impact of this project demonstrated through the high-performance computing and computational science programs at taught at University of Utah. Scalability and the appropriate algorithms and software infrastructures are part of the graduate training that students receive as part of a multidisciplinaryprogram in scientific computing.