当前位置:问答库>论文摘要

题目:基于GPU集群的PBF流体仿真平台的研究与实现

关键词:PBF;GPU;GPU集群;集群函数库

  摘要


在计算机图形学中,流体仿真有着重要的应用及研究意义,被广泛地应用于航天工程、电影特效、游戏制作和医学应用等许多领域中。目前流体仿真邻域面临的主要问题之一是其计算量大、仿真时间长,难以满足实时应用的需求。由于GPU集群具有强大的并行运算能力,非常适合用来加速流体的仿真。

PBF(Position Based Fluids)算法是一种近年来新提出的基于无网格粒子法的流体仿真算法。该算法通过一组位置控制方程来模拟流体的行为,可以获得与当前主流流体仿真算法类似的仿真效果,而且具有更好的稳定性、支持更大的仿真时间步长,加快了仿真速度。

本文对PBF算法在GPU集群上的实现与优化进行研究,主要工作和取得的成果如下:

1. PBF算法在单GPU上的实现与优化。本文对算法的数据结构进行改进,使其适合并行的访存方式;针对Kepler架构GPU的硬件特性修改算法流程,增加了额外的数据存取操作以充分利用各类缓存;调整空间索引网格的尺寸、合并存储相邻网格的粒子序列,减少了邻域粒子搜索过程中的粒子访问量和线程间同步次数,提高了GPU上的仿真效率。

2.利用GPU集群对PBF算法进行加速。设计了经过发送端主存的流水线化的GPU间长消息传输方法,提高了有效通讯带宽;通过在CPU间交换控制信息完成GPU间短消息的传输,降低了传输延迟;分别使用一维分割和二维ORB分割,将不同规模的粒子集划分至各个GPU中计算;利用计算隐藏通讯开销,降低了GPU间交换数据对算法效率造成的负面影响;以每个GPU的运行时间为依据对集群进行动态的负载均衡,使各个GPU的计算量趋于均等。

3.设计并实现面向PBF算法的并行加速平台。在以上工作基础上,加速平台提供了一套基于GPU集群的PBF算法函数库。函数库内部包括PBF算法的实现和将PBF算法扩展至多节点上实现时所需要的同步、通信等操作。函数库提供一组接口,通过该接口的调用可以在集群上以多种方式调用PBF算法并对其进行修改,而无需关心集群开发的底层细节。