A Guide to Particle Advection Performance

The performance of particle advection-based flow visualization techniques is complex, since computational work can vary based on many factors, including number of particles, duration, and mesh type. Further, while many approaches have been introduced to optimize performance, the efficacy of a given approach can be similarly complex. In this work, we seek to establish a guide for particle advection performance by conducting a comprehensive survey of the area. We begin by identifying the building blocks for particle advection and establishing a simple cost model incorporating these building blocks. We then survey existing optimizations for particle advection, using two high-level categories: algorithmic optimizations and hardware efficiency. The sub-categories of algorithmic optimizations include solvers, cell locators, I/O efficiency, and precomputation, while the sub-categories of hardware efficiency all involve parallelism: shared-memory, distributed-memory, and hybrid. Finally, we conclude the survey by identifying current gaps in particle advection performance, and in particular on achieving a workflow for predicting performance under various optimizations.

[1]  Ernst Hairer,et al.  Solving Ordinary Differential Equations I: Nonstiff Problems , 2009 .

[2]  Xiaomin Zhu,et al.  Coupled Ensemble Flow Line Advection and Analysis , 2013, IEEE Transactions on Visualization and Computer Graphics.

[3]  Robert S. Laramee,et al.  The State of the Art in Flow Visualisation: Feature Extraction and Tracking , 2003, Comput. Graph. Forum.

[4]  Robert S. Laramee,et al.  The State of the Art , 2015 .

[5]  Roxana Bujack,et al.  A Survey of Seed Placement and Streamline Selection Techniques , 2020, Comput. Graph. Forum.

[6]  Robert B. Ross,et al.  A Study of Parallel Particle Tracing for Steady-State and Time-Varying Flow Fields , 2011, 2011 IEEE International Parallel & Distributed Processing Symposium.

[7]  David A. Lane,et al.  Interactive Time-Dependent Particle Tracing Using Tetrahedral Decomposition , 1996, IEEE Trans. Vis. Comput. Graph..

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

[9]  Han-Wei Shen,et al.  Graph-based seed scheduling for out-of-core FTLE and pathline computation , 2013, 2013 IEEE Symposium on Large-Scale Data Analysis and Visualization (LDAV).

