中国教育和科研计算机网
EDU首页 |  中国教育 |   高校科技 |   教育信息化 |   CERNET
教育信息化

资讯 | 专题 会议 观点 专栏 访谈 企业 产品 CIO 技术 校园信息化 下一代互联网 IPv6视频课堂

中国教育网 > 教育信息化
您现在的位置: EDU首页 > 教育信息化 > 集成应用 > 科研应用 > 高性能计算
利用CUDA加速流体计算
http://www.edu.cn   2012-10-08 中国教育网络 作者:田园1 齐记 刘斌杰 周庆国

字体选择:【大】 【中】 【小】

  在GPU上的CFD计算

  基于FDM和FVM的CFD计算是非常适合在GPU上实现的。以FDM为例,首先看一下FDM的计算方式。

  图3是CFD计算中网格的一个单元,使用FDM方法进行流体计算的时候,对于每一个网格上的物理量,都必须通过其上下左右相邻单元的物理量差分求解。这是一个非常典型的数据并行性问题,既处理方式相同,数据不同。数据并行性的问题非常适合在GPU上实现,这是因为GPU执行的方式叫SIMT(Single Instruction MultipleThreads,单指令多线程),同一条指令可以有多个线程执行,每个线程负责处理不同的数据。由此可见,利用GPU加速流体计算是可行的。

图4 GPU计算绕后台阶流场

  图4是使用GPU计算绕后台阶的流场图,从结果来看,GPU能够实现CFD的计算工作。在计算速度方面,随着网格数目的增大,GPU在完成一个时间步长的计算所需要的时间远远低于CPU,在计算16777216 个网格时,GPU 的计算速度达到了CPU的54倍。图5是GPU与CPU在计算不同尺寸时所需要的时间对比。

图5 GPU、CPU计算不同网格数目时间对比

  GPU并行计算技术为CFD带来了全新的解决方案,使用GPU计算能够获得相对于CPU更快的计算速度,同时能够降低并行计算的成本和功耗。但是,由于我们的GPU 计算设备较老(以GT200为核心的C1060),并且在双精度计算方面存在一些缺陷,因此无法使用双精度进行CFD的计算工作,导致了计算过程中迭代时收敛速度缓慢。接下来的主要工作是在Fermi为核心的设备上进行双精度的CFD计算,并验证GPU与CPU的计算结果。

页面功能 【打印】 【关闭】 【我有话说】

MOOC风暴来袭

版权所有:中国教育和科研计算机网网络中心 CERNIC,CERNET,京ICP备15006448号-16,京网文[2017]10376-1180号

关于假冒中国教育网的声明 | 有任何问题与建议请联络:Webmaster@staff.cernet.com