A Versatile and Efficient GPU Data Structure for Spatial Indexing

In this paper we present a novel GPU-based data structure for spatial indexing. Based on Fenwick trees-a special type of binary indexed trees-our data structure allows construction in linear time. Updates and prefixes can be computed in logarithmic time, whereas point queries require only constant time on average. Unlike competing data structures such as summed-area tables and spatial hashing, our data structure requires a constant amount of bits for each data element, and it offers unconstrained point queries. This property makes our data structure ideally suited for applications requiring unconstrained indexing of large data, such as block-storage of large and block-sparse volumes. Finally, we provide asymptotic bounds on both run-time and memory requirements, and we show applications for which our new data structure is useful.

[1]  Guy E. Blelloch,et al.  Scans as Primitive Parallel Operations , 1989, ICPP.

[2]  David Benson,et al.  Octree textures , 2002, SIGGRAPH.

[3]  Sylvain Lefebvre,et al.  Perfect spatial hashing , 2006, SIGGRAPH 2006.

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

[5]  I. Daubechies,et al.  Factoring wavelet transforms into lifting steps , 1998 .

[6]  Hans-Peter Seidel,et al.  On-the-fly Point Clouds through Histogram Pyramids , 2006 .

[7]  Peter M. Fenwick,et al.  A new data structure for cumulative frequency tables , 1994, Softw. Pract. Exp..

[8]  John D. Owens,et al.  A Work-Efficient Step-Efficient Prefix Sum Algorithm , 2006 .

[9]  Markus Hadwiger,et al.  JiTTree: A Just-in-Time Compiled Sparse GPU Volume Data Structure , 2016, IEEE Transactions on Visualization and Computer Graphics.

[10]  Mark J. Harris,et al.  Parallel Prefix Sum (Scan) with CUDA , 2011 .

[11]  Martin Kraus,et al.  Adaptive texture maps , 2002, HWWS '02.

[12]  Sylvain Lefebvre,et al.  GigaVoxels: ray-guided streaming for efficient and detailed voxel rendering , 2009, I3D '09.

[13]  Anselmo Lastra,et al.  Fast Summed‐Area Table Generation and its Applications , 2005, Comput. Graph. Forum.

[14]  Franklin C. Crow,et al.  Summed-area tables for texture mapping , 1984, SIGGRAPH.

[15]  Wim Sweldens,et al.  The lifting scheme: a construction of second generation wavelets , 1998 .

[16]  Sylvain Lefebvre,et al.  Octree Textures on the GPU , 2005 .

[17]  Sylvain Lefebvre,et al.  Coherent parallel hashing , 2011, ACM Trans. Graph..

[18]  Pushkar Mishra,et al.  A New Algorithm for Updating and Querying Sub-arrays of Multidimensional Arrays , 2013, 1311.6093.

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