1
Indexing Large-Scale Raster Geospatial Data Using Massively Parallel GPGPU Computing Jianting Zhang 1 , Simin You 2 and Le Gruenwald 3 1 City College of New York 2 CUNY Graduate Center 3 University of Oklahoma Advances in geospatial technologies have generated large amounts of raster geospatial data. Massively parallel General Purpose Graphics Processing Unit (GPGPU) computing technologies have provided personal computers with tremendous computing capabilities. In this paper, we report our work on fast indexing of large-scale raster geospatial data using GPGPU computing. We have designed a cache conscious quadtree data structure (CCQ-Tree) that is suitable for GPU indexing. A set of algorithms have been developed and integrated to construct CCQ-Trees on GPUs by utilizing multiple pyramid data structures and Z-order based prefix sum. Experiments on multiple 4096*4096 blocks of a global precipitation raster data have shown that CCQ-Tree indexing using a 112-core Nvidia Quadro FX3700 GPU device reduces construction times from around 9.83 seconds to 0.42 seconds (23X speedup). Motivation Overview rge-Scale Raster Geospatial Data: From simple visualization to query enabling GPGPU-based Massively Parallel Computing Architecture MP1 MP2 MPn Shared Memory Device Memory 32 Cores per SM GPU Accelerator #of data items (raster cells) =nBlk*nTid*(items/per thread) Proposed Solution Data Structure: Cache Concisions Quadtree (CCQ-Tree) (1) Extending Cache Sensitive B+-Tree on CPUs for GPUs (2) Using an array representation (3) Siblings are at the same level CCQ Tree Construction Algorithms Pyramid A: min/max values Pyramid B: numbers of children Pyramid C: first-child positions (prefix-sum of B) Pyramid D: indicators of whether a node has children position at the output array after prefix-sum Array E: Array representation of a CCQ Tree Step1: Parallel building data pyramid (A) Step2: Parallel computing on the first-child node positions (BC; D- >D) Step 3: Parallel generating CCQ-Tree (A+B+C+DE) Future Work GPU : Nvidia Quadro FX3700 Card •112 core (500M HZ) •512M Device Memory Results: •compared to a single 2G HZ Intel E5405 CPU core •23X speedup (nearly linear: 23*(2.0/0.5)/112=0.82) 0.00 2.00 4.00 6.00 8.00 10.00 12.00 0 10 20 30 40 50 60 Im age Tile # Index C onstruction Tim e (s) CP U-P ointer G P U-C CQ Data : WorldClim January Global 30 arc- second (~1 km resolution) precipitation data; 43200*21600 cells divided into 55 4096*4096 raster tiles Experiments 1) Extending the data structure and construction algorithms to time-series raster data. 2) Fine-tuning CUDA code and utilize new Fermi-based GPU hardware features. 3) Adding query/visualization interfaces and SSDBM’10 COM.Geo’1 0

Indexing Large-Scale Raster Geospatial Data Using Massively Parallel GPGPU Computing

  • Upload
    adila

  • View
    47

  • Download
    1

Embed Size (px)

DESCRIPTION

Indexing Large-Scale Raster Geospatial Data Using Massively Parallel GPGPU Computing Jianting Zhang 1 , Simin You 2 and Le Gruenwald 3 1 City College of New York 2 CUNY Graduate Center 3 University of Oklahoma. Overview. - PowerPoint PPT Presentation

Citation preview

Page 1: Indexing Large-Scale Raster Geospatial Data Using Massively Parallel GPGPU Computing

Indexing Large-Scale Raster Geospatial Data Using Massively Parallel GPGPU ComputingJianting Zhang1, Simin You2 and Le Gruenwald3

1 City College of New York 2 CUNY Graduate Center 3 University of Oklahoma

Advances in geospatial technologies have generated large amounts of raster geospatial data. Massively parallel General Purpose Graphics Processing Unit (GPGPU) computing technologies have provided personal computers with tremendous computing capabilities. In this paper, we report our work on fast indexing of large-scale raster geospatial data using GPGPU computing. We have designed a cache conscious quadtree data structure (CCQ-Tree) that is suitable for GPU indexing. A set of algorithms have been developed and integrated to construct CCQ-Trees on GPUs by utilizing multiple pyramid data structures and Z-order based prefix sum. Experiments on multiple 4096*4096 blocks of a global precipitation raster data have shown that CCQ-Tree indexing using a 112-core Nvidia Quadro FX3700 GPU device reduces construction times from around 9.83 seconds to 0.42 seconds (23X speedup).

Motivation

Overview

Indexing Large-Scale Raster Geospatial Data: From simple visualization to query enabling

GPGPU-based Massively Parallel Computing Architecture

MP1 MP2 … MPnShared Memory

Device Memory

32 Cores per SM

GPU Accelerator#of data items (raster cells)=nBlk*nTid*(items/per thread)

Proposed Solution

Data Structure: Cache Concisions Quadtree (CCQ-Tree) (1) Extending Cache Sensitive B+-Tree on CPUs for GPUs(2) Using an array representation (3) Siblings are at the same level

CCQ Tree Construction Algorithms

Pyramid A: min/max valuesPyramid B: numbers of childrenPyramid C: first-child positions (prefix-sum of B)Pyramid D: indicators of whether a node has children position at the output array after prefix-sum Array E: Array representation of a CCQ Tree

Step1: Parallel building data pyramid (A)Step2: Parallel computing on the first-child node positions (BC; D->D)Step 3: Parallel generating CCQ-Tree (A+B+C+DE)

Future Work

GPU: Nvidia Quadro FX3700 Card•112 core (500M HZ) •512M Device Memory

Results: •compared to a single 2G HZ Intel E5405 CPU core•23X speedup (nearly linear: 23*(2.0/0.5)/112=0.82)

0.00

2.00

4.00

6.00

8.00

10.00

12.00

0 10 20 30 40 50 60

Image Tile #

Ind

ex C

on

stru

ctio

n T

ime

(s)

CPU-Pointer

GPU-CCQ

Data: WorldClim January Global 30 arc-second (~1 km resolution) precipitation data; 43200*21600 cells divided into 55 4096*4096 raster tiles

Experiments

1) Extending the data structure and construction algorithms to time-series raster data. 2) Fine-tuning CUDA code and utilize new Fermi-based GPU hardware features. 3) Adding query/visualization interfaces and develop a prototype system.

SSDBM’10

COM.Geo’10