gScan:在 GPU 上加速 Graham 扫描算法
计算几何
2015-08-26 v1
摘要
本文提出了一种在 GPU 上快速实现 Graham 扫描算法的方法。所提出的算法由两个阶段组成:(1) 在 GPU 上执行两轮预处理,以及 (2) 在 CPU 上完成凸包的查找。我们首先剔除位于由四个极值点形成的四边形内部的点,根据角度对剩余点进行排序,然后将它们划分为左区域和右区域。对于每个区域,我们使用所提出的预处理方法进行第二轮滤波,以进一步剔除内部点。最后,我们在 CPU 上计算剩余点的凸包,从而获得预期的凸包。为了获得更好的效率和简洁性,我们直接采用了 Thrust 库提供的并行排序、归约和分区操作。实验结果表明,对于 2000 万个点,我们的实现比 Qhull 实现获得了 6 到 7 倍的加速。
引用
@article{arxiv.1508.05931,
title = {gScan: Accelerating Graham Scan on the GPU},
author = {Gang Mei},
journal= {arXiv preprint arXiv:1508.05931},
year = {2015}
}
备注
arXiv admin note: text overlap with arXiv:1508.05488