High-performance quadtree constructions on large-scale geospatial rasters using GPGPU parallel primitives
The increasingly available graphics processing units (GPU) hardware and the emerging general purpose computing on GPU (GPGPU) technologies provide an attractive solution to high-performance geospatial computing. In this study, we have proposed a parallel, primitive-based approach to quadtree construction by transforming a multidimensional geospatial computing problem into chaining a set of generic parallel primitives that are designed for one-dimensional (1D) arrays. The proposed approach is largely data-independent and can be efficiently implemented on GPGPUs. Experiments on 4096*4096 and 16384*16384 raster tiles have shown that the implementation can complete the quadtree constructions in 13.33 ms and 250.75 ms, respectively, on average on an NVidia GPU device. Compared with an optimized serial CPU implementation based on the traditional recursive depth-first search (DFS) tree traversal schema that requires 1191.87 ms on 4096*4096 raster tiles, a significant speedup of nearly 90X has been observed. The performance of the GPU-based implementation also suggests that an indexing rate in the order of more than one billion raster cells per second can be achieved on commodity GPU devices.
gpgpu parallel primitives spatial indexing geographic information systems high-performance computing