Viskores (VTK-m)
v2.2.0Massively parallel visualization toolkit for multi-core and many-core architectures, the next-generation successor to VTK algorithms
Development Activity
Commit activity data is not available for this renderer.
Sample Renders
Overview
Best for
HPC visualization developers building in-situ analysis pipelines, Kitware ecosystem integrators accelerating VTK/ParaView with GPU backends, and computational scientists needing portable parallel visualization algorithms
Not ideal for
End-user visualization, small datasets, web-based rendering, or anyone seeking a standalone visualization application with a GUI
Strengths
- Hardware-portable parallel algorithm framework — write once, run on CPUs (OpenMP/TBB), NVIDIA GPUs (CUDA), and AMD GPUs (Kokkos) without code changes, a rarity in scientific visualization
- Backed by US Department of Energy national laboratories with sustained funding and professional engineering support from Kitware, ensuring long-term viability
- Flying Edges algorithm for isosurface extraction is significantly faster than traditional Marching Cubes, delivering state-of-the-art performance on both CPU and GPU
- Designed for exascale in-situ visualization — can process simulation output at the point of generation without intermediate I/O, critical for petabyte-scale computational science
- Clean, modern C++ API with the worklet abstraction that separates algorithm logic from hardware mapping, making it accessible for visualization researchers to add new parallel algorithms
Limitations
- Not a standalone visualization application — it is a library that must be integrated into VTK, ParaView, or custom applications, requiring significant C++ development expertise
- Learning curve for the worklet programming model can be steep for developers unfamiliar with data-parallel programming paradigms
- Narrower algorithm coverage than full VTK — not all VTK filters have been ported, so some workflows still require fallback to the original VTK serial implementations
- Documentation is oriented toward HPC developers and visualization researchers — resources for beginners or non-C++ developers are limited
- GPU performance benefits are most apparent on large datasets and HPC workloads; for desktop-scale data, the overhead of GPU memory transfers can negate parallel speedups
Background
Viskores, formerly known as VTK-m (VTK-many-core), is a ground-up redesign of VTK's computational visualization algorithms for modern massively parallel hardware. Developed by Kitware in collaboration with Sandia National Laboratories, Oak Ridge National Laboratory, and Los Alamos National Laboratory under US Department of Energy funding, it provides hardware-portable implementations of key visualization algorithms — isosurface extraction, volume rendering, contouring, particle advection, and connected components — that run efficiently on CPUs, NVIDIA GPUs, AMD GPUs, and other many-core architectures.
The framework's central abstraction is the "worklet" — a small, portable function that developers write once and Viskores automatically maps to the target hardware via backend dispatchers for serial execution, TBB, OpenMP, CUDA, and Kokkos. This design enables a single algorithm implementation to run on Intel Xeon processors, NVIDIA A100 GPUs, and AMD MI250X accelerators without code changes. The Flying Edges algorithm for isosurface extraction, developed within this project, is significantly faster than traditional Marching Cubes on both CPU and GPU.
Viskores is not a standalone visualization application — it is an infrastructure library designed for integration into VTK, ParaView, and custom HPC visualization pipelines. Its primary use case is in-situ visualization: processing simulation data at the point of generation on the same supercomputer, without intermediate I/O. This capability is critical for exascale computational science where writing full simulation output to disk is prohibitively expensive. The library integrates directly with VTK as a backend filter implementation and is used by ParaView for GPU-accelerated filter execution.
Quick Start
git clone https://github.com/Kitware/VTK-m && cd VTK-m && cmake -B build && cmake --build buildRelated Renderers
Community & Resources
Community
Paper & Citations
Tutorials & Resources
Performance Benchmarks
No benchmark data available for Viskores (VTK-m) yet.
Benchmarks will be added as more renderers are tested across our standard scene suite.
Learn about our methodology