CN108717731B - 一种基于局部几何特征的离散测地线并行方法 - Google Patents

一种基于局部几何特征的离散测地线并行方法 Download PDF

Info

Publication number
CN108717731B
CN108717731B CN201810456452.9A CN201810456452A CN108717731B CN 108717731 B CN108717731 B CN 108717731B CN 201810456452 A CN201810456452 A CN 201810456452A CN 108717731 B CN108717731 B CN 108717731B
Authority
CN
China
Prior art keywords
window
edge
window elements
elements
actively
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810456452.9A
Other languages
English (en)
Other versions
CN108717731A (zh
Inventor
于瑞国
傅旭洲
喻梅
王建荣
赵满坤
高洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University
Original Assignee
Tianjin University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN201810456452.9A priority Critical patent/CN108717731B/zh
Publication of CN108717731A publication Critical patent/CN108717731A/zh
Application granted granted Critical
Publication of CN108717731B publication Critical patent/CN108717731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Devices For Executing Special Programs (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种基于局部几何特征的高效离散测地线并行方法,包括:构建基于局部测地信息传递拓扑结构;输入网格模型,网格模型中所有顶点主动更新自身距离值、并且派生新的伪源点窗元,即新的第二类窗元;第一类窗元中的边上窗元主动派生新窗元,并存入每条边对应的缓冲区中;建多个边线程并行地处理每一条边上的窗元派生事件;创建多个边线程并行地处理每条边上的窗元收集事件;边根据自身的拓扑关系主动去获取属于自己的子窗元;边e主动收集属于其对应缓冲区中的窗元,并写入滚动数组下一状态对应的滚动数组中;交换滚动数组;如有可更新的第二类窗元,重新输入网格模型,否则结束。本发明提高算法效率,减少了运算时间,实现了完全并行化。

Description

一种基于局部几何特征的离散测地线并行方法
技术领域
本发明涉及计算机图形学、计算几何、并行计算、高性能计算邻域、涉及CUDA(Compute Unified Device Architecture)技术领域,尤其涉及一种基于局部几何特征的离散测地线并行方法。
背景技术
测地线问题是计算机图形学领域中一个重要的问题。目前,已有大量的关于测地问题的文献。对于离散测地线问题,主要通过数值方法和几何方法两个途径入手。
基于数值的测地线求解方法主要通过微分几何的方法进行求解。微分几何中曲面理论产生于曲面上的测地线问题的研究。基于数值的测地线计算方法不断的改进,但是这些方法仍存在缺陷,主要表现为不可重用、缺乏并行化方法、以及在三维等高维空间中效果不理想。
基于几何的方法主要是通过计算几何的方法来解决。现有的离散测地线算法主要基于MMP(Mitchell-Mount-Papadimitriou)算法和CH(Chen-Han)算法这两个经典算法衍生出来的ICH(improved Chen-Han,CH改进算法)算法,FWP(Fast Wavefront Propagation,快速波前传播)的构架以及在FWP的基础上提出了三角网格性质的算法(VTP)。虽然离散测地线算法不断发展,但是在算法运算中冗余窗元仍存在,算法效率、以及在高维空间适用范围内仍有待提高,算法难以并行。
目前精确离散测地线算法几乎都是串行算法,PCH(Parallel Chen-Han,并行CH算法)算法是唯一一个基于任意三角网格上的精确并行测地线算法。但在PCH并行处理窗元传播和派生后,依旧需要一步串行操作来整理新产生的子窗元,并加入优先队列中,PCH并行化还不够完全。
发明内容
本发明的目的在于提出基于三角网格数据结构的离散测地线并行框架(autonomous wavefront propagation,自适应波前传播框架)以及基于这个框架的第一个完全并行的测地线算法(AWP-CH),能够有效的提高算法效率和实现完全并行化,详见下文描述:
一种基于局部几何特征的离散测地线并行方法,所述方法包括以下步骤:
构建基于局部测地信息传递拓扑结构,包括:第一类窗元和第二类窗元;
输入网格模型,网格模型中所有顶点主动更新自身距离值、并且派生新的伪源点窗元,即新的第二类窗元;
第一类窗元中的边上窗元主动派生新窗元,并存入每条边对应的缓冲区中;
建多个边线程并行地处理每一条边上的窗元派生事件;
创建多个边线程并行地处理每条边上的窗元收集事件;边根据自身的拓扑关系主动去获取属于自己的子窗元;
边e主动收集属于其对应缓冲区中的窗元,并写入滚动数组下一状态对应的滚动数组中;交换滚动数组;
如果仍有可更新的第二类窗元,则重新输入网格模型,否则流程结束。
其中,所述第一类窗元,即边e上的测地线信息,来自于:
自身的窗元信息、对顶点v上的窗元信息、以及三角形内另外两条半边结构的对边el,er上的窗元信息,即边e的上一条半边的对边el和下一条半边的对边er
进一步地,所述第二类窗元,即点v上的测地线信息,来自于:
所有的相邻边上的窗元信息e1,e3,e4,e6,en和所有对边上的窗元信息e2,e5
进一步地,所述网格模型中所有顶点主动更新自身距离值具体为:
每个顶点根据自身的拓扑关系主动去更新自身的值,即根据自身所关联边e1,e2,…,en上的窗元来更新该点的测地距离。
其中,所述第一类窗元中的边上窗元主动派生新窗元,并存入每条边对应的缓冲区中具体为:
通过自身的测地距离创建对边上的窗元,所创建的窗元存在对边e的缓冲区上。
具体实现时,所述建多个边线程并行地处理每一条边上的窗元派生事件具体为:
在每条边上都设定两个缓冲区用来存从半边e派生到左边el和右边er的子窗元的信息,一个左端缓冲区,一个右端缓冲区来存储这两种子窗元。
本发明提供的技术方案的有益效果是:
1、本发明提出基于三角网格数据结构的离散测地线并行框架、以及基于这个框架的第一个完全并行的测地线算法,无需串行操作来整理新产生的子窗元,实现PCH的完全并行化。
2、本发明提高了算法效率,减少了运算时间,实现了完全并行化,充分利用了计算资源。
附图说明
图1为一种基于局部几何特征的离散测地线并行方法的流程图;
图2为边结构拓扑关系图;
图3为点结构拓扑关系图;
图4为本方法(即AWP-CH算法)与CH算法、FWP算法、VTP算法比较的示意图;
图5为在不同模型在不同GPU处理能力下的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。
实施例1
为了实现上述目的,本发明实施例提出一种基于局部几何信息的传播关系依赖图(propagatio dependency graph,PDG),对于一个基于边的测地线算法而言,包含以下两大类:
第一类窗元,如图2所示,边e上的测地线信息来自于:自身的窗元[1]信息、对顶点v上的窗元信息、以及三角形内另外两条半边结构的对边el,er上的窗元信息,即边e的上一条半边的对边el和下一条半边的对边er
第二类窗元,如图3示,点v上的测地线信息来自于:所有的相邻边上的窗元信息e1,e3,e4,e6,en和所有对边上的窗元信息e2,e5
基于局部测地信息传递拓扑结构图,本发明实施例提出了一个离散测地线并行框架,其主要步骤如下:
101:清空滚动数组,用于存放第一类窗元;
其中,滚动数组用于存储窗元信息,一共两个数组,分别代表当前迭代和上一次迭代的窗元信息,清空滚动数组即为对数组进行初始化处理。
102:输入网格模型,网格模型中所有顶点主动更新自身距离值、并且派生新的伪源点窗元[2],即新的第二类窗元;
其中,网格模型为本领域技术人员所公知,本发明实施例对此不做赘述。
103:第一类窗元中的边上窗元主动派生新窗元,并存入每条边对应的缓冲区中;
104:边e主动收集属于其对应缓冲区中的窗元,并写入滚动数组下一状态对应的数组中;
105:交换滚动数组;
106:如果仍有可更新的第二类窗元,则跳转步骤102,否则结束计算。
综上所述,本发明实施例基于三角网格数据结构的离散测地线并行框架、以及基于这个框架的第一个完全并行的测地线算法,能够有效的提高算法效率和实现完全并行化。
实施例2
下面结合具体的实例对实施例1中的方案进行进一步地介绍,详见下文描述:
201:初始化缓冲区,更新起点相关的窗元信息;
202:建多个顶点线程并行地处理每一个点更新事件;
203:网格模型中每一个顶点v根据自身的拓扑关系主动去更新自身的值,即根据自身所关联边e1,e2,…,en上的窗元来更新该点的测地距离,如图4所示。
204:再通过自身的测地距离创建对边上的窗元v,所创建的窗元存在对边e的缓冲区上;
205:建多个边线程并行地处理每一条边上的窗元派生事件;
因为对于一个三角网格内,每一条边上的窗元经过派生所产生子窗元只会有两种,一种是属于在对顶点的左边el的半边上的,另一种是属于对顶点的右边er的半边上的。
因此,在每条边上都设定两个缓冲区用来存从半边e派生到左边el和右边er的子窗元的信息,一个左端缓冲区,一个右端缓冲区来存储这两种子窗元。
206:创建多个边线程并行地处理每条边上的窗元收集事件;
207:边根据自身的拓扑关系主动去获取属于自己的子窗元;
208:边e主动去左半边el的左缓冲区和右半边er的右缓冲区收集子窗元。
其中,由于半边的拓扑关系,每一条边所对应的左端半边的el和右端半边的er都是唯一的,如图4所示。
209:滚动数组状态转移,即交换读写缓冲区;
210:判断是否在步骤202到步骤209中存在更新缓冲区,若存在,则跳转步骤202,否则结束。
其中,AWP算法是基于角网格之上的测地线并行框架。
本发明实施例在三角网格之上创建半边数据结构,依赖半边数据结构提出了传播关系依赖图。通过传播关系依赖图,巧妙的将三角网格中点和半边之间的依赖关系使用拓扑图表现出来,从而达到了完全并行化的效果。
实施例3
实验中将AWP算法在CUDA 8.0编译环境下,利用三块不同的NVIDIA GPU进行了对比实验,这三块显卡分别是:1664个CUDA核心数,2.44Tflops计算能力的GTX 970;3072CUDA核心数,7.0Tflops的GTX Titan X和3840CUDA核心数,12Tflops的Titan Xp。其他测地线经典的串行算法在配置i7-7700K,4.2GHz的CPU和32G内存的机器上进行实验。
由于在实验中涉及到的算法分为两种,对于精确算法而言,评价算法好坏主要通过算法所使用的时间和内存以及中间变量窗元的生成个数;对于近似算法而言,评价算法的好坏除了算法所使用的时间和内存以及中间变量窗元的生成个数,同时使用均方误差(MSE)作为近似算法精确度,MSE可以评价数据的变化程度,MSE的值越小,说明近似算法描述实验数据具有更好的精确度。MSE的计算公式如公式(1)所示。
Figure GDA0003312740760000051
公式(1)中,N表示模型中节点的个数,di和dICHi分别为近似算法在i点计算出来的测地距离和经典精确算法ICH在i点计算出来的测地距离,MSE的值越小,表示近似算法越好。
实验结果显示,对于精确算法,AWP算法在时间效率上是现阶段最好的算法VTP算法2倍左右,是经典算法ICH算法的10-50倍,在一些模型中甚至能够达到上百倍,如图5所示。而且随着模型规模的增大,AWP算法并行的性能更加凸显。对于近似算法,AWP框架可以应用到了经典算法FMM和近似的CH算法中。AWP并行计算框架不但可以简单的应用到这些算法中,而且使用了这个框架后,能够很好的提升其他算法的性能。实验结果显示AWP算法能够提升近似CH算法4到10倍,甚至更多,对于FMM算法,AWP算法能够提升大致3到5倍的,如表1所示。
本发明实施例提出了传播关系依赖图,如图1,图2。通过传播关系依赖图,分离点和边的依赖关系,实现了完全并行化,得益于完全并行化,基于AWP框架的算法的效率较传统算法有了显著提升。
表1各算法在各网格模型中性能对比
Figure GDA0003312740760000052
Figure GDA0003312740760000061
结合图3和表1中实验结果,AWP-CH相对于串行方法能够快5-10倍,在一些网格模型中甚至能够达到上百倍。而且随着网格模型规模的增大,AWP算法并行的性能更加凸显。AWP的算法的理论复杂度是与迭代次数是成正比的。在实际的模型中,迭代次数往往不能够达到理论值n,所以AWP算法对于细长网格模型的实验效果不如比较匀称的网格模型。
图4给出了GPU处理能力与算法运行时间的倒数的关系图。作为一个完全并行的算法,GPU的处理能力越强,则算法越快,即算法的运行时间与GPU处理能力成反比。所以运行时间的倒数应该与GPU处理能力成线性关系。实验结果与预期完全相符。
本发明实施例对各器件的型号除做特殊说明的以外,其他器件的型号不做限制,只要能完成上述功能的器件均可。
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
参考文献:
[1]M.Sharir and A.Schorr.On shortest paths in polyhedral spaces.SIAMJ.Comput.,15(1):193–215,1986.
[2]J.S.B.Mitchell,D.M.Mount,and C.H.Papadimitriou.The discretegeodesic problem.SIAM J.Comput.,16(4):647–668,1987.

Claims (3)

1.一种基于局部几何特征的离散测地线并行方法,其特征在于,所述方法包括以下步骤:
构建基于局部测地信息传递拓扑结构,包括:第一类窗元和第二类窗元;
输入网格模型,网格模型中所有顶点主动更新自身距离值、并且派生新的伪源点窗元,即新的第二类窗元;
第一类窗元中的边上窗元主动派生新窗元,并存入每条边对应的缓冲区中;
建多个边线程并行地处理每一条边上的窗元派生事件;
创建多个边线程并行地处理每条边上的窗元收集事件;边根据自身的拓扑关系主动去获取属于自己的子窗元;
边e主动收集属于其对应缓冲区中的窗元,并写入滚动数组下一状态对应的滚动数组中;交换滚动数组;
如果仍有可更新的第二类窗元,则重新输入网格模型,否则流程结束;
其中,所述第一类窗元,即边e上的测地线信息,来自于:
自身的窗元信息、对顶点v上的窗元信息、以及三角形内另外两条半边结构的对边el,er上的窗元信息,即边e的上一条半边的对边el和下一条半边的对边er
其中,所述第二类窗元,即点v上的测地线信息,来自于:
所有的相邻边上的窗元信息e1,e3,e4,e6,en和所有对边上的窗元信息e2,e5
所述建多个边线程并行地处理每一条边上的窗元派生事件具体为:
在每条边上都设定两个缓冲区用来存从半边e派生到左边el和右边er的子窗元的信息,一个左端缓冲区,一个右端缓冲区来存储这两种子窗元。
2.根据权利要求1所述的一种基于局部几何特征的离散测地线并行方法,其特征在于,所述网格模型中所有顶点主动更新自身距离值具体为:
每个顶点根据自身的拓扑关系主动去更新自身的值,即根据自身所关联边e1,e2,…,en上的窗元来更新该点的测地距离。
3.根据权利要求1所述的一种基于局部几何特征的离散测地线并行方法,其特征在于,所述第一类窗元中的边上窗元主动派生新窗元,并存入每条边对应的缓冲区中具体为:
通过自身的测地距离创建对边上的窗元,所创建的窗元存在对边e的缓冲区上。
CN201810456452.9A 2018-05-14 2018-05-14 一种基于局部几何特征的离散测地线并行方法 Active CN108717731B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810456452.9A CN108717731B (zh) 2018-05-14 2018-05-14 一种基于局部几何特征的离散测地线并行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810456452.9A CN108717731B (zh) 2018-05-14 2018-05-14 一种基于局部几何特征的离散测地线并行方法

Publications (2)

Publication Number Publication Date
CN108717731A CN108717731A (zh) 2018-10-30
CN108717731B true CN108717731B (zh) 2022-03-25

Family

ID=63900020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810456452.9A Active CN108717731B (zh) 2018-05-14 2018-05-14 一种基于局部几何特征的离散测地线并行方法

Country Status (1)

Country Link
CN (1) CN108717731B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111089592A (zh) * 2019-12-13 2020-05-01 天津大学 一种离散曲面中测地线计算方法
CN115795939B (zh) * 2022-11-03 2023-06-13 天津大学 一种基于非结构网格的二维洪水过程多gpu模拟方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4521998A (en) * 1983-07-08 1985-06-11 Delorme David M Universal hub for geodesic type structures
CN102737378A (zh) * 2012-05-24 2012-10-17 中国科学院深圳先进技术研究院 测地线活动轮廓分割图像的方法和系统
CN104156523A (zh) * 2014-08-01 2014-11-19 西安电子科技大学 索网反射面天线的测地线索网生成方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8786616B2 (en) * 2009-12-11 2014-07-22 Microsoft Corporation Parallel processing for distance transforms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4521998A (en) * 1983-07-08 1985-06-11 Delorme David M Universal hub for geodesic type structures
CN102737378A (zh) * 2012-05-24 2012-10-17 中国科学院深圳先进技术研究院 测地线活动轮廓分割图像的方法和系统
CN104156523A (zh) * 2014-08-01 2014-11-19 西安电子科技大学 索网反射面天线的测地线索网生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Improving Chen and Han"s Algorithm on the Discrete Geodesic Problem;Shi-Qing等;《ACM Transactions on Graphics》;20090831;第28卷(第4期);全文 *
基于几何特征的非刚性三维模型检索研究;万雅娟;《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》;20160415(第04期);全文 *

Also Published As

Publication number Publication date
CN108717731A (zh) 2018-10-30

Similar Documents

Publication Publication Date Title
Hu et al. Parallel view-dependent refinement of progressive meshes
Maadasamy et al. A hybrid parallel algorithm for computing and tracking level set topology
US10394978B2 (en) Finite element methods and systems
CN108717731B (zh) 一种基于局部几何特征的离散测地线并行方法
Chen Unmixing the mixed volume computation
Cai et al. A parallel finite element procedure for contact-impact problems using edge-based smooth triangular element and GPU
Mehl et al. A cache‐oblivious self‐adaptive full multigrid method
Viitanen et al. PLOCTree: A fast, high-quality hardware BVH builder
Zhou et al. Improvement of normal estimation for point clouds via simplifying surface fitting
EP2058740A1 (en) High-speed calculation process method of combination equation based on finite element method and boundary element method
Ying et al. Parallelizing discrete geodesic algorithms with perfect efficiency
Foteinos et al. 4D space–time Delaunay meshing for medical images
Klinkovský et al. Configurable Open-source Data Structure for Distributed Conforming Unstructured Homogeneous Meshes with GPU Support
CN113255196B (zh) 一种网格优化方法、网格生成器、存储介质
El-Kurdi et al. Parallel finite element technique using Gaussian belief propagation
López-Portugués et al. Parallelization of the FMM on distributed-memory GPGPU systems for acoustic-scattering prediction
Hou et al. A GPU-based tabu search for very large hardware/software partitioning with limited resource usage
Lysenko et al. Improved binary space partition merging
Dang et al. A fine-grained parallel model for the fast iterative method in solving eikonal equations
Shellshear et al. PDQ: Parallel distance queries for deformable meshes
US11995380B2 (en) System and method for heat exchanger shape optimization
CN114358859B (zh) 用于点击率预测的基于图的大规模embedding模型训练方法及系统
CN110796729B (zh) 一种基于二叉树的网格划分方法
Bobach et al. Natural neighbor concepts in scattered data interpolation and discrete function approx-imation
US20230325464A1 (en) Hpc framework for accelerating sparse cholesky factorization on fpgas

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant