无网格Galerkin法GPU加速并行计算研究
作者单位:湘潭大学
学位级别:硕士
导师姓名:龚曙光
授予年度:2014年
学科分类:07[理学] 070102[理学-计算数学] 0701[理学-数学]
主 题:无网格Galerkin法 逐节点对法 稀疏存储 局部搜索 并行计算 GPU 加速 CUD A
摘 要:无网格Galerkin(Element-Free Galerkin,EFG)法不受网格束缚,因此能够有效地解决有限元法遇到的困难,已在结构大变形、不连续性等问题中引起了高度重视。然而EFG法存在计算耗时长等缺点,限制了其在大规模工程计算中的应用。GPU(Graphics Processing Unit,GPU)加速计算是近年来快速发展起来的一种并行计算技术,随着 CUDA(Compute Unified Device Architecture,CUDA)等通用编程平台的推出,GPU加速计算已广泛应用于科学与工程计算领域。本文针对EFG法计算耗时长的缺点,开展EFG法的GPU加速并行计算研究,以缩短其计算时间。其主要研究内容为:(1)基于CUDA平台讨论了稀疏矩阵与向量乘积并行计算的任务分配方式,研究了对称正定线性方程组的GPU加速求解,编写了共轭梯度法的GPU求解函数,并对比了不同系数矩阵规模下的计算性能。结果表明系数矩阵规模越大,加速比越高。(2)基于交叉节点对思想及按行压缩存储格式,研究了刚度矩阵的组装与稀疏存储;提出了节点与积分点的局部搜索方法;利用罚函数法处理本质边界条件,给出了刚度矩阵和惩罚刚度矩阵的统一格式,提出了一种采用三角形网格进行积分计算的EFG改进算法,并编写了改进算法的C语言程序。对悬臂梁和连杆的分析表明,所提算法在满足计算精度的前提下,能有效地节省存储空间和提高节点与积分点的搜索效率,且对复杂几何形状的模型具有良好适应性。(3)在EFG改进算法的基础上,利用GPU加速形函数及其导数、刚度矩阵的计算,以及线性方程组的求解,提出了 EFG法的GPU加速并行算法。基于CUDA平台编写了 EFG并行算法程序,并在NVIDIA GeForce GTX 660显卡上通过悬臂梁和连杆两个算例进行了性能测试,探讨了加速比的影响因素。算例结果表明,GPU加速算法在满足计算精度的前提下具有显著的加速效果,并且线性方程组求解和刚度矩阵计算对算法加速效果起决定性影响。本文利用GPU加速技术显著缩短了 EFG法的计算时间,其研究为EFG法应用于大规模复杂几何形状结构的分析,提供了一种新的算法,所得结果对EFG法应用于工程问题的计算具有理论参考和实际意义。