三维自由面流动模拟中GPU并行计算技术
2016-10-12李海州唐振远万德成
李海州,唐振远,万德成
(1.上海交通大学 船舶海洋与建筑工程学院 海洋工程国家重点实验室,上海 200240;2.高新船舶与深海开发装备协同创新中心,上海 200240)
三维自由面流动模拟中GPU并行计算技术
李海州1,2,唐振远1,2,万德成1,2
(1.上海交通大学 船舶海洋与建筑工程学院 海洋工程国家重点实验室,上海 200240;2.高新船舶与深海开发装备协同创新中心,上海 200240)
MPS(Moving Particle Semi-implicit)法能够有效地处理溃坝、晃荡等自由面大变形流动问题。在三维MPS方法中,粒子数量的急剧增加会导致其计算效率的降低并限制其在大规模流动问题中的应用。基于自主开发的MPS求解器MLParticle-SJTU,本文对求解过程中耗时最多的邻居粒子搜寻和泊松方程求解两个模块采用了GPU并行加速,详细探讨了CPU+GPU策略。以三维晃荡和三维溃坝这两种典型的自由面大变形流动为例,比较了CPU+GPU相对于MLParticle-SJTU串行求解时的加速情况,结果表明CPU+GPU在邻居粒子和泊松方程这两个模块中的加速比最高能达到十倍左右。此外,采用CPU+GPU并行能够较准确地模拟溃坝、晃荡等自由面大变形问题。
MLParticle-SJTU求解器;邻居粒子搜索;GPU并行技术;稀疏矩阵求解;溃坝;晃荡
Abstract:MPS (Moving Particle Semi-implicit) is very suitable to deal with free surfaces flows of large deformation such as dam-breaking and sloshing flows.However,the computational efficiency of the MPS method becomes a bottle neck for large-scale engineering applications with the increase of the number of particles,especially for 3D flow problems.Based on our in-house solver MLParticle-SJTU,the present work applies GPU technique in searching for neighboring particles and solving pressure Poisson equation,which are two most time-consuming parts in the MPS.The acceleration performance is analyzed according to 3D sloshing and 3D dam breaking flows.The results show that a speedup up to 10x can be achieved by CPU+GPU acceleration compared to that by only one CPU.
Keywords:MLParticle-SJTU solver; neighbor list search; GPU parallel computation; sparse linear equation; sloshing;dam-breaking wave
无网格粒子法MPS(Moving Particle Semi-implicit)[1-3]能够有效地处理自由面大变形流动问题,如晃荡、溃坝等。尽管如此,当该方法应用到三维流动问题时,粒子数和计算量会急剧的增加,基于传统的CPU串行计算已经很难满足工程应用的需要。因此,如何有效地提高MPS方法在三维问题中的计算效率就显得尤为重要。
近些年来,已有学者在尝试着通过多CPU并行计算来提高MPS方法的计算效率。……
