---
title: 'Viskores: Parallel Visualization and Data Analysis'
url: https://www.emergentmind.com/topics/viskores
type: topic
---

# Viskores: Parallel Visualization and Data Analysis

Searching arXiv for papers specifically about “Viskores” and closely related uses of the framework.
arXiv search: query "Viskores VTK-m contour tree Viskores divergence visualization"
Viskores is a platform-portable parallel library used for high-performance visualization and data analysis, referred to in recent work as “formerly called VTK-m” and “previously known as vtk-m.” In the current literature, it appears primarily as an implementation substrate for two demanding classes of computation: exact volume-weighted contour tree analysis on irregular, parcel-based simulation data, and analytical uncertainty visualization of local divergence in two-dimensional vector fields. In both settings, Viskores is presented as infrastructure for multicore CPU and GPU execution, for extending analysis beyond regular grids, and for avoiding the computational penalties of resampling or Monte Carlo estimation [2508.14339], [2510.01190].

## 1. Software identity and research role

In the contour-tree literature, Viskores serves as the implementation platform for a “mesh-based, exact volume-weighted contour tree pipeline,” enabling “efficient, parallel, and large-scale topological analysis on irregular (tetrahedral) meshes” [2508.14339]. The motivating application is parcel-in-cell simulation data, where simplification requires a volumetric measure rather than persistence, and where direct treatment of irregular geometry is preferable to resampling onto a uniform grid.

In uncertainty visualization, Viskores is described as a “platform-portable, parallel library” used to accelerate closed-form probabilistic divergence analysis for two-dimensional vector fields with independent Gaussian uncertainty [2510.01190]. Here, the library functions as the parallel backend for per-grid-point analytical evaluation and subsequent probabilistic visualization.

These uses position Viskores at the intersection of visualization, topology, and uncertainty quantification rather than as a narrowly defined rendering system. This suggests a role for Viskores as a computational layer for analysis pipelines whose dominant costs arise from irregular topology, large data volume, or repeated local calculations.

## 2. Portability and parallel execution model

Viskores is described as supporting “multicore CPUs (via OpenMP), GPUs, and other accelerators” [2510.01190]. In the divergence application, the computation is characterized as “fully independent” at each grid vertex, making it “embarrassingly parallel,” and the analytical computation is mapped to a parallel “worklet” in Viskores. In the contour-tree application, the core parallel mechanism is the “hypersweep,” a prefix-sum style tree-contraction procedure inspired by rake-and-compress parallel tree contraction and generalized for arbitrary data types [2508.14339].

The two applications expose complementary aspects of the same execution model. In one case, Viskores dispatches local analytical kernels over a regular grid. In the other, it supports nontrivial graph traversal and accumulation on contour-tree structures and arbitrary mesh topologies. The common element is that both workflows reformulate expensive serial procedures—Monte Carlo sampling in one case, grid-centric topology processing in the other—into data-parallel operations.

The literature also emphasizes portability rather than hardware specialization. One study explicitly reports OpenMP execution on multicore CPUs and execution on AMD GPUs on the Frontier supercomputer, using the same analytical formulation [2510.01190]. A plausible implication is that Viskores is being used to preserve a single programming model across markedly different hardware targets.

## 3. Extensions for irregular-mesh topology

The most extensive description of Viskores concerns contour-tree computation directly on parcel-based Lagrangian data. The central problem is that, unlike on cubic meshes, volume on irregular meshes “cannot be approximated by counting regular vertices,” and resampling to a uniform grid can require very high sampling frequencies because of parcel proximity, producing a “massive increase in data size for processing” [2508.14339].

The proposed Viskores-based solution uses Delaunay tetrahedralization of parcel centroids as input. Because Delaunay tetrahedralization is “not natively present in Viskores,” the mesh is generated externally “via TetGen” and then imported. A new `Mesh` class was implemented “to encapsulate arbitrary topology graphs,” replacing grid-centric code. Code paths previously optimized for regular grids and bounded vertex degree were generalized to arbitrary degrees, with neighborhooding and traversal handled through “PRAM-efficient segmented sort operations.”

For exact geometric weighting, the method does not rely on vertex counts. Instead, it adapts area splines reported by Bajaj et al. and Zhou et al. to tetrahedral cells, computing polynomial coefficients per tetrahedron and accumulating them by segmented prefix sums and hypersweeps. Representative formulas given for a tetrahedron with vertex values \(h_A < h_B < h_C < h_D\) include
\[
\text{Area}(JKL) = r^2 \cdot \text{Area}(BEF), \qquad
r = \frac{h - h_A}{h_B - h_A},
\]
and
\[
\text{Volume}(AJKL) = r^3 \cdot \text{Volume}(ABEF).
\]
For the middle interval, the area is written as
\[
\text{Area}(PQRS)(h) = \alpha h^2 + \beta h + \gamma,
\]
and volume is obtained by integrating area with respect to \(h\) and applying Federer’s co-area formula [2508.14339].

The principal Viskores-specific adaptations are summarized below.

