基于GPU集群的格子Boltzmann流体模拟并行计算的设计与实现ppt课件.ppt

基于GPU集群的格子Boltzmann流体模拟并行计算的设计与实现ppt课件.ppt

ID:59472492

大小:1.22 MB

页数:26页

时间:2020-09-14

基于GPU集群的格子Boltzmann流体模拟并行计算的设计与实现ppt课件.ppt_第1页
基于GPU集群的格子Boltzmann流体模拟并行计算的设计与实现ppt课件.ppt_第2页
基于GPU集群的格子Boltzmann流体模拟并行计算的设计与实现ppt课件.ppt_第3页
基于GPU集群的格子Boltzmann流体模拟并行计算的设计与实现ppt课件.ppt_第4页
基于GPU集群的格子Boltzmann流体模拟并行计算的设计与实现ppt课件.ppt_第5页
资源描述:

《基于GPU集群的格子Boltzmann流体模拟并行计算的设计与实现ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于GPU集群的格子Boltzmann流体模拟并行算法的设计与实现目录作品简介设设计方案实验分析创新特色1234一作品简介2.但是目前在基于LBM流体模拟中,使用GPU集群并行计算方面的研究很少。单个计算机由于硬件资源的限制,不能用于大规模流场的计算。集群并行计算成为实现低成本,高性能计算的重要途径之一1.基于LBM (Lattice Boltzmann Method)的现代计算流体力学在航空、气象、化工等领域获得了广泛的应用。目前利用CUDA技术在单GPU上进行LBM加速计算的研究也越来越多通过对单机CPU、多机CPU、多机GPU三种方案

2、的计算结果和效率对比分析,验证其可行性及加速性能。为在普通计算机群上进行大规模复杂计算,提供一种低成本、高性能的解决方案本项目使用MPI+CUDA技术在由多GPU组成的集群上进行LBM流体模拟并行计算,并以方腔流为算例,验证在多GPU集群上进行LBM并行计算的可行性和加速性能一项目简介项目背景项目目标二特色创新格子玻尔兹曼方法使用配置有支持CUDA技术的GPU显卡的普通计算机组成集群,并在集群上使用MPI+CUDA技术实现了基于LBM流体模拟的并行计算,实验验证了其可行性和加速性能,我们最高获得72.32倍的加速比。该方案解决了目前基于单G

3、PU计算机由于硬件资源限制而无法处理大规模计算流场的问题,同时获得非常可观的加速性能。为在普通计算机群上进行大规模复杂科学计算,提供一种低成本、高性能的解决方案。三设计方案—实现流程(1)1设计一个正确的单CPU程序。用于实现单机计算方腔流算例,实现流程如右图所示。2在单CPU程序的基础上,通过使用MPI技术,扩展到CPU集群上,实现基于MPI的多CPU程序。实现流程如右图所示。三设计方案—实现流程(2)3在实现基于MPI的多CPU程序的基础上,通过使用CUDA技术,扩展到GPU集群上,实现MPI+GPU集群程序。实现流程如右图所示。三设计

4、方案—实现流程(3)三设计方案—关键技术(1)■集群中多机通信方案交换机网卡CPUGPU计算机1网卡CPUGPU计算机2网卡CPUGPU计算机3网卡CPUGPU计算机4实验方案的集群构成示例如下所示,集群中各计算机之间的数据通信,我们采用目前流行的MPI(MessagePassingInterface,消息传递接口)来实现。三设计方案—关键技术(2)■计算流场网格子区块划分方案对于LBM来说,计算流场网格子区块的划分通常包括纵向划分、横向划分、棋盘划分3种方案。棋盘划分方案会造成边界格点数据交换时通信量增多,增大了程序开发难度,降低了计算效

5、率。横向和纵向划分时边界格点交换数据时通信量均较少,而纵向划分比较符合常人的习惯,因此,我们选择纵向划分方案。(b)横向划分(c)棋盘划分(a)纵向划分三设计方案—关键技术(3)■集群中各子计算区块边界格点数据交换方案当计算流场网格划分为多个子区块并分配到集群的各计算机中,在格点粒子分布函数流动时,各子区块边界格点的数据要交换到邻居计算机的子区块的边界中。为了能够计算方便,在每个子区块两侧边界处,各增加一层虚边界,用来存放从从其他计算机迁移过来的数据,这样可以使得在每个计算机内都可以完成子区块数据的碰撞和流动,过程如下图所示(图中每个子区块

6、的蓝色为实际边界,白色为增加的虚边界)。三设计方案—关键技术(4)■基于CUDA的并行数据存储结构设计方案根据CUDA的要求,为了高效地访问GPU全局内存,必须把要访问数据存储在同一连续地址内,实现合并访问。我们的方案是在GPU的全局内存中创建一个一维数组用来存放全部D2Q9模型格子9个方向的粒子分布函数值,先顺序存放所有格点的0方向的粒子分布函数f0,接着是1方向的f1,依次类推一直到f8(如下图所示),这样可以实现合并访问,提高效率。…….f0f1…f8所有格点f0所有格点f1f2—f7所有格点f8D2Q9模型三设计方案—关键技术(5)

7、■基于CUDA内核函数的设计与实现CUDA程序中在GPU上并行执行的代码,被组织成内核(Kernel),内核就是在GPU中被线程并行地执行的函数。我们把程序中并行部分设计成2个内核函数:碰撞内核函数和流动内核函数,将计算流场中每个格点映射到一个GPU线程上,每个线程按照LBM中的碰撞和流动公式同时并行地进行演化计算。实验环境介绍■实验环境CPU:IntelCorei5-24002.80GHz4核GPU:NVIDIAGeForceGT420显卡,显存容量1024MB,显存频率800MHz,流处理单元48个操作系统:WindowsXP软件平台:

8、VisualStudio2008,MPICH2■为了验证本程序的可行性与计算性能,选择二维顶盖驱动方腔流为实验算例四实验分析■4台MPI+GPU集群程序运行截图程序开始运行截图程

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。