当前位置首页 > 计算机 > 并行计算/云计算
搜柄,搜必应! 快速导航 | 使用教程

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

文档格式:PPT| 26 页|大小 1.46MB|2024-10-06 发布|举报 | 版权申诉
第1页
第2页
第3页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 26
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,作 者:,俸 毅 苏智彬 徐杨,指导老师:,覃章荣,广西师范大学 计算机科学与信息工程学院,基于GPU集群的格子Boltzmann流体模拟,并行算法的设计与实现,目录,作品简介,设,设计方案,实验分析,创新特色,1,2,3,4,一 作品简介,2.但是目前在基于LBM流体模拟中,使用GPU集群并行计算方面的研究,很少,单个计算机由于硬件资源的限制,不能用于大规模流场的计算集群并行计算成为实现低成本,高性能计算的重要途径之一,1.基于,LBM,(Lattice,Boltzmann,Method),的现代计算流体力学在航空、气象、化工等领域获得了广泛的应用目前利用,CUDA,技术在单,GPU,上进行,LBM,加速计算的研究也,越来越多,通过对单机,CPU,、多机,CPU,、多机,GPU,三种方案的计算结果和效率对比分析,验证其可行性及加速性能为在普通计算机群上进行大规模复杂计算,提供一种,低成本、高性能,的解决方案,本项目,使用MPI+CUDA技术,在由,多GPU,组成的集群上,进行LBM,流体模拟,并行计算,,,并以方腔,流为,算例,验证,在多,GPU,集群上进行,LBM并行计算的可行性和加速性能,一 项目简介,项目背景,项目目标,二 特色创新,格子玻尔,兹曼方法,使用配置有支持,CUDA,技术,的,GPU,显卡的普通计算机组成,集群,,并在集群上使用,MPI+CUDA,技术实现了基于,LBM,流体模拟的并行计算,实验验证了其可行性和加速性能,我们最高获得,72.32,倍的加速比。

    该方案解决了目前基于单,GPU,计算机由于硬件资源限制而无法处理大规模计算流场的问题,同时获得非常可观的加速性能为在普通计算机群上进行大规模复杂科学计算,提供一种,低成本、高性能,的解决方案三 设计方案,实现流程,(1),1,设计一个正确的,单CPU,程序,用于实现单机计,算方腔流算例,实现流,程如右图所示2,在,单CPU程序的基础上,通过使用MPI技术,扩展到CPU集群上,实现基于,MPI,的多CPU程序,实现流程如右图所示三 设计方案,实现流程,(2),3,在实现基于,MPI,的多,CPU程序的基础上,通过使用,CUDA,技术,扩展到,G,PU集群上,实现,MPI+GPU,集群程序,实现流程如右图所示三 设计方案,实现流程,(3),三 设计方案,关键技术,(1),集群中多机通信方案,交换机,网卡,CPU,GPU,计算机,1,网卡,CPU,GPU,计算机,2,网卡,CPU,GPU,计算机,3,网卡,CPU,GPU,计算机,4,实验方案的集群构成示例如下所示,集群中各计算机之间的数据通信,我们采用目前流行的,MPI,(,Message Passing Interface,,消息传递接口)来实现。

    三 设计方案,关键技术,(2),计算流场网格子区块划分方案,对于,LBM,来说,计算流场网格子区块的划分通常包括纵向划分、横向划分、棋盘划分,3,种方案棋盘划分方案会造成边界格点数据交换时通信量增多,增大了程序开发难度,降低了计算效率横向和纵向划分时边界格点交换数据时通信量均较少,而纵向划分比较符合常人的习惯,因此,我们选择,纵向划分方案,b,)横向划分,(,c,)棋盘划分,(,a,)纵向划分,三 设计方案,关键技术,(3),集群中各子计算区块边界格点数据交换方案,当计算流场网格划分为多个子区块并分配到集群的各计算机中,在格点粒子分布函数流动时,各子区块边界格点的数据要交换到邻居计算机的子区块的边界中为了能够计算方便,在每个子区块两侧边界处,各增加一层虚边界,用来存放从从其他计算机迁移过来的数据,这样可以使得在每个计算机内都可以完成子区块数据的碰撞和流动,过程如下图所示(图中每个子区块的蓝色为实际边界,白色为增加的虚边界)三 设计方案,关键技术,(4),基于CUDA的并行数据存储结构设计方案,根据,CUDA,的要求,为了高效地访问,GPU,全局内存,必须把要访问数据存储在同一连续地址内,实现合并访问。

    我们的方案是在,GPU,的全局内存中创建一个一维数组用来存放全部,D2Q9,模型格子,9,个方向的粒子分布函数值,先顺序存放所有格点的,0,方向的粒子分布函数,f0,,接着是,1,方向的,f1,依次类推一直到,f8(,如下图所示,),,这样可以实现合并访问,提高效率,f0,f1,f8,所有格点,f0,所有格点,f1,f2f7,所有格点,f8,D2Q9,模型,三 设计方案,关键技术,(5),基于CUDA内核函数的设计与实现,CUDA,程序中在,GPU,上并行执行的代码,被组织成内核(,Kernel,),内核就是在,GPU,中被线程并行地执行的函数我们把程序中并行部分设计成,2,个内核函数:,碰撞内核函数和流动内核函数,,将计算流场中每个格点映射到一个,GPU,线程上,每个线程按照,LBM,中的碰撞和流动公式同时并行地进行演化计算实验环境介绍,实验环境,CPU,:,Intel Core i5-,2400,2.80GHz 4,核,GPU,:,NVIDIA GeForce GT 4,2,0,显卡,显存容量,1024MB,,,显存频率,800MHz,,流处理单元,48,个,操作系统,:,Windows,X,P,软件平台,:,Visual Studio 2008,,,MPICH2,为了验证本程序的,可行性,与,计算性能,,选择,二维顶盖驱动方腔,流,为实验算例,四 实验分析,4台MPI+GPU集群程序运行截图,程序开始运行截图,程序结束运行截图,使用单,CPU,程序模拟,的顶盖驱动方腔流示意图,4,台集群,使用,MPI,程序模拟,的顶盖驱动方腔流示意图,4台集群,使用,MPI+,GPU,程序模拟,的顶盖驱动方腔流示意图,四 实验分析,如图4台集群的三种方案计算,结果相,吻合,。

    同样,2台集群、,8台集群的实验结果,亦相吻合,流场大小,256X256,运行,10000,步时三种,方案结果对比,四 实验分析,使用,2台,计算机组成的集群运行,10000,步的时间和加速比对比情况,流场大小,单CPU程序,MPI集群用,加速比,MPI+GPU集,加速比,64*64,19.219,14.61,1.31,18.478,1.04,128*128,78.062,52.390,1.49,56.160,1.39,256*256,131.235,85.774,1.53,60.058,2.19,512*512,532.750,245.51,2.17,100.708,5.29,640*640,850.5310,338.418,2.51,111.765,7.61,1152*1152,2763.790,576.99,4.79,205.639,13.44,1792*1792,6675.951,1306.49,5.11,379.747,17.58,四 实验分析,使用,2,台,计算机组成的集群运行,10000,步的加速比折线图,四 实验分析,使用,4台,计算机组成的集群运行,10000,步的时间和加速比对比情况,流场大小,单,CPU,程序,MPI,集群用,加速比,MPI+GPU,加速比,64*64,19.219,11.439,1.68,15.499,1.24,128*128,78.062,40.87,1.91,36.307,2.15,256*256,131.235,58.587,2.24,50.282,2.61,512*512,532.750,191.637,2.78,93.79,5.68,640*640,850.5310,224.414,3.79,106.936,7.95,1152*1152,2763.790,377.566,7.32,165.60,16.96,1792*1792,6675.951,507.600,13.152,285.541,23.38,四 实验分析,使用,4台,计算机组成的集群运行,10000,步的加速比折线图,四 实验分析,使用,8台,计算机组成的集群运行,10000,步的时间和加速比 对比情况,流场大小,单CPU程序,MPI集群用,加速比,MPI+GPU,加速比,64*64,19.219,24.781,0.775,30.506,0.63,128*128,78.062,20.218,2.358,36.307,2.15,256*256,131.235,37.603,3.49,48.072,8.06,512*512,532.750,67.097,7.94,91.853,13.78,640*640,850.5310,83.141,10.23,114.936,20.69,1152*1152,2763.790,111.849,24.71,245.452,43.12,1792*1792,6675.951,201.995,33.05,375.475,72.37,四 实验分析,使用,8台,计算机组成的集群运行,10000,步的加速比折线图,四 实验分析,使用,2台,、,4台,、,8台,计算机组成的集群运行,10000,步的加速比,折线图,四 实验分析,使用,2台,、,4台,、,8台,计算机组成的集群运行,10000,步的加速比,柱状图,总结分析,在流场比较小时(如64*64),MPI和MPI+,CUDA,方式加速优势并未能,体现。

    因为MPI和MPI+CUDA方式的时间基本花费在了通信上,当流场128时,MPI和MPI+,CUDA,方式的加速性能比CPU有明显的,提升,而且加速比随着计算流场规模的增大而增大,随着集群中的,计算机的数量,增加,MPI和MPI+,CUDA,方式的加速比,也会明显增加,结论,在,CUDA框架下,设计和实现了在多GPU上基于LBM的方腔流,模拟的并行算法与单CPU、MPI对比结果表明在多个GPU,上基于LBM的流体模拟并行计算是,完全可行,的;使用多GPU,后,加速性能得到了大幅度的提高,展示了集群GPU在科学,计算方面强大的计算能力,说明了使用集群GPU并行计算,,可以极大地提高计算效率采用我们的方案,低成本,,,高性能,敬请您批评指正 谢谢,!,。

    点击阅读更多内容
    卖家[上传人]:细水长流999
    资质:实名认证
    相关文档
    正为您匹配相似的精品文档