Flying edges: A high-performance scalable isocontouring algorithm

Isocontouring remains one of the most widely used visualization techniques. While a plethora of important contouring algorithms have been developed over the last few decades, many were created prior to the advent of ubiquitous parallel computing systems. With the emergence of large data and parallel architectures, a rethinking of isocontouring and other visualization algorithms is necessary to take full advantage of modern computing hardware. To this end we have developed a high-performance isocontouring algorithm for structured data that is designed to be inherently scalable. Processing is performed completely independently along edges over multiple passes. This novel algorithm also employs computational trimming based on geometric reasoning to eliminate unnecessary computation, and removes the parallel bottleneck due to coincident point merging. As a result the algorithm performs well in serial or parallel execution, and supports heterogeneous parallel computation combining data parallel and shared memory approaches. Further it is capable of processing data too large to fit entirely inside GPU memory, does not suffer additional costs due to preprocessing and search structures, and is the fastest non-preprocessed isocontouring algorithm of which we are aware on shared memory, multi-core systems. The software is currently available under a permissive, open source licence in the VTK visualization system.

[1]  Han-Wei Shen,et al.  A Near Optimal Isosurface Extraction Algorithm Using the Span Space , 1996, IEEE Trans. Vis. Comput. Graph..

[2]  Andrew H. Gee,et al.  Regularised marching tetrahedra: improved iso-surface extraction , 1999, Comput. Graph..

[3]  Kelly P. Gaither,et al.  Configurable data prefetching scheme for interactive visualization of large-scale volume data , 2012, Visualization and Data Analysis.

[4]  Rajeev Thakur,et al.  Poster: Memory-Conscious Collective I/O for Extreme-Scale HPC Systems , 2012, SC Companion.

[5]  Luciana Porcher Nedel,et al.  Edge Groups: An Approach to Understanding the Mesh Quality of Marching Methods , 2008, IEEE Transactions on Visualization and Computer Graphics.

[6]  James P. Ahrens,et al.  An Image-Based Approach to Extreme Scale in Situ Visualization and Analysis , 2014, SC14: International Conference for High Performance Computing, Networking, Storage and Analysis.

[7]  Guy E. Blelloch,et al.  Prefix sums and their applications , 1990 .

[8]  Valerio Pascucci,et al.  Parallel accelerated isocontouring for out-of-core visualization , 2009 .

[9]  Andrea Clematis,et al.  Parallel isosurface extraction for 3D data analysis workflows in distributed environments , 2011, Concurr. Comput. Pract. Exp..

[10]  Michael M. Kazhdan,et al.  Unconstrained isosurface extraction on arbitrary octrees , 2007, Symposium on Geometry Processing.

[11]  Robert Hovden,et al.  Controlled synthesis of uniform cobalt phosphide hyperbranched nanocrystals using tri-n-octylphosphine oxide as a phosphorus source. , 2011, Nano letters.

[12]  William E. Lorensen,et al.  Marching cubes: A high resolution 3D surface construction algorithm , 1987, SIGGRAPH.

[13]  Xiaoyu Zhang,et al.  Scalable isosurface visualization of massive datasets on COTS clusters , 2001, Proceedings IEEE 2001 Symposium on Parallel and Large-Data Visualization and Graphics (Cat. No.01EX520).

[14]  João Luiz Dihl Comba,et al.  Efficient and Quality Contouring Algorithms on the GPU , 2010, Comput. Graph. Forum.

[15]  John Shalf,et al.  Exascale Computing Technology Challenges , 2010, VECPAR.

[16]  Patrick S. McCormick,et al.  Load-Balanced Isosurfacing on Multi-GPU Clusters , 2010, EGPGV@Eurographics.

[17]  William J. Schroeder,et al.  Interactive out-of-core isosurface extraction , 1998 .

[18]  Hans-Peter Seidel,et al.  High‐speed Marching Cubes using HistoPyramids , 2008, Comput. Graph. Forum.

[19]  Michal Kierzynka,et al.  Efficient Isosurface Extraction Using Marching Tetrahedra and Histogram Pyramids on Multiple GPUs , 2011, PPAM.

[20]  James Paul Ahrens Implications of Numerical and Data Intensive Technology Trends on Scientific Visualization , 2014 .

[21]  Mikko H. Lipasti,et al.  Modern Processor Design: Fundamentals of Superscalar Processors , 2002 .

[22]  Joseph JáJá,et al.  An efficient and scalable parallel algorithm for out-of-core isosurface extraction and rendering , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[23]  J. Wilhelms,et al.  Octrees for faster isosurface generation , 1992, TOGS.

[24]  Wu-chun Feng,et al.  A Power-Aware Run-Time System for High-Performance Computing , 2005, ACM/IEEE SC 2005 Conference (SC'05).

[25]  Paolo Cignoni,et al.  Speeding Up Isosurface Extraction Using Interval Trees , 1997, IEEE Trans. Vis. Comput. Graph..

[26]  Xiaoyu Zhang,et al.  Scalable isosurface visualization of massive datasets on commodity off-the-shelf clusters , 2009, J. Parallel Distributed Comput..