Large, complex, multi-scale, multi-physics simulation codes, running on high performance computing (HPC) platforms, are essential to advancing science and engineering research in disciplines such as lattice field theory, astrophysics and cosmology, computational fluid dynamics/fluid structure interaction,and high energy density physics. Progress in computational science together with the adoption of high-level frameworks and modular development have produced widely used community simulation software specific to individual communities. These state-of-the-art codes have been under development and optimization for several years and currently simulate multi-scale, multi-physics phenomena with unprecedented fidelity on petascale platforms. Currently each of these codes have solvers with varied performance characteristics, but all face challenges because of changing hardware architecture. Efforts underway to cope with these challenges, are largely fragmented. While it is true that the scientific codes used in various domains differ significantly from one another, many solutions are likely to be conceptually similar, even if they differ in details. The goal of the proposed conceptualization project, Software Institute for Methodologies and Abstractions for Codes (SIMAC) is to find common abstractions and frameworks applicable across a broad range of applications through cooperation, coordination and interdisciplinary interactions among the participants. The core group of participating codes includes FLASH (astrophysics, cosmology, CFD, HEDP), Cactus (CFD, numerical relativity, and quantum relativity), the code suite used by the Lattice QCD community, and Enzo (cosmology).

The proposed collaborative research will produce benefit beyond the four simulation codes and collaborating institutions by exploring: a common software infrastructure applicable to a broad range of science and engineering application domains; an engagement model between computer science research and application development; a multidisciplinary immersion program for research, education and training of students, postdoctoral fellows and visitors on future platform architectures.

Project Report

The growing demand for accuracy and detail in results means that the size and complexity of scientific computations is increasing at least as fast as improvements in computer technology. Creating optimized computer programs requires programmers to have extensive knowledge of the factors influencing performance. The main goal of the Lighthouse project was to construct a taxonomy of available software that can be used to build highly-optimized matrix algebra computations. The taxonomy provides an organized anthology of software components and programming tools needed for that task. It serves as a guide to practitioners seeking to learn what is available for their programming tasks, how to use it, and how the various parts fit together. At present, Lighthouse incorporates dense linear solvers and eigensolvers from LAPACK and sparse linear solvers and eigensolvers from PETSc. Lighthouse is a prototype of a way to present and use software that is very different from the traditional download-build-install-learn model. It enables users to produce higher-quality numerical software faster beginning from high-level mathematical descriptions of computations. It will benefit society by producing better engineering artifacts more efficiently and dramatically expanding the accessibility of HPC software for non-experts, i.e., enabling "HPC for the masses". A production version of Lighthouse would lead to dramatic improvement in the productivity of scientists from multiple computational disciplines (e.g., physics, chemistry). It would also enable better computer resource use through automated generation and optimization of implementations. Intellectual Merit: Lighthouse provides a novel way to learn and effectively use numerical software through search-based interfaces to a rigorous taxonomic representation of the functionality of each included package. It contributes research on user interfaces and on an approach to optimizing both usability and performance of software. Broader Impact: Lighthouse provides for greater application performance, enabling both more discovery with available computing resources and greater productivity by application programmers. This project supported a postdoctoral research associate and a number of graduate and undergraduate research assistants, including several women, one minority, a first-generation college student, and a number of international students.

Agency
National Science Foundation (NSF)
Institute
Division of Advanced CyberInfrastructure (ACI)
Type
Standard Grant (Standard)
Application #
1228696
Program Officer
Rajiv Ramnath
Project Start
Project End
Budget Start
2012-09-15
Budget End
2015-02-28
Support Year
Fiscal Year
2012
Total Cost
$146,719
Indirect Cost
Name
University of Chicago
Department
Type
DUNS #
City
Chicago
State
IL
Country
United States
Zip Code
60637