What can a GPU do for GIS?

Most contemporary work in GIS involves one or more of three major types of activity: a) database development; b) spatial analysis and map production; and c) web-based map display.  Applications of GIS analysis technology are enormously diverse:  land planning, climate change modeling, assessing the impact of sea level rise, natural hazard risk assessment, military scenario planning, cell phone tower placement, and business siting, and many more.

dt_heatmap.jpg

Currently, these applications, which involve large amounts of geographic data-processing are usually tied to desktop workstations because of the significant amount of time, memory, and processing power required to execute the operations.  Azavea’s GPU research project seeks to achieve substantial improvement in the performance of operations on raster-based image data.  The research team is optimistic about achieving processing speeds that are 10 to 20 times faster than current commercial technology and thereby enabling a whole new class of software for web and mobile devices, by leveraging the processing power of GPUs.

walkshed.jpg

Until recently GPUs have been used almost exclusively for video games and movies.  In recent years, however, scientists and researchers have begun to apply the geometric calculation capabilities of GPUs in fields ranging from fluid dynamics to medical imaging and oil exploration.  In this research, Azavea is using the OpenCL™ language, originally developed by Apple and now managed by Khronos Group, the nonprofit technology consortium.  With OpenCL, Azavea hopes to create a geographic data-processing framework that can use GPUs from multiple manufacturers.

opencl_nvidia_logos.jpg

In this National Science Foundation Phase I SBIR project, Azavea is focusing on new algorithms for several types of “Map Algebra” calculations.  Map Algebra is a widely-used conceptual framework for raster-based geospatial analysis in all of the contemporary desktop GIS tools.  It was originally developed by Dr. C. Dana Tomlin, who is also serving as a consultant on the GPU project.  In 2006, Azavea began development of DecisionTree®, a distributed geographic data processing system to accelerate one particular Map Algebraic operation.  That work proved to be quite successful and has since been applied to problems in economic development, elections, public health, and sustainability.  The GPU project is a natural outgrowth of that effort and one that builds on Azavea’s expertise in creating distributed software systems.

How would you use dramatically faster GPU-based geoprocessing?

Learn more about GPU processing in our blog series

  1. GPU Computing for GIS 
  2. What the heck is ... GPGPU?
  3. CUDA, Stream, and OpenCL
  4. GPUs and Parallel Computing Architectures
  5. GPU Memory Bandwidth and Coalescing
  6. GPU Occupancy and Idling


“This is one of the most promising efforts in which I’ve ever been involved in terms of both the fundamental algorithms being developed and their implications for real-world applications that will have a direct and profound impact on our use of geospatial data.”

Dr. C. Dana Tomlin
Professor and Co-director 
Cartographic Modeling Laboratory, University of Pennsylvania