title: CudaChain: an alternative algorithm for finding 2D convex hulls on the GPU.
abstract: This paper presents an alternative GPU-accelerated convex hull algorithm and a novel S orting-based P reprocessing A pproach (SPA) for planar point sets. The proposed convex hull algorithm termed as CudaChain consists of two stages: (1) two rounds of preprocessing performed on the GPU and (2) the finalization of calculating the expected convex hull on the CPU. Those interior points locating inside a quadrilateral formed by four extreme points are first discarded, and then the remaining points are distributed into several (typically four) sub regions. For each subset of points, they are first sorted in parallel; then the second round of discarding is performed using SPA; and finally a simple chain is formed for the current remaining points. A simple polygon can be easily generated by directly connecting all the chains in sub regions. The expected convex hull of the input points can be finally obtained by calculating the convex hull of the simple polygon. The library Thrust is utilized to realize the parallel sorting, reduction, and partitioning for better efficiency and simplicity. Experimental results show that: (1) SPA can very effectively detect and discard the interior points; and (2) CudaChain achieves 5×-6× speedups over the famous Qhull implementation for 20M points.
authors.affiliation: School of Engineering and Technology, China University of Geosciences, No. 29 Xueyuan Road, Beijing, 100083 China ; Institute of Earth and Environmental Science, University of Freiburg, Albertstr. 23B, 79104 Freiburg im Breisgau, Germany.
authors.forename: Gang
authors.identifier: 0000-0003-0026-5423
authors.initials: G
authors.lastname: Mei