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...
Autor principal: | |
---|---|
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 |