Parallel peak pruning for scalable SMP contour tree computation

As data sets grow to exascale, automated data analysis and visualisation are increasingly important, to intermediate human understanding and to reduce demands on disk storage via in situ analysis. Trends in architecture of high performance computing systems necessitate analysis algorithms to make effective use of combinations of massively multicore and distributed systems. One of the principal analytic tools is the contour tree, which analyses relationships between contours to identify features of more than local importance. Unfortunately, the predominant algorithms for computing the contour tree are explicitly serial, and founded on serial metaphors, which has limited the scalability of this form of analysis. While there is some work on distributed contour tree computation, and separately on hybrid GPU-CPU computation, there is no efficient algorithm with strong formal guarantees on performance allied with fast practical performance. We report the first shared SMP algorithm for fully parallel contour tree computation, withfor-mal guarantees of O(lgnlgt) parallel steps and O(n lgn) work, and implementations with up to 10x parallel speed up in OpenMP and up to 50x speed up in NVIDIA Thrust.

[1]  Günter Rote,et al.  Simple and optimal output-sensitive construction of contour trees using monotone paths , 2005, Comput. Geom..

[2]  Taku Komura,et al.  Topology matching for fully automatic similarity estimation of 3D shapes , 2001, SIGGRAPH.

[3]  James P. Ahrens,et al.  Portable data-parallel visualization and analysis in distributed memory environments , 2013, 2013 IEEE Symposium on Large-Scale Data Analysis and Visualization (LDAV).

[4]  Joseph JáJá,et al.  An Introduction to Parallel Algorithms , 1992 .

[5]  Valerio Pascucci,et al.  In-Situ Feature Extraction of Large Scale Combustion Simulations Using Segmented Merge Trees , 2014, SC14: International Conference for High Performance Computing, Networking, Storage and Analysis.

[6]  Tosiyasu L. Kunii,et al.  Algorithms for Extracting Correct Critical Points and Constructing Topological Graphs from Discrete Geographical Elevation Data , 1995, Comput. Graph. Forum.

[7]  Robert E. Tarjan,et al.  Efficiency of a Good But Not Linear Set Union Algorithm , 1972, JACM.

[8]  Jack Snoeyink,et al.  Computing contour trees in all dimensions , 2000, SODA '00.

[9]  Valerio Pascucci,et al.  Contour trees and small seed sets for isosurface traversal , 1997, SCG '97.

[10]  Hal Finkel,et al.  THE Q CONTINUUM SIMULATION: HARNESSING THE POWER OF GPU ACCELERATED SUPERCOMPUTERS , 2014, 1411.3396.

[11]  S. Rana,et al.  Topological data structures for surfaces: an introduction to geographical information science. , 2006 .

[12]  David J. Duke,et al.  Joint Contour Nets , 2014, IEEE Transactions on Visualization and Computer Graphics.

[13]  James P. Ahrens,et al.  PISTON: A Portable Cross-Platform Framework for Data-Parallel Visualization Operators , 2012, EGPGV@Eurographics.

[14]  Gunther H. Weber,et al.  Distributed merge trees , 2013, PPoPP '13.

[15]  Gunther H. Weber,et al.  Distributed Contour Trees , 2014, Topological Methods in Data Analysis and Visualization.

[16]  Valerio Pascucci,et al.  The TOPORRERY: computation and presentation of multi-resolution topology , 2009, Mathematical Foundations of Scientific Visualization, Computer Graphics, and Massive Data Exploration.

[17]  Guy E. Blelloch,et al.  Vector Models for Data-Parallel Computing , 1990 .

[18]  Valerio Pascucci,et al.  Parallel Computation of the Topology of Level Sets , 2003, Algorithmica.

[19]  James P. Ahrens,et al.  Hybrid Data-Parallel Contour Tree Computation , 2016, CGVC.

[20]  T. Banchoff CRITICAL POINTS AND CURVATURE FOR EMBEDDED POLYHEDRA , 1967 .

[21]  Valerio Pascucci,et al.  Interactive exploration of large-scale time-varying data using dynamic tracking graphs , 2012, IEEE Symposium on Large Data Analysis and Visualization (LDAV).

[22]  Jack Snoeyink,et al.  Representing Interpolant Topology for Contour Tree Computation , 2009, Topology-Based Methods in Visualization II.

[23]  Herbert Edelsbrunner,et al.  Reeb spaces of piecewise linear mappings , 2008, SCG '08.

[24]  Jack Snoeyink,et al.  Flexible isosurfaces: Simplifying and displaying scalar topology using the contour tree , 2010, Comput. Geom..

[25]  Vijay Natarajan,et al.  A parallel and memory efficient algorithm for constructing the contour tree , 2015, 2015 IEEE Pacific Visualization Symposium (PacificVis).

[26]  James P. Ahrens,et al.  Utilizing many-core accelerators for halo and center finding within a cosmology simulation , 2015, 2015 IEEE 5th Symposium on Large Data Analysis and Visualization (LDAV).

[27]  Vijay Natarajan,et al.  A hybrid parallel algorithm for computing and tracking level set topology , 2012, 2012 19th International Conference on High Performance Computing.