Visualizing 3D/4D environmental data using many-core graphics processing units (GPUs) and multi-core central processing units (CPUs)

Visualizing 3D/4D environmental data is critical to understanding and predicting environmental phenomena for relevant decision making. This research explores how to best utilize graphics process units (GPUs) and central processing units (CPUs) collaboratively to speed up a generic geovisualization process. Taking the visualization of dust storms as an example, we developed a systematic 3D/4D geovisualization framework including preprocessing, coordinate transformation interpolation, and rendering. To compare the potential speedup of using GPUs versus that of using CPUs, we have implemented visualization components based on both multi-core CPUs and many-core GPUs. We found that (1) multi-core CPUs and many-core GPUs can improve the efficiency of mathematical calculations and rendering using multithreading techniques; (2) given the same amount of data, when increasing the size of blocks of GPUs for coordinate transformation, the executing time of interpolation and rendering drops consistently after reaching a peak; (3) the best performances obtained by GPU-based implementations in all the three major processes, are usually faster than CPU-based implementations whereas the best performance of rendering with GPUs is very close to that with CPUs; and (4) as the GPU on-board memory limits the capabilities of processing large volume data, preprocessing data with CPUs is necessary when visualizing large volume data which exceed the on-board memory of GPUs. However, the efficiency may be significantly hampered by the relative high-latency of the data exchange between CPUs and GPUs. Therefore, visualization of median size 3D/4D environmental data using GPUs is a better solution than that of using CPUs.

[1]  Antonio J. Rueda Ruiz,et al.  Parallel drainage network computation on CUDA , 2010, Comput. Geosci..

[2]  Frank Zeilfelder,et al.  Hardware‐Accelerated, High‐Quality Rendering Based on Trivariate Splines Approximating Volume Data , 2008, Comput. Graph. Forum.

[3]  Charles R. Dyer,et al.  Interactive visualization of Earth and space science computations , 1994, Computer.

[4]  Satoshi Matsuoka,et al.  An efficient, model-based CPU-GPU heterogeneous FFT library , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[5]  Declan Butler,et al.  Virtual globes: The web-wide world , 2006, Nature.

[6]  Mark Gahegan,et al.  Geospatial Cyberinfrastructure: Past, present and future , 2010, Comput. Environ. Urban Syst..

[7]  Yoshiki Mizukami,et al.  Optical Flow Computation on Compute Unified Device Architecture , 2007, 14th International Conference on Image Analysis and Processing (ICIAP 2007).

[8]  Toshio Endo,et al.  Bandwidth intensive 3-D FFT kernel for GPUs using CUDA , 2008, HiPC 2008.

[9]  Marc Levoy,et al.  Parallel visualization algorithms: performance and architectural implications , 1994, Computer.

[10]  J. Hornegger,et al.  Fast GPU-Based CT Reconstruction using the Common Unified Device Architecture (CUDA) , 2007, 2007 IEEE Nuclear Science Symposium Conference Record.

[11]  Bin Zhou,et al.  High-performance computing for the simulation of dust storms , 2010, Comput. Environ. Urban Syst..

[12]  Manolis Papadrakakis,et al.  A new era in scientific computing: Domain decomposition methods in hybrid CPU-GPU architectures , 2011 .

[13]  Klaus Schulten,et al.  Accelerating Molecular Modeling Applications with GPU Computing , 2009 .

[14]  Weiguo Liu,et al.  Accelerating molecular dynamics simulations using Graphics Processing Units with CUDA , 2008, Comput. Phys. Commun..

[15]  Chaowei Phil Yang,et al.  Visualizing dynamic geosciences phenomena using an octree-based view-dependent LOD strategy within virtual globes , 2011, Comput. Geosci..

[16]  Jonas Tölke,et al.  Implementation of a Lattice Boltzmann kernel using the Compute Unified Device Architecture developed by nVIDIA , 2009, Comput. Vis. Sci..

[17]  Jens H. Krüger,et al.  Large data visualization on distributed memory multi-GPU clusters , 2010, HPG '10.

[18]  Kwan-Liu Ma,et al.  Multi-GPU volume rendering using MapReduce , 2010, HPDC '10.

[19]  Kwan-Liu Ma,et al.  High Performance Visualization of Time-Varying Volume Data over a Wide-Area Network , 2000, ACM/IEEE SC 2000 Conference (SC'00).

[20]  Pat Hanrahan,et al.  Volume Rendering , 2020, Definitions.

[21]  GuptaAnoop,et al.  Parallel Visualization Algorithms , 1994 .

[22]  E. Wes Bethel,et al.  Hybrid Parallelism for Volume Rendering on Large-, Multi-, and Many-Core Systems , 2012, IEEE Transactions on Visualization and Computer Graphics.

[23]  Gordon Clapworthy,et al.  Octree Rasterization: Accelerating High-Quality Out-of-Core GPU Volume Rendering , 2013, IEEE Transactions on Visualization and Computer Graphics.

[24]  Daniel Weiskopf,et al.  Sort-First Parallel Volume Rendering , 2011, IEEE Transactions on Visualization and Computer Graphics.

[25]  Kwan-Liu Ma,et al.  A study of I/O methods for parallel visualization of large-scale data , 2005, Parallel Comput..

[26]  Wen-mei W. Hwu,et al.  Compute Unified Device Architecture Application Suitability , 2009, Computing in Science & Engineering.

[27]  Chenhan D. Yu,et al.  A CPU-GPU hybrid approach for the unsymmetric multifrontal method , 2011, Parallel Comput..

[28]  Paul Gray,et al.  LiDAR data reduction using vertex decimation and processing with GPGPU and multicore CPU technology , 2012, Comput. Geosci..

[29]  Qunying Huang,et al.  A Web-Based Geovisual Analytical System for Climate Studies , 2012, Future Internet.

[30]  Paul Gray,et al.  GPU-based cloud performance for LiDAR data processing , 2011, COM.Geo.

[31]  Qunying Huang,et al.  Using spatial principles to optimize distributed computing for enabling the physical science discoveries , 2011, Proceedings of the National Academy of Sciences.

[32]  Peter Bailey,et al.  Accelerating geoscience and engineering system simulations on graphics hardware , 2009, Comput. Geosci..

[33]  Erik Lindholm,et al.  NVIDIA Tesla: A Unified Graphics and Computing Architecture , 2008, IEEE Micro.