1 of 1

VTK-m Demonstrates Performance Portability

Scientific Achievement

Leadership class facilities are using a variety of processor technologies from many different vendors — Intel, NVIDIA, and AMD — each with their own programming language and API. There are many scientific visualization algorithms that need to work well on these accelerator processors and it is infeasible to update every algorithm on every device.

Significance and Impact

VTK-m makes it possible to support scientific visualization on the heterogeneous architectures of today’s leadership class facilities. It assists researchers in implementing new algorithms and software engineers to support, port, and deploy the software across DOE systems.

This table demonstrates the speedup from implementing a visualization algorithm in VTK-m versus directly for a particular type of hardware. The geometric means indicate a speedup near 1, meaning that the VTK-m implementations perform about the same as code optimized for a specific platform.

Technical Approach

  • The VTK-m software framework provides abstractions that make it possible to implement an algorithm once and port it to any of the devices used by ECP.
  • A recent literature review of algorithms implemented in VTK-m and implemented for a particular hardware device show that the portable VTK-m implementation works as well as the specialized implementations.

Moreland, et al. (2021). Minimizing Development Costs for Efficient Many-Core Visualization Using MCD3. Parallel Computing, 108(102834). doi:10.1016/j.parco.2021.102834