Cargando…

CudaChain: an alternative algorithm for finding 2D convex hulls on the GPU

This paper presents an alternative GPU-accelerated convex hull algorithm and a novel Sorting-basedPreprocessingApproach (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 finaliz...

Descripción completa

Detalles Bibliográficos
Autor principal: Mei, Gang
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Springer International Publishing 2016
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4899387/
https://www.ncbi.nlm.nih.gov/pubmed/27350927
http://dx.doi.org/10.1186/s40064-016-2284-4
_version_ 1782436449714438144
author Mei, Gang
author_facet Mei, Gang
author_sort Mei, Gang
collection PubMed
description This paper presents an alternative GPU-accelerated convex hull algorithm and a novel Sorting-basedPreprocessingApproach (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. ELECTRONIC SUPPLEMENTARY MATERIAL: The online version of this article (doi:10.1186/s40064-016-2284-4) contains supplementary material, which is available to authorized users.
format Online
Article
Text
id pubmed-4899387
institution National Center for Biotechnology Information
language English
publishDate 2016
publisher Springer International Publishing
record_format MEDLINE/PubMed
spelling pubmed-48993872016-06-27 CudaChain: an alternative algorithm for finding 2D convex hulls on the GPU Mei, Gang Springerplus Research This paper presents an alternative GPU-accelerated convex hull algorithm and a novel Sorting-basedPreprocessingApproach (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. ELECTRONIC SUPPLEMENTARY MATERIAL: The online version of this article (doi:10.1186/s40064-016-2284-4) contains supplementary material, which is available to authorized users. Springer International Publishing 2016-05-21 /pmc/articles/PMC4899387/ /pubmed/27350927 http://dx.doi.org/10.1186/s40064-016-2284-4 Text en © The Author(s). 2016 Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
spellingShingle Research
Mei, Gang
CudaChain: an alternative algorithm for finding 2D convex hulls on the GPU
title CudaChain: an alternative algorithm for finding 2D convex hulls on the GPU
title_full CudaChain: an alternative algorithm for finding 2D convex hulls on the GPU
title_fullStr CudaChain: an alternative algorithm for finding 2D convex hulls on the GPU
title_full_unstemmed CudaChain: an alternative algorithm for finding 2D convex hulls on the GPU
title_short CudaChain: an alternative algorithm for finding 2D convex hulls on the GPU
title_sort cudachain: an alternative algorithm for finding 2d convex hulls on the gpu
topic Research
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4899387/
https://www.ncbi.nlm.nih.gov/pubmed/27350927
http://dx.doi.org/10.1186/s40064-016-2284-4
work_keys_str_mv AT meigang cudachainanalternativealgorithmforfinding2dconvexhullsonthegpu