arXiv ScienceSearch

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

The Stretch Factor of Planar Delaunay Triangulations Is Less Than 1.65

Delaunay triangulations are a fundamental class of plane spanners, and determining their worst-case stretch factor has been a longstanding problem in computational geometry. We prove an upper bound of \(1.65\), improving the bound of \(1.998\) due to Xia (2011) and reducing the gap to the known lower bound of \(1.5932\) by a factor of more than seven. Our proof works with the chains of circumdisks introduced by Xia, along which a path between two sites is assembled disk by disk. Xia measures such a path against a quantity attached to the whole chain, and because that quantity is not additive, his induction has to be carried alongside a separate global estimate. Our main idea is to measure the path against the progress it makes along the segment joining the two sites. This quantity is additive, so the bound becomes a Bellman recursion that forgets all but one number about the disks already passed, and we show that the bound holds if and only if a potential on the current state satisfies three local inequalities. The smallest feasible potential is the value function of that recursion, so searching for a potential becomes the problem of fitting this value function from above. The geometry of the disks reduces the fit to a linear program over functions of one variable, in which a GPT-based multi-agent system that we developed found a feasible point, certified in exact arithmetic.

cs.CG

Fast Persistent Homology Computation for Functions on $\mathbb{R}$

0-dimensional persistent homology is known, from a computational point of view, as the easy case. Indeed, given a list of $n$ edges in non-decreasing order of filtration value, one only needs a union-find data structure to keep track of the connected components and we get the persistence diagram in time $O(nα(n))$. The running time is thus usually dominated by sorting the edges in $Θ(n\log(n))$. A little-known fact is that, in the particularly simple case of studying the sublevel sets of a piecewise-linear function on $\mathbb{R}$ or $\mathbb{S}^1$, persistence can actually be computed in linear time. This note presents a simple algorithm that achieves this complexity and an extension to image persistence. An implementation is available in Gudhi.

cs.CG

Numerical Simulation of Transdermal Insulin Delivery Using a Coated Microneedle in a 2D Skin Model

In this work, we present a computational model to investigate transdermal insulin delivery using coated microneedles. A detailed skin geometry incorporating a coated microneedles was developed to analyze insulin release through the different skin layers and to evaluate the influence of key transport parameters. The model represents the major skin layers: the stratum corneum, viable epidermis, and dermis. Unstructured grids were used to achieve a reliable resolution of the model. The simulations provide insights into the permeation of insulin from the coated microneedles and the transport and distribution across the different skin layers. Finally, the simulation results were compared with experimental data to evaluate the predictive capability of the model.

cs.CG