| Component | Modification | Rationale |
|---|---|---|
| Mesh Abstraction | New `Mesh` class for arbitrary topologies | Handle Delaunay/irregular meshes |
| Vertex Neighborhood | Segmented sort; unbounded degree | Required for parcel topology graph |
| Polynomial Coefficients | Parallel computation, aggregation | Volume/surface on irregular mesh |
| Hypersweep | Template for vector coefficients | Parallel, general property sweep |
| Visualization Workflows | Extended to arbitrary topology | Flexible isosurface support |

The resulting implementation computes contour trees directly on parcels rather than on a resampled rectilinear grid, and the same hypersweep mechanism is stated to generalize “to compute any integrable property” [2508.14339].

## 4. Analytical uncertainty visualization of divergence

A second research line uses Viskores to accelerate probabilistic visualization of local divergence in two-dimensional vector fields under an independent Gaussian uncertainty model. Each component of the vector field is modeled as
\[
U \sim \mathcal{N}(\mu_U, \sigma_U^2), \qquad
V \sim \mathcal{N}(\mu_V, \sigma_V^2),
\]
and local divergence is approximated by central differences on a uniform grid. Because linear combinations of independent Gaussian variables remain Gaussian, the local divergence at a grid point is itself modeled as
\[
\nabla \cdot \mathbf{F}_{i,j} \sim \mathcal{N}(\mu_{i,j}, \sigma_{i,j}^2).
\]
This replaces Monte Carlo estimation by a closed-form evaluation of divergence mean and variance [2510.01190].

Within Viskores, the per-grid-point analytical computation is parallelized directly. The resulting fields are then used for probabilistic isocontour visualization, specifically level-crossing probability maps. The literature contrasts these outputs with two conventional alternatives: mean-field visualization, which disregards uncertainty, and “spaghetti plots,” which visualize multiple realizations but can suffer from over-plotting and visual clutter.

The importance of the Viskores implementation is not only speed. The study reports “qualitative improvements” over traditional mean-field visualization, because the probabilistic maps identify regions where divergence sign changes or isocontour placement are uncertain. This makes Viskores part of the uncertainty-analysis pipeline rather than merely the acceleration layer beneath it [2510.01190].

## 5. Performance characteristics and comparative results

The contour-tree and divergence studies both report large gains from Viskores-based execution, though against different baselines [2508.14339], [2510.01190].

In parcel-based contour-tree analysis, “contour trees computed directly on the parcels are orders of magnitude faster than computing them on a resampled grid.” Typical setups involving “\(\sim 2M\) parcels” require “only a few GBs and seconds to minutes,” whereas resampling itself “takes tens of minutes.” Against the Topology Tool Kit, Viskores is reported to use “less memory (factor \(3-10 \times\) less per data point)” on irregular meshes and to be “\(2 \times\) faster for the largest case tested.” Memory per data point for parcel data is reported as “Viskores \(\sim 500-1000\,B\); TTK, \(4000-6000\,B\)” [2508.14339].

In divergence uncertainty visualization, the analytical serial method yields speed-up “up to 1946X” over classical serial Monte Carlo, while the parallel Viskores implementation reaches “up to 19698X” [2510.01190]. The reported examples include a wind dataset, where serial Monte Carlo at 1000 samples takes \(11.87\) s, the serial analytical method \(0.0061\) s, and parallel analytical OpenMP execution \(0.0012\) s, as well as a Red Sea dataset, where serial Monte Carlo at 500 samples takes \(315.174\) s, the serial analytical method \(0.28\) s, OpenMP execution \(0.03\) s, and AMD GPU execution \(0.016\) s.

These results are method-dependent rather than universal benchmarks for the library itself. Even so, they indicate two recurring performance patterns: Viskores benefits when the workload can be reformulated as independent local operations, and it also benefits when global topological computations can be decomposed into segmented reductions and hypersweeps.

## 6. Relation to existing tools and broader significance

The closest explicit comparison in the supplied literature is with the Topology Tool Kit. TTK is noted to support irregular meshes, but it is said to “lack the efficient hypersweep framework” and, “at scale, is outperformed by Viskores” in the contour-tree application [2508.14339]. This comparison is application-specific, but it clarifies the niche that recent work assigns to Viskores: high-performance, platform-portable implementations of algorithms that are difficult to express efficiently in grid-centric or serial-first systems.

The broader significance claimed for Viskores is that it extends analysis to “a much broader class of scientific datasets,” specifically “irregular, particle-based, Lagrangian, PIC” data, while also enabling scalable uncertainty-aware visualization on standard grid data [2508.14339], [2510.01190]. In the contour-tree work, direct analysis on parcels is said to offer “better quality segmentation, avoiding interpolation artifacts.” In the divergence work, level-crossing probability maps reveal features that mean-field visualization can miss.

At the same time, the literature identifies current boundaries. Delaunay tetrahedralization is external to Viskores in the parcel-based pipeline, and the divergence analysis assumes independently Gaussian-distributed vector uncertainty. The present record therefore portrays Viskores less as a complete end-to-end environment than as a performant analysis substrate to which domain-specific preprocessing and statistical assumptions are attached.

Taken together, these studies portray Viskores as a research software framework for exact or closed-form scientific analysis under strong performance constraints: direct contour-tree computation on irregular Lagrangian meshes, and efficient uncertainty visualization on uncertain vector fields, both executed across multicore CPU and GPU backends with a single parallel programming framework [2508.14339], [2510.01190].

Source: https://www.emergentmind.com/topics/viskores