The Exascale Computing Project has concluded. This site is retained for historical references.

VTK-m

As exascale simulations generate data, scientists must extract information and understand their results. One of the primary mechanisms for understanding these results is producing visualizations that can be viewed and manipulated. The VTK-m project is developing and deploying a scientific visualization library for exascale machines. This library can be used directly by simulation codes or by other visualization products, and VTK-m is embedded in other Exascale Computing Project (ECP) solutions and is the sole project providing support for exascale architectures. VTK-m supports features such as the shared-memory parallelism available on many-core CPUs and GPUs by redeveloping, implementing, and supporting necessary visualization algorithms.

Summary

Scientific visualizations are a primary mechanism for scientists to understand and share their results. However, most tools developed prior to the exascale era of computing do not properly scale up to high performance computing (HPC) systems. As HPC systems grow to use more accelerators, applications require a larger degree of parallelism in order to take full advantage of these systems. Current visualization applications cannot achieve this necessary level of parallelism.

The Exascale Computing Project (ECP) software VTK-m fills in this critical gap. VTK-m takes care of all back-end operations that need to occur to enable scientific data to be rendered into a visual form. The application iteratively builds upon pre-existing visualization tools to take advantage of processing technologies on HPC systems, allowing visualization applications to run more computations per compute node. Users also have the option to integrate VTK-m into a rendering program of their choice or use its own rendering capabilities.

Currently used worldwide both as a standalone product and with other Department of Energy products—such as ParaView, VisIt, and Ascent—VTK-m is extremely versatile. It can be used with different processor architectures, embedded in other visualization solutions, and applied directly to scientific simulations. For example, the ECP project Whole Device Model Application (WDMApp) used VTK-m to design Poincare maps—plots of magnetic fields around a tokamak, which require thousands of iterations—for fusion simulations. This cut down their visualization times from hours to minutes and allowed scientists to obtain more granular views of the magnetic fields over time across the entire simulation.

With its critical functionality and demonstrated usability with other tools, VTK-m software is poised to continue seeing utilization beyond ECP. The team hopes its user base will continue to grow as scientists use VTK-m as a valuable platform for future research.

Technical Discussion

One of the biggest recent changes in high-performance computing is the increasing use of accelerators. Accelerators contain processing cores that independently are inferior to a core in a typical CPU, but these cores are replicated and grouped so that their aggregate execution provides a very high computation rate at a much lower power. Current and future CPU processors also require much more explicit parallelism. Each successive version of the hardware packs more cores into each processor, and technologies such as hyperthreading and vector operations require even more parallel processing to leverage each core’s full potential.

For more than 20 years, the scientific visualization community has been building scalable tools that enable scientists to visualize the results of their simulations. However, these tools are currently based on a message-passing programming model that will not scale as the concurrency increases, making them unsuitable for exascale architectures in their current form.

The VTK-m project addresses this challenge by providing the core capabilities to perform scientific visualization on exascale architectures, which can then be used within current tools, used by new libraries for in situ processing, or used directly by simulation codes. This fills the critical feature gap of performing efficient visualization and analysis on many-core CPU and GPU architectures.

The VTK-m team is providing general-purpose scientific visualization software for exascale architectures that supports shared memory parallelism and fine-grained concurrency. The team is focused on providing abstract models for data and execution that can be applied to a variety of algorithms across many different processor architectures along with necessary visualization algorithm implementations. The results of this project will be delivered in tools currently used around the world today, such as ParaView and VisIt, as well as in new tools, such as Ascent, and in a stand-alone form.

Principal Investigator(s)

Ken Moreland, Oak Ridge National Laboratory

Collaborators

Oak Ridge National Laboratory, Sandia National Laboratories, Los Alamos National Laboratory, University of Oregon, Kitware Inc.

National Nuclear Security Administration logo Exascale Computing Project logo small U.S. Department of Energy Office of Science logo