Papers
Topics
Authors
Recent
Search
2000 character limit reached

Viskores: Parallel Visualization and Data Analysis

Updated 9 July 2026
  • Viskores is a high-performance parallel library that supports advanced visualization and data analysis across irregular meshes and uncertain data.
  • It leverages novel parallel algorithms like hypersweep and segmented sorting to perform exact volume-weighted contour tree computations efficiently.
  • The platform accelerates analytical uncertainty visualization by applying closed-form divergence computations for two-dimensional vector fields under Gaussian uncertainty.

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 (Dilys et al., 20 Aug 2025, Ouermi et al., 21 Aug 2025).

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” (Dilys et al., 20 Aug 2025). 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 (Ouermi et al., 21 Aug 2025). 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” (Ouermi et al., 21 Aug 2025). 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 (Dilys et al., 20 Aug 2025).

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 (Ouermi et al., 21 Aug 2025). 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” (Dilys et al., 20 Aug 2025).

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 hA<hB<hC<hDh_A < h_B < h_C < h_D include

Area(JKL)=r2Area(BEF),r=hhAhBhA,\text{Area}(JKL) = r^2 \cdot \text{Area}(BEF), \qquad r = \frac{h - h_A}{h_B - h_A},

and

Volume(AJKL)=r3Volume(ABEF).\text{Volume}(AJKL) = r^3 \cdot \text{Volume}(ABEF).

For the middle interval, the area is written as

Area(PQRS)(h)=αh2+βh+γ,\text{Area}(PQRS)(h) = \alpha h^2 + \beta h + \gamma,

and volume is obtained by integrating area with respect to hh and applying Federer’s co-area formula (Dilys et al., 20 Aug 2025).

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” (Dilys et al., 20 Aug 2025).

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

UN(μU,σU2),VN(μV,σV2),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

Fi,jN(μi,j,σi,j2).\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 (Ouermi et al., 21 Aug 2025).

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 (Ouermi et al., 21 Aug 2025).

5. Performance characteristics and comparative results

The contour-tree and divergence studies both report large gains from Viskores-based execution, though against different baselines (Dilys et al., 20 Aug 2025, Ouermi et al., 21 Aug 2025).

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 “2M\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 310×3-10 \times less per data point)” on irregular meshes and to be “2×2 \times faster for the largest case tested.” Memory per data point for parcel data is reported as “Viskores Area(JKL)=r2Area(BEF),r=hhAhBhA,\text{Area}(JKL) = r^2 \cdot \text{Area}(BEF), \qquad r = \frac{h - h_A}{h_B - h_A},0; TTK, Area(JKL)=r2Area(BEF),r=hhAhBhA,\text{Area}(JKL) = r^2 \cdot \text{Area}(BEF), \qquad r = \frac{h - h_A}{h_B - h_A},1” (Dilys et al., 20 Aug 2025).

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” (Ouermi et al., 21 Aug 2025). The reported examples include a wind dataset, where serial Monte Carlo at 1000 samples takes Area(JKL)=r2Area(BEF),r=hhAhBhA,\text{Area}(JKL) = r^2 \cdot \text{Area}(BEF), \qquad r = \frac{h - h_A}{h_B - h_A},2 s, the serial analytical method Area(JKL)=r2Area(BEF),r=hhAhBhA,\text{Area}(JKL) = r^2 \cdot \text{Area}(BEF), \qquad r = \frac{h - h_A}{h_B - h_A},3 s, and parallel analytical OpenMP execution Area(JKL)=r2Area(BEF),r=hhAhBhA,\text{Area}(JKL) = r^2 \cdot \text{Area}(BEF), \qquad r = \frac{h - h_A}{h_B - h_A},4 s, as well as a Red Sea dataset, where serial Monte Carlo at 500 samples takes Area(JKL)=r2Area(BEF),r=hhAhBhA,\text{Area}(JKL) = r^2 \cdot \text{Area}(BEF), \qquad r = \frac{h - h_A}{h_B - h_A},5 s, the serial analytical method Area(JKL)=r2Area(BEF),r=hhAhBhA,\text{Area}(JKL) = r^2 \cdot \text{Area}(BEF), \qquad r = \frac{h - h_A}{h_B - h_A},6 s, OpenMP execution Area(JKL)=r2Area(BEF),r=hhAhBhA,\text{Area}(JKL) = r^2 \cdot \text{Area}(BEF), \qquad r = \frac{h - h_A}{h_B - h_A},7 s, and AMD GPU execution Area(JKL)=r2Area(BEF),r=hhAhBhA,\text{Area}(JKL) = r^2 \cdot \text{Area}(BEF), \qquad r = \frac{h - h_A}{h_B - h_A},8 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 (Dilys et al., 20 Aug 2025). 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 (Dilys et al., 20 Aug 2025, Ouermi et al., 21 Aug 2025). 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 (Dilys et al., 20 Aug 2025, Ouermi et al., 21 Aug 2025).

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Viskores.