Table of Contents
Fetching ...

Distributed Augmentation, Hypersweeps, and Branch Decomposition of Contour Trees for Scientific Exploration

Mingzhe Li, Hamish Carr, Oliver Rübel, Bei Wang, Gunther H. Weber

TL;DR

This work introduces distributed algorithms for augmentation, hypersweeps, and branch decomposition that enable parallel computation of geometric properties, and support the use of distributed contour trees as query structures for scientific exploration.

Abstract

Contour trees describe the topology of level sets in scalar fields and are widely used in topological data analysis and visualization. A main challenge of utilizing contour trees for large-scale scientific data is their computation at scale using high-performance computing. To address this challenge, recent work has introduced distributed hierarchical contour trees for distributed computation and storage of contour trees. However, effective use of these distributed structures in analysis and visualization requires subsequent computation of geometric properties and branch decomposition to support contour extraction and exploration. In this work, we introduce distributed algorithms for augmentation, hypersweeps, and branch decomposition that enable parallel computation of geometric properties, and support the use of distributed contour trees as query structures for scientific exploration. We evaluate the parallel performance of these algorithms and apply them to identify and extract important contours for scientific visualization.

Distributed Augmentation, Hypersweeps, and Branch Decomposition of Contour Trees for Scientific Exploration

TL;DR

This work introduces distributed algorithms for augmentation, hypersweeps, and branch decomposition that enable parallel computation of geometric properties, and support the use of distributed contour trees as query structures for scientific exploration.

Abstract

Contour trees describe the topology of level sets in scalar fields and are widely used in topological data analysis and visualization. A main challenge of utilizing contour trees for large-scale scientific data is their computation at scale using high-performance computing. To address this challenge, recent work has introduced distributed hierarchical contour trees for distributed computation and storage of contour trees. However, effective use of these distributed structures in analysis and visualization requires subsequent computation of geometric properties and branch decomposition to support contour extraction and exploration. In this work, we introduce distributed algorithms for augmentation, hypersweeps, and branch decomposition that enable parallel computation of geometric properties, and support the use of distributed contour trees as query structures for scientific exploration. We evaluate the parallel performance of these algorithms and apply them to identify and extract important contours for scientific visualization.
Paper Structure (21 sections, 14 figures)

This paper contains 21 sections, 14 figures.

Figures (14)

  • Figure 1: A contour tree (right) and global topological zones (left) for Vancouver. Data values on the underlying 2D simplicial mesh are shown, with supernodes shown as hollow circles, and topological zones as colored bands matching the superarcs in the contour tree. Letters indicate sort order due to the simulation of simplicity. The branch decomposition by approximated areas is shown on the right by line thickness, with $91-0a$ as the main branch, $4d-1d$ as the secondary branch, and all other superarcs forming individual branches (i.e, minor branches).
  • Figure 2: Distributed hierarchical contour trees for \ref{['fig:vancouver-unitary']}. Each block (rank) stores the subset of the global contour tree for all contours that pass through the block: the global contour tree is therefore the union of the individual trees. Prior to augmentation, subtrees restricted to a child block are not represented on other blocks. In the augmented version, attachment points for child subtrees are explicitly represented on all blocks sharing the superarc. The augmentation allows correct prefix scans but increases communication cost and memory footprints. Note that superarcs are assumed to be oriented towards the root $1d$, and are labelled by their source supernode.
  • Figure 3: Swap sequence for augmentation. Ranks swap their list of attachments with their partners until all ranks have the full list of attachment points to insert along each shared superarc on the rank.
  • Figure 4: Distributed hypersweep for subtree node count. Each block uses prefix sums to count regular nodes in each zone, omitting nodes shared with blocks with higher block ID (white lettering in \ref{['fig:vancouver-blockwise']}). Each block then performs a hypersweep to compute the contribution to the subtree size. Blocks then sum region sizes in the same fan-in used for the trees.
  • Figure 5: An example for contour extraction. Critical points are labeled with lower case letters, and contours with upper case letters.
  • ...and 9 more figures