基于CUDA的CFD关键算法研究的论述.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于CUDA的CFD关键算法研究的论述 目录 TOC \o 1-9 \h \z \u 目录 1 正文 2 文1:基于CUDA的CFD关键算法研究 2 1.引言 2 2.CFD及其CUDA计算加速技术 3 2.1GPU与CUDA简介 3 2.2.CFD程序的CUDA计算加速原理和方法 4 3.GMRES算法理论简介 4 3.2重启动gmres算法 4 3.3预条件 4 (1).diag预条件 5 4.预条件gmres算法的GPU实现 5 4.1数据结构与计算流程 5 4.2结果对比 5 结论 6 文2:基于CUDA的汇流分析并行算法的研究与实现 6 1 cuda并行计算的引入 8 2 基于dem的流域等流时线绘制算法 9 3 基于cuda汇流分析的并行算法 10 3.1 算法实现流程 10 3.2 算法及其应用分析 11 1)高程矩阵的分块和cuda中内存的分配 12 2)运算核函数 14 4 实验分析 15 3 207650 16 5 结束语 17 参考文摘引言: 17 原创性声明(模板) 18 正文 基于CUDA的CFD关键算法研究的论述 文1:基于CUDA的CFD关键算法研究 1.引言 1999年8月,NVIDIA在其原有的TNT显示芯片的基础上发布了全球首款图像处理器(GraphicsProcessUnit,GPU)——GeForce256。作为一款图形处理器,其编程接口支持开源的OpenGL标准以及微软DirectX7.0标准,分担了原来由中央处理器(CentralProcessUnit,CPU)承担的大量图形处理相关的计算任务。自此以后,在游戏工业以及视景仿真行业等相关产业的推动下,GPU得到了迅猛发展[1] 相比CPU而言,GPU虽然诞生时间较短,但其发展速度已经超过了CPU,按照摩尔定律,CPU的计算能力每18-24个月翻一倍,而GPU的计算能力几乎每12个月就翻一倍。目前主流GPU的单精度浮点数计算能力是当前CPU的10倍,而其内存带宽也已经达到了CPU的5倍[2]。从热力学上而言,通过在单一CPU上集成更多的晶体管实现CPU性能的提高是有极限的,因为在同一芯片上集成过多的晶体管会导致单位面积的热功率过高,使芯片过热失效。 本文基于CUDA架构讨论了利用GPU加速Roe格式有限体积法求解Euler方程的可能性。 2.CFD及其CUDA计算加速技术 2.1GPU与CUDA简介 如前所述,自1999年NVIDIA发布第一款GPU以来,GPU经过十几年的发展,其计算性能已经超过了CPU,其使用范围也从传统的图形计算延伸到通用计算当中。 本文使用的NVIDIA(英伟达)Teslak40图形卡基于Kepler架构,是目前最新单颗GPU性能最高的GPU。因为使用单指令多数据(singleitructionmultipledata)特性并行计算,使其计算能力大大提升。单精度浮点计算能力达到4290GFLOPs,双精度浮点计算能力达到1430GFLOPs,其计算核心达到2880个,片上显存12GB,内存带宽达到288Gbytesec,是高性能科学计算的理想选择。 本文中在GPU上运行的程序代码基于C语言的拓展集-CUDA(ComputeUnifiedDeviceArchitecture:计算统一架构),目前最新版本为v7.5。CUDA允许程序员作为一个独立的设备从CPU使用GPU及其随机访问存储器,该设备能够同时执行以块(Block)组织的大量线程(Thread)。多个线程区块组织在一起形成一个线程块网格(Grid)。所有的线程在GPU上执行内核(Kernel)代码。在硬件水平上,每一个流式多处理器单元可以同时执行超过1024个线程或者32个线程束(warp,每32个并行执行的线程集合)。每一个线程块对应一个流式多处理器单元及其16KB共享内存。由16384个(16KB)可读写的32位寄存器组成的共享内存决定并限制了同一流式多处理单元上线程区块的数量(同一流式多处理单元上最多8个线程区块)。此外,在内核执行期间,同一流式多处理单元上的所有区块的线程均可访问同一共享内存、只读常量内存以及纹理内存空间。 2.2.CFD程序的CUDA计算加速原理和方法 CFD程序中,大量存在着的数组计算大部分存在并行加速的可能。比如数组内积的计算、矩阵与数组乘法的计算,由于数组内积的计算过程除了最后的求和部分之外,之前的各项乘法计算是彼此独立,互不相关的,则与上述数组加法的实现过程类似,在GPU上将原有的两个数组的对应项的乘积计算封装在内核中,并行执行,而将最后的求和过程保留到CPU上

文档评论(0)

ayun1990 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档