热门关键词:

基于GPU的并行非结构网格生成技术研究

  • 该文件为pdf格式
  • 文件大小:518.11KB
  • 浏览次数
  • 发布时间:2014-08-23
文件介绍:
本资料包含pdf文件1个,下载需要1积分

在计算仿真中网格生成是至关重要的-步,需要优质的网格来准确捕捉复杂的物理现象l。如今的计算系统使我们解决了具有数以千万节点网格的问题。然而,在单-的机器上生成如此大规模、高质量的网格,对于 CPU时间和内存需求带来了挑战l生的任务。相反,在-个并行环境中生成网格,就大大减少了大规模网格生成所需要的时间。面对大规模工程及科学计算需求的日益增长,至上个世纪九十年代起,并行网格生成技术逐渐成为-个新的研究热点日。-方面,近五六十年来,研究序列化网格的生成取得了相当大的进展,已形成很多高效的序列化网格生成方法和软件 ;与此同时,大型计算机和并行计算技术等也在这期间得到了较大的发展,这些都为并行网格的生成提供了有力的技术支持。另-方面,在工程与科学计算的很多领域,如CFD(计算流体动力学)、CEM(计算电磁学),对于这些网格的配置通常是千万级别甚至上亿个单元,而序列化网格生成器在时间和内存上都难以突破,这些又为并行网格生成提供了现实需求。

因此,并行网格生成技术的研究正是在这-背景下展开的∑研人员在 1992年第-次利用阵面推进技术并行生成了网格H,它的不足之处在于:区域分裂后,相邻的子区域个数至少两个,且边界的查找非常麻烦;由于过多的相邻区域个数造成了后续网格生成过程中额外的通讯消耗,而且在这个过程中相邻子域之间还易形成空腔,- 定程度上降低了网格的质量∑研人员在1 996年运用Delaunay三角化法也并行生成了网格嘲,它解决了R.Lohner方法的负载不平衡的问题,但通讯消耗过大。另外,还可利用人工分区的方法来生成并行非结构网格,由于人工分区的局限性,这种方法只能适用于较为简单的几何外形。基于并行 Delaunay网格生成技术,提出了通过GPU并行处理的方式来加速生成网格,并基于CUDA编程模型 和结合序列化 Delaunay网格生成器,建立GPU并行非结构网格生成框架。实验结构表明,方法缩短了大规模网格数据生成的时间。

2序列化Delaunay网格生成算法当并行生成网格时,需要对每个子域进行序列化网格生成,如图 1所示。应用了基于BW(Bowyer-Watson)插点内核实现的来稿日期:2012-04-12基金项目:国家重点基础研究发展计划(973)项目(2009CB723805)作者简介:齐 龙,(1986-),男,河南信阳,硕士研究生,主要研究方向:机械制造及其自动化186 机 械 设计 与制 造No.2Feb.2013的分配和启动内核函数,而序列化算法中的每个步骤都在 GPU上执行。通过这种方式,达到了序列化网格算法在各子区域中并行执行的目的,最后,在 CPU上完成网格的合并和优化。

插入节点数生成节点数等于 0图5 GPU-PDMG总体框架Fig.5 Framework of GPU-PDMG4.2实现过程上面己经提到了CUDA编程模型,不仅要使用host端的内存,而且也要使用显卡上的显存和 GPU上的几种寄存器和缓存,所以GPU和 CPU协同工作实现了并行非结构网格的生成。CPU负责分配内存、设置Grid和block的维度、启动kernel函数并向其传递参数、以及从 GPU显存中获取处理结果;GPU则负责大量的并行运算,且保存处理数据。其具体步骤如下:(1)Host端初始化输入数据,根据待处理数据的大小为GPU分配显存,用于存放输入数据,并将内存中的数据复制到这块显存上,且将其绑定二维纹理内存;(2)再次为GPU分配显存,用于存放GPU处理结果。从显存中读数据到GPU片内,调用Device端的kernel进行计算,将结果写人显存中的对应区域;(3)在主机端为CPU分配内存,用于存放GPU传回的处理结果,并显示结果。

5实验结果及分析所采用实验设备为:Intel(R)Pentium (R)Dual-Core CPU表 1在不同网格规模下 CPU和GPU生成时间对比Tab.1 The Comparison of the Generation Time BetweenCPU and GPU in Diferent Grid Scales6结束语面对大规模非结构网格生成在时间和内存上的瓶颈,通过GPU并行处理的方式,使非结构网格生成的时间大幅降低。描述了网格并行生成技术的前提下,提出了-种基于GPU的并行非结构网格生成技术,并基于CUDA编程模型提供了GPU-PDMG的总体框架。通过对NACA0012翼型流场区域的网格划分,得出该方法的加速比。实验结果表明,基于GPU的并行网格生成技术能将网格生成时间减少至少-个数量级,随着网格规模的增加,GPU并行生成的加速比越显著∩见,在非结构网格并行生成时,兼顾成本和性能两个方面,GPU相对于 CPU都有着相当大的优势。

正在加载...请等待或刷新页面...
发表评论
验证码 验证码加载失败