The NNSA supports the development of open- source software technologies that are both important to the success of national security applications and externally impactful to the rest of the Exascale Computing Project and the broader community. These software technologies are managed as part of a larger Advanced Simulation and Computing (ASC) program portfolio, which provides resources to develop these technologies for national security applications. The software technologies at Sandia National Laboratories (SNL) span programming models and runtimes (Kokkos), mathematical libraries (Kokkos Kernels), data analysis and visualization (VTK-m), and system software (OS&ONR).

Project Details

The Kokkos programming model and C++ library enable performance portable on-compute-node parallelism for exascale C++ applications. The Kokkos library implementation consists of a portable application programmer interface and architecture specific back-ends. These back-ends are developed and optimized as new capabilities are added to Kokkos, back- end programming mechanisms evolve, and architectures change.

Kokkos Kernels implements on-node shared memory computational kernels for linear algebra and graph operations, using the Kokkos shared-memory parallel programming model. The algorithms and the implementations of the performance-critical kernels in Kokkos Kernels are chosen carefully to match the features of the architectures, allowing exascale applications to use high-performance kernels and transfer the burden to Kokkos Kernels developers to maintain them in future architectures.

VTK-m is a toolkit of scientific visualization algorithms for emerging processor architectures that supports fine-grained concurrency within data analysis and visualization algorithms. This fine-grained concurrency is required to achieve performance on exascale architectures. The team is building up the VTK-m codebase with the necessary visualization algorithm implementations that run across the varied hardware platforms to be leveraged at the exascale.

The OS and On-Node Runtime (OS&ONR) project focuses on the design, implementation, and evaluation of operating system and runtime system interfaces, mechanisms, and policies supporting the efficient execution of application codes on next-generation plat-forms. Priorities in this area include the development of lightweight tasking techniques that integrate network communication, interfaces between the runtime and operating system for management of critical resources, portable interfaces for managing power and energy, and resource isolation strategies at the operating system level that maintain scalability and performance while providing a full-featured set of system services.

Principal Investigator(s):

Jim Stewart, Sandia National Laboratories

Progress to date

  • The Kokkos team implemented new features based on customer needs, improving the applicability of Kokkos to a wide range of applications. These features include abstractions to seamlessly switch between data replication and atomic operation for scatter-add algorithms, tiled layouts, and multidimensional loop abstractions.
  • The Kokkos Kernels team delivered performance portable kernels to ASC mission critical applications, including a symmetric Gauss-Seidel preconditioner and coloring algorithms.
  • The VTK-m team added a number of analyst-driven capabilities to ParaView and Catalyst to enable sophisticated quantitative analysis of complex hypersonic flowfields at scale, in both postprocessing and in situ contexts. Among the improvements are improved sampling and extraction of flowfield data, extraction of computational planes and lines on structured multiblock grids commonly used by CFD codes, and performance improvements for writing quantitative data for several mesh and text formats. These enhancements are now widely available in the ParaView 5.8.0 release.
  • The OS&ONR team enhanced a simulation framework and used it to analyze MPI resource usage for ATDM workloads to identify scalability and performance for offload-capable networks, validated and evaluated the ability to build unprivileged application container environments, and made several important contributions to the MPI and OpenMP standardization efforts.

National Nuclear Security Administration logo U.S. Department of Energy Office of Science logo