Robust and efficient polygon overlay on parallel stream processors

  • Authors:
  • Samuel Audet;Cecilia Albertsson;Masana Murase;Akihiro Asahara

  • Affiliations:
  • Fixstars Corporation, Shinagawa-ku, Tokyo, Japan;Fixstars Corporation, Shinagawa-ku, Tokyo, Japan;Fixstars Corporation, Shinagawa-ku, Tokyo, Japan;Fixstars Solutions, Sunnyvale, California

  • Venue:
  • Proceedings of the 21st ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

The plane sweep algorithm, although widely used in computational geometry, does not parallelize efficiently, rendering it incapable of benefiting from recent trends of multi-core CPUs and general-purpose GPUs. Instead of the plane sweep, some researchers have proposed the uniform grid as a foundation for parallel algorithms of computational geometry, but long-standing robustness and performance issues have deterred its wider adoption, at least in the case of overlay analysis. To remedy that, we have developed previously missing methods to perform snap rounding and compute efficiently the winding number of overlay faces on the uniform grid, and we have implemented them as part of an extensible geometry engine to perform polygon overlay with OpenMP on CPUs and CUDA on GPUs. The overall algorithm works on any polygon configuration, either degenerate, overlapping, self-overlapping, disjoint, or with holes. On typical data, it features time and space complexities of O(N + K) where N is the number of edges and K the number of intersections. Its single-threaded performance not only rivals the plane sweep, it achieves a parallel efficiency of 0.9 on our quad-core CPU, with an additional speedup of over 4 on our GPU, a result that should extrapolate to distributed computing and other geometric operations.