Search arXivSearch

arXiv · 1508.05488

CudaChain: A Practical GPU-accelerated 2D Convex Hull Algorithm

Abstract

This paper presents a practical GPU-accelerated convex hull algorithm and a novel Sorting-based Preprocessing Approach (SPA) for planar point sets. The proposed algorithm 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. We first discard the interior points that locate inside a quadrilateral formed by four extreme points, and then distribute the remaining points into several (typically four) sub regions. For each subset of points, we first sort them in parallel, then perform the second round of discarding using SPA, and finally form a simple chain for the current remaining points. A simple polygon can be easily generated by directly connecting all the chains in sub regions. We at last obtain the expected convex hull of the input points by calculating the convex hull of the simple polygon. We use the library Thrust to realize the parallel sorting, reduction, and partitioning for better efficiency and simplicity. Experimental results show that our algorithm achieves 5x ~ 6x speedups over the Qhull implementation for 20M points. Thus, this algorithm is competitive in practical applications for its simplicity and satisfied efficiency.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Gang Mei. 2015-08-22. CudaChain: A Practical GPU-accelerated 2D Convex Hull Algorithm. https://doi.org/10.1186/s40064-016-2284-4

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

Exact and Approximate Range Queries in Ball Mapper

Ball Mapper summarizes a finite metric dataset by covering the sample with closed balls centered at selected landmarks and connecting landmarks whose balls share observations. Its construction therefore depends critically on repeated fixed radius range queries, yet the effect of replacing exact queries by approximate search has not been systematically characterized. We formulate Ball Mapper through an abstract range query procedure that separates the mathematical construction from the search backend used to realize it. Under fixed ordering, exact procedures preserve the landmark sequence, cover, graph, and membership-based colorings. For approximate procedures, we derive deterministic bounds on covering radius and landmark separation under additive and multiplicative query errors, prove inclusions for the induced nerve, characterize edge survival through witness redundancy for conservative approximations, and bound perturbations of mean vertex colorings. The accompanying implementation provides independent exact reference backends together with exhaustive and approximate search methods under a common closed ball convention. Experiments on Gaussian, mixture, and noisy curve data across three seeds show that approximation fidelity depends strongly on geometry and that edges supported by multiple witnesses are substantially more robust to missed memberships. At 20,000 observations, the approximate indexes did not outperform exhaustive FAISS Flat search. The results therefore establish a framework for controlled approximation rather than a universal speed advantage, and identify the geometric and combinatorial quantities that govern when approximate range search preserves the Ball Mapper summary.

cs.CG

Tight Fréchet bounds for $λ$-low density curves

The Fréchet distance is a well-studied similarity measure between curves. We computing the Fréchet distance between $λ$-low-density curves, the most general of realistic curve assumptions, where every ball of radius $r$ intersects at most $λ$ edges of length at least $r$. Previous algorithms either assumed constant $λ$ or had no tight dependence on $λ$. For two $n$-vertex $λ$-low-density curves in $\mathbb{R}^d$, we give a $(1+\varepsilon)$-approximation algorithm for the continuous and discrete Fréchet distance running in $ \tilde{O}\!\left(\frac{λ^{2/d}n^{2-2/d}}{\varepsilon^2}\right) $ time. Our key insight is a tight property of simplifying $λ$-low density curves: the simplification of any $n$-vertex $λ$-low-density curve is $O(λ^{1/d}n^{1-1/d})$-low-density. We show this is tight, and this provides the structural property under simplification that was previously known for $c$-packed curves. We provide matching lower bounds for $n$ and $λ$: assuming the Orthogonal Vectors Hypothesis, for every $δ>0$, we rule out algorithms with running time $O\!\left( \left( \frac{λ^{2/d}n^{2-2/d}} {\varepsilon^{2-4/d}} \right)^{1-δ} \right). $ We extend our techniques to the map matching problem, where we also give tight bounds.

cs.CG

Witness Set in Weak Visibility Polygons is Polynomial-Time Solvable

In the classical Art Gallery Problem (AGP), guards are placed in a polygon so that together they see every point. The Witness Set Problem (WSP), introduced by Amit, Mitchell, and Packer, is a natural dual to the AGP. In this paper, we study the WSP in weak visibility polygons (WVPs), the simple polygons in which every point is seen from some point of one fixed edge. A witness set is a set of points whose visibility regions are pairwise disjoint, so that no single guard sees two of them. A maximum witness set, therefore, lower-bounds the guard number. Exact polynomial-time algorithms for the WSP are known only for monotone mountains, a proper subclass of WVPs. We give the first exact polynomial-time algorithms for the WSP in WVPs, in two settings. In the Discrete Witness Set Problem (DiscWSP), the witnesses come from a given set of $m$ points, and we find a maximum witness subset in $O(n + m \log(n+m))$ time on an $n$-vertex polygon. The algorithm rests on a structural fact: the visibility intersection graph of a WVP, in which two points are adjacent if their visibility regions intersect, is a trapezoid graph, that is, an intersection graph of trapezoids between two parallel lines. Moreover, the class of these graphs properly contains the interval graphs and the permutation graphs, which may be of independent interest in graph theory. We also prove an $Ω(n \log n)$ lower bound in the algebraic decision-tree model for instances with $m = Θ(n)$, so our algorithm for DiscWSP is optimum. In the Continuous Witness Set Problem (ContWSP), a witness may be any point of the polygon, and we give an exact algorithm running in $O(n \log n + ρ^{2}(n + ρ^{2}))$ time, where $ρ$ is the number of reflex vertices.

cs.CG