The exascale architectures on the horizon for supercomputing pose intricate challenges to the developers of large-scale scientific applications. Running efficiently at exascale will not only require porting and optimizing code but also rethinking the design of core algorithms to take advantage of the greater parallelism and more efficient calculation capabilities that exascale systems will offer.
With the aim of efficiently exploiting exascale resources, the Center for Efficient Exascale Discretizations (CEED) of the Exascale Computing Project (ECP) is working closely with a wide variety of application scientists, vendors, and software technology developers to create highly optimized discretization libraries and next-generation mini apps based on what are called advanced high-order finite element methods.
CEED is one of five ECP co-design centers established to enable developers of software technology, hardware technology, and computational science applications to forge multidisciplinary collaborations.
The co-design centers are targeting the most important computational algorithms and patterns of communication in scientific research, referred to as scientific application motifs. By taking advantage of sophisticated mathematical algorithms and advanced hardware such as GPUs, for example, the high-order methods being developed in CEED are delivering improved simulation quality without an increase in computational time.
The computational motif addressed by CEED pertains to discretization, the process of dividing a large simulation into smaller components (finite elements) in preparation for computer analysis. Computer modeling and simulation of physical phenomena such as fluid flow, vibration, and heat is central to understanding the behavior of real-world systems such as solar, wind, combustion, and nuclear fusion and fission. Meshes (or grids) that represent the domain of interest (a wind farm, for example) are created for finite element analysis, in which the equations governing the physics are approximated by polynomials on each element.
CEED’s focus is on efficient implementations of high-order polynomial approximations on unstructured meshes. These methods require advanced mathematical theory and algorithms, but can provide high-fidelity approximations of the fields inside each element, leading to higher-quality solutions with fewer unknown coefficients to be determined. The resulting smaller linear systems need less data movement, which is a critical performance feature of high-performance computing today and on future exascale systems, allowing the CEED algorithms to better exploit the hardware and deliver a significant performance gain over conventional low-order methods, said CEED director Tzanio Kolev of Lawrence Livermore National Laboratory (LLNL).
To serve as an integration hub for the ECP efforts, CEED is organized around four interconnected research-and-development thrusts focused on its customers: applications, hardware, software, and finite elements, which ties together and coordinates the efforts of the other three thrusts.
The center is assisting the applications groups through the development of discretization libraries that extract maximal performance out of new hardware as it is deployed and provides this performance to multiple applications without duplication of development effort. Members of the CEED team are designated as liaisons to selected applications, ensuring that the center accounts for their needs and that algorithmic improvements are integrated into applications when the new machines are delivered.
“CEED helps ECP applications by providing them with leading-edge simulation algorithms that can extract much more of the performance from exascale hardware than what’s currently available,” Kolev said.
The first wave of ECP application projects with which CEED has been actively collaborating includes ExaSMR, a coupled Monte Carlo neutronics and fluid flow simulation tool of small modular nuclear reactors, and MARBL, a next-generation multiphysics code at LLNL.
“A discretization library can help a wide variety of applications to bridge the gap to exascale hardware,” Kolev said. “Once we’ve made the connection and the library has been integrated into an application, we can quickly deliver new benefits, such as improved kernels [the core components of numerical algorithms], in the future by upgrading the application to an updated version of the library.”
In addition to libraries of highly performant kernels, key products of the CEED project are new and improved mini apps designed to highlight performance critical paths and provide simple examples of meaningful high-order computations.
The mini apps can be used for interactions with vendors and software technologies projects, and for procurement activities. Two of the mini apps that CEED has developed for those purposes are called Nekbone and Laghos, which are part of the recently released ECP Proxy Applications Suite 1.0. Nekbone and Laghos represent subcomponents of interest from ExaSMR and MARBL.
The Nekbone mini app has a long history, including use in a recent procurement to represent incompressible flow simulations with implicit time stepping. Under CEED, Nekbone is being updated to run on GPUs, an important component of the Titan supercomputer and the upcoming Summit and Sierra machines.
In contrast, Laghos is a new mini app developed in CEED as a proxy for compressible flow simulations with explicit time stepping. “Laghos consists of a particular class of algorithms that pertains to compressible flow with unstructured moving meshes that represents interactions of materials and shock waves as extreme densities and pressures,” Kolev said. “This is the first time we’ve had a really good mini app that captures high-order discretizations for these types of problems. Laghos is important for the activities at many of the National Nuclear Security Administration labs, and we have a lot of interest already from vendors who want to optimize the mini app.”
This simulation is an example of the type of high-order calculations that CEED addresses. Shown is a Lagrangian compressible hydrodynamics simulation of triple-point shock interaction in axisymmetric coordinates. The new Laghos mini app is the first proxy for these types of problems. For more details and additional examples of CEED-related simulations, see CEED Publications and Outreach, BLAST: High-Order Finite Element Hydrodynamics, NEK5000, and MFEM. (Simulation movie credit: CEED)
Kolev described CEED’s interactions with vendors as a two-way connection. The center is working closely with them to ensure its discretization libraries will run efficiently on the hardware in development. At the same time, CEED is providing feedback to the vendors concerning hardware changes that can improve the performance of high-order algorithms.
“We represent many physicists and applications scientists when we interact with vendors,” Kolev said. “We learn from them how to make low-level optimizations and discover which memory models and programming models are good for our libraries’ algorithms. But we also advocate to the vendors that they should consider certain types of algorithms in their designs.”
When exascale becomes a reality, CEED wants high-order application developers to feel comfortable that they have full support for all tools that are part of their simulation pipeline.
“That means we’re thinking not only about discretization but also meshing, visualization, and the solvers that work with high order at exascale,” Kolev said. “We are collaborating with the teams in the ECP’s Software Technology focus area to develop new mathematical algorithms and expand the tools they are developing to meet the needs of CEED’s computational motif.”
CEED has also proposed important lower-level benchmarking problems (known as bake-off problems) to compare different high-order approaches and engage with the external high-order community via GitHub.
“These problems are designed to exercise really hot kernels that are central to the performance of high-order methods,” Kolev said. “This is an activity we use internally to push each other and learn from each other and make sure we are delivering to the users the best possible performance based on our collective experience. Engaging with the community is a win-win for everyone, and we are already starting to do this: a project in Germany picked up our benchmark problems from GitHub, and ran some very interesting tests. The engagement is ultimately going to benefit the applications because we are going to use the kernels that stem from such interactions in our libraries.”
CEED is a research partnership of two US Department of Energy labs and five universities. The partners are Lawrence Livermore National Laboratory; Argonne National Laboratory; the University of Illinois Urbana-Champaign; Virginia Tech; the University of Tennessee, Knoxville; the University of Colorado, Boulder; and the Rensselaer Polytechnic Institute. The center held its first project meeting in August at LLNL, which it plans to hold annually. The meeting brought together more than 50 researchers from ECP projects, vendors, and industry.
—By Scott Gibson, Oak Ridge National Laboratory