[10]  Kwan-Liu Ma,et al.  Parallel hierarchical visualization of large time-varying 3D vector fields , 2007, Proceedings of the 2007 ACM/IEEE Conference on Supercomputing (SC '07).

[11]  David Pugmire,et al.  HyLiPoD: Parallel Particle Advection Via a Hybrid of Lifeline Scheduling and Parallelization-Over-Data , 2021 .

[12]  Allen D. Malony,et al.  Particle advection performance over varied architectures and workloads , 2014, 2014 21st International Conference on High Performance Computing (HiPC).

[13]  Kenneth I. Joy,et al.  Improved post hoc flow analysis via Lagrangian representations , 2014, 2014 IEEE 4th Symposium on Large Data Analysis and Visualization (LDAV).

[14]  Robert S. Laramee,et al.  The State of the Art in Flow Visualization: Dense and Texture‐Based Techniques , 2004, Comput. Graph. Forum.

[15]  Daniel Weiskopf,et al.  Hierarchical Line Integration , 2011, IEEE Transactions on Visualization and Computer Graphics.

[16]  Jian Huang,et al.  Scalable Lagrangian-Based Attribute Space Projection for Multivariate Unsteady Flow Data , 2014, 2014 IEEE Pacific Visualization Symposium.

[17]  David Pugmire,et al.  Performance-Portable Particle Advection with VTK-m , 2018, EGPGV@EuroVis.

[18]  Rainald Löhner,et al.  A vectorized particle tracer for unstructured grids , 1990 .

[19]  Sriram Krishnamoorthy,et al.  Scalable work stealing , 2009, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.

[20]  Aashish Chaudhary,et al.  The Visualization Toolkit (VTK): Rewriting the rendering code for modern graphics cards , 2015 .

[21]  Jian Huang,et al.  Advection-Based Sparse Data Management for Visualizing Unsteady Flow , 2014, IEEE Transactions on Visualization and Computer Graphics.

[22]  Michael Klemm,et al.  Packet-Oriented Streamline Tracing on Modern SIMD Architectures , 2015, EGPGV@EuroVis.

[23]  Tom Peterka,et al.  Parallel particle advection and FTLE computation for time-varying flow fields , 2012, 2012 International Conference for High Performance Computing, Networking, Storage and Analysis.

[24]  Maya Gokhale,et al.  Multi-threaded streamline tracing for data-intensive architectures , 2014, 2014 IEEE 4th Symposium on Large Data Analysis and Visualization (LDAV).

[25]  Pat Hanrahan,et al.  Brook for GPUs: stream computing on graphics hardware , 2004, ACM Trans. Graph..

[26]  D. Hilbert Über die stetige Abbildung einer Linie auf ein Flächenstück , 1935 .

[27]  Xavier Tricoche,et al.  An Efficient Point Location Method for Visualization in Large Unstructured Grids , 2003, VMV.

[28]  Philip J. Rhodes,et al.  Iteration aware prefetching for unstructured grids , 2013, 2013 IEEE International Conference on Big Data.

[29]  Xiaoru Yuan,et al.  Efficient unsteady flow visualization with high-order access dependencies , 2016, 2016 IEEE Pacific Visualization Symposium (PacificVis).

[30]  Roxana Bujack,et al.  An Interpolation Scheme for VDVP Lagrangian Basis Flows , 2019, EGPGV@EuroVis.

[31]  Valerio Pascucci,et al.  Accelerating Unstructured Mesh Point Location With RT Cores , 2020, IEEE Transactions on Visualization and Computer Graphics.

[32]  Christoph Peters,et al.  Void-and-Cluster Sampling of Large Scattered Data and Trajectories , 2019, IEEE Transactions on Visualization and Computer Graphics.

[33]  Xavier Tricoche,et al.  Analysis of Recurrent Patterns in Toroidal Magnetic Fields , 2010, IEEE Transactions on Visualization and Computer Graphics.

[34]  Ren Zhang,et al.  The Z curve database: a graphic representation of genome sequences , 2003, Bioinform..

[35]  Jian Huang,et al.  Simplified parallel domain traversal , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[36]  Min Chen,et al.  Over Two Decades of Integration‐Based, Geometric Flow Visualization , 2010, Comput. Graph. Forum.

[37]  Jens Schneider,et al.  Interactive Visual Exploration of Unsteady 3D Flows , 2007, EuroVis.

[38]  Xavier Tricoche,et al.  Matrix Trees , 2010, Comput. Graph. Forum.

[39]  Han-Wei Shen,et al.  Flow-guided file layout for out-of-core pathline computation , 2012, IEEE Symposium on Large Data Analysis and Visualization (LDAV).

[40]  David Pugmire,et al.  Parallel Particle Advection Bake-Off for Scientific Visualization Workloads , 2020, 2020 IEEE International Conference on Cluster Computing (CLUSTER).

[41]  Keenan Crane,et al.  Monte Carlo geometry processing , 2020, ACM Trans. Graph..

[42]  Holger Theisel,et al.  The State of the Art in Topology‐Based Visualization of Unsteady Flow , 2011, Comput. Graph. Forum.

[43]  David Pugmire,et al.  In situ particle advection via parallelizing over particles , 2019, ISAV@SC.

[44]  Kenneth I. Joy,et al.  Fast, Memory-Efficient Cell Location in Unstructured Grids for Visualization , 2010, IEEE Transactions on Visualization and Computer Graphics.

[45]  Hank Childs,et al.  Accelerating advection via approximate block exterior flow maps , 2017, Visualization and Data Analysis.

[46]  Torsten Kuhlen,et al.  Interactive particle tracing in time-varying tetrahedral grids , 2011, EGPGV '11.

[47]  J. Dormand,et al.  High order embedded Runge-Kutta formulae , 1981 .

[48]  R. Binyahib Scientific Visualization on Supercomputers : A Survey , 2019 .

[49]  P. Fischer,et al.  On multi-scale dispersion under the influence of surface mixed layer instabilities and deep flows , 2012 .

[50]  Kenneth I. Joy,et al.  Parallel stream surface computation for large data sets , 2012, IEEE Symposium on Large Data Analysis and Visualization (LDAV).

[51]  Xiaoru Yuan,et al.  A survey of parallel particle tracing algorithms in flow visualization , 2018, J. Vis..

[52]  Kenneth I. Joy,et al.  Streamline Integration Using MPI-Hybrid Parallelism on a Large Multicore Architecture , 2011, IEEE Transactions on Visualization and Computer Graphics.

[53]  S. Popinet Gerris: a tree-based adaptive solver for the incompressible Euler equations in complex geometries , 2003 .

[54]  P. J. Rhodes Iteration Aware Prefetching for Large Multidimensional Scientific Datasets , 2004 .

[55]  Ingo Wald,et al.  Combining Single and Packet-Ray Tracing for Arbitrary Ray Distributions on the Intel MIC Architecture , 2012, IEEE Transactions on Visualization and Computer Graphics.

[56]  Prabhat,et al.  Extreme Scaling of Production Visualization Software on Diverse Architectures , 2010, IEEE Computer Graphics and Applications.

[57]  Kwan-Liu Ma,et al.  VTK-m: Accelerating the Visualization Toolkit for Massively Threaded Architectures , 2016, IEEE Computer Graphics and Applications.

[58]  Han-Wei Shen,et al.  Load-Balanced Parallel Streamline Generation on Large Scale Vector Fields , 2011, IEEE Transactions on Visualization and Computer Graphics.

[59]  Lijie Xu,et al.  A flow-guided file layout for out-of-core streamline computation , 2011, 2012 IEEE Pacific Visualization Symposium.

[60]  Rüdiger Westermann,et al.  A particle system for interactive visualization of 3D flows , 2005, IEEE Transactions on Visualization and Computer Graphics.

[61]  John Nickolls GPU parallel computing architecture and CUDA programming model , 2007, 2007 IEEE Hot Chips 19 Symposium (HCS).

[62]  Kenneth I. Joy,et al.  GPU Acceleration of Particle Advection Workloads in a Parallel, Distributed Memory Setting , 2013, EGPGV@Eurographics.

[63]  Xiaoru Yuan,et al.  Comparative visualization of vector field ensembles based on longest common subsequence , 2016, 2016 IEEE Pacific Visualization Symposium (PacificVis).

[64]  B. R. Noack,et al.  Lagrangian Feature Extraction of the Cylinder Wake , 2010 .

[65]  Rüdiger Westermann,et al.  Importance-Driven Particle Techniques for Flow Visualization , 2008, 2008 IEEE Pacific Visualization Symposium.

[66]  Gunther H. Weber,et al.  Scalable computation of streamlines on very large datasets , 2009, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.

[67]  David Pugmire,et al.  A Lifeline-Based Approach for Work Requesting and Parallel Particle Advection , 2019, 2019 IEEE 9th Symposium on Large Data Analysis and Visualization (LDAV).

[68]  Ieee Staff 2013 IEEE Symposium on Large Scale Data Analysis and Visualization (LDAV) , 2013 .

[69]  Christoph Garth,et al.  Distributed parallel particle advection using work requesting , 2013, 2013 IEEE Symposium on Large-Scale Data Analysis and Visualization (LDAV).

[70]  Xiaoru Yuan,et al.  Dynamic Load Balancing Based on Constrained K-D Tree Decomposition for Parallel Particle Tracing , 2018, IEEE Transactions on Visualization and Computer Graphics.

[71]  Kenneth I. Joy,et al.  Evaluating the benefits of an extended memory hierarchy for parallel streamline algorithms , 2011, 2011 IEEE Symposium on Large Data Analysis and Visualization.

[72]  R Zhang,et al.  Z curves, an intutive tool for visualizing and analyzing the DNA sequences. , 1994, Journal of biomolecular structure & dynamics.

[73]  Tom Peterka,et al.  Scalable Computation of Stream Surfaces on Large Scale Vector Fields , 2014, SC14: International Conference for High Performance Computing, Networking, Storage and Analysis.

[74]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[75]  Li Chen,et al.  Optimizing Parallel Performance of Streamline Visualization for Large Distributed Flow Datasets , 2008, 2008 IEEE Pacific Visualization Symposium.

[76]  Rüdiger Westermann,et al.  Interactive Streak Surface Visualization on the GPU , 2009, IEEE Transactions on Visualization and Computer Graphics.

[77]  Robert Haimes,et al.  Integration of particle paths and streamlines in a spatially-decomposed computation , 1996 .

[78]  William Schroeder,et al.  The Visualization Toolkit: An Object-Oriented Approach to 3-D Graphics , 1997 .

[79]  Kwan-Liu Ma,et al.  Efficient Streamline, Streamribbon, and Streamtube Constructions on Unstructured Grids , 1996, IEEE Trans. Vis. Comput. Graph..

[80]  Xavier Tricoche,et al.  Surface techniques for vortex visualization , 2004, VISSYM'04.