Efficient PRAM and Practical GPU Algorithms for Large Polygon Clipping with Degenerate Cases

M. K. B. Ashan, S. Puri, S. Prasad
{"title":"Efficient PRAM and Practical GPU Algorithms for Large Polygon Clipping with Degenerate Cases","authors":"M. K. B. Ashan, S. Puri, S. Prasad","doi":"10.1109/CCGrid57682.2023.00060","DOIUrl":null,"url":null,"abstract":"Polygonal geometric operations are fundamental in domains such as Computer Graphics, Computer-Aided Design, and Geographic Information Systems. Handling degenerate cases in such operations is important when real-world spatial data are used. The popular Greiner-Hormann (GH) clipping algorithm does not handle such cases properly without perturbing vertices leading to inaccuracies and ambiguities. In this work, we parallelize the $O$(n2)-time general polygon clipping algorithm by Foster et al., which can handle degenerate cases without perturbation. Our CREW PRAM algorithm can perform clipping in O (log n) time using $n$ + $k$ number of processors with simple polygons, where $n$ is the number of input edges and $k$ is the number of edge intersections. For efficient GPU implementation, we employ three effective filters which have not been used in prior work on polygon clipping: 1) Common-minimum-bounding-rectangle filter, 2) Count-based filter, and 3) Line-segment-minimum-bounding-rectangle filter. They drastically reduce O($n$2) candidate edge pairs comparisons by 80% - 99%, leading to significantly faster parallel execution. In our experiments, C++ CUDA-based implementation yields up to 40X speedup over real-world datasets, processing two polygons with a total of 174K vertices on an Nvidia Quadro RTX 5000 GPU compared to the sequential Foster's algorithm running on an Intel Xeon Silver 4210R CPU.","PeriodicalId":363806,"journal":{"name":"2023 IEEE/ACM 23rd International Symposium on Cluster, Cloud and Internet Computing (CCGrid)","volume":"366 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 IEEE/ACM 23rd International Symposium on Cluster, Cloud and Internet Computing (CCGrid)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CCGrid57682.2023.00060","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Polygonal geometric operations are fundamental in domains such as Computer Graphics, Computer-Aided Design, and Geographic Information Systems. Handling degenerate cases in such operations is important when real-world spatial data are used. The popular Greiner-Hormann (GH) clipping algorithm does not handle such cases properly without perturbing vertices leading to inaccuracies and ambiguities. In this work, we parallelize the $O$(n2)-time general polygon clipping algorithm by Foster et al., which can handle degenerate cases without perturbation. Our CREW PRAM algorithm can perform clipping in O (log n) time using $n$ + $k$ number of processors with simple polygons, where $n$ is the number of input edges and $k$ is the number of edge intersections. For efficient GPU implementation, we employ three effective filters which have not been used in prior work on polygon clipping: 1) Common-minimum-bounding-rectangle filter, 2) Count-based filter, and 3) Line-segment-minimum-bounding-rectangle filter. They drastically reduce O($n$2) candidate edge pairs comparisons by 80% - 99%, leading to significantly faster parallel execution. In our experiments, C++ CUDA-based implementation yields up to 40X speedup over real-world datasets, processing two polygons with a total of 174K vertices on an Nvidia Quadro RTX 5000 GPU compared to the sequential Foster's algorithm running on an Intel Xeon Silver 4210R CPU.
退化情况下大型多边形裁剪的高效PRAM和实用GPU算法
多边形几何运算是计算机图形学、计算机辅助设计和地理信息系统等领域的基础。当使用实际空间数据时,处理此类操作中的退化情况非常重要。流行的Greiner-Hormann (GH)裁剪算法不能在不干扰顶点的情况下正确处理这种情况,从而导致不准确和模糊。在这项工作中,我们并行化了Foster等人的$O$(n2)时间通用多边形裁剪算法,该算法可以处理无扰动的退化情况。我们的CREW PRAM算法可以在O (log n)时间内执行裁剪,使用$n$ + $k$个简单多边形处理器,其中$n$是输入边的数量,$k$是边相交的数量。为了高效地实现GPU,我们采用了三种有效的滤波器,这些滤波器在以前的多边形裁剪工作中没有使用过:1)公共最小边界矩形滤波器,2)基于计数的滤波器和3)线段最小边界矩形滤波器。它们大大减少了80 - 99%的O($n$2)候选边缘对比较,从而显著提高了并行执行速度。在我们的实验中,基于c++ cuda的实现在实际数据集上产生高达40倍的加速,在Nvidia Quadro RTX 5000 GPU上处理两个多边形,总共有174K个顶点,与在Intel Xeon Silver 4210R CPU上运行的顺序福斯特算法相比。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信