The NNSA supports the development of open-source software technologies that are both important to the success of national security applications and externally impactful for the rest of the ECP and the broader community. These software technologies are managed as part of a larger Advanced Simulation and Computing (ASC) portfolio, which provides resources to develop and apply these technologies to issues of importance to national security. The software technologies at LANL span programming models and runtimes (Legion), development tools (Kitsune), data visualization and analysis (Cinema), and workflow orchestration (BEE).
The Legion effort is focused on delivering programming model technologies to support ASC mission applications. This work includes adding features and the integration of the Legion programming model into higher level libraries/ frameworks such as the Flexible Computational Science Infrastructure. The Legion-centric efforts are focused on developing and integrating new capabilities such as dynamic control replication, which enables applications to be written with apparently sequential semantics and parallelize and scale to exascale systems. These capabilities are necessary for complex applications that often require multiple mesh representations, different discretization strategies, and support for multiple materials in a single application.
The Kitsune effort works with the open-source LLVM Compiler Infrastructure to provide tools and capabilities that address exascale needs and challenges faced by applications, libraries, and other components of the software stack. The team is focused on providing a more productive development environment that enables improved compilation times and code generation for parallelism; additional features/capabilities within the design and implementations of LLVM components for improved platform/performance portability; and improved aspects related to composition of the underlying implementation details of the programming environment.
The Cinema tool is an innovative way of capturing, storing, and exploring extreme-scale scientific data. Cinema embodies approaches to maximize insight from extreme-scale simulation results while minimizing data footprint. The team is creating capabilities that allow scientists more options in analyzing and exploring the results of large simulations by providing a workflow that detects features in situ; captures data artifacts from those features in Cinema databases; promotes post hoc analysis of the data; and provides data viewers that enable interactive, structured exploration of the resulting artifacts.
BEE (Build and Execution Environment) is a toolkit that provides users with the ability to execute application workflows across a diverse set of hardware and runtime environments. Using BEE’s tools, users can build and launch applications on high-performance clusters and public and private clouds. The team is providing technology that eases the deployment of new application and software technology via containerization; has a flexible runtime that enables containers to run across a wide variety of high-performance platforms; and supports for deploying containers that support producer-consumer workflows and job coupling.