CUDA并行计算平台上据可视化探究.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并行计算平台上据可视化探究

CUDA并行计算平台上数据可视化探究   摘 要:近几年计算机图形学的发展使得三维表现技术得以形成,三维表现技术使我们能够再现三维世界中的物体,能够用三维形体来表示复杂的信息,可视化技术赋予人们一种仿真的、三维的并且具有实时交互的能力,但是将数据转换为图形的处理技术计算时间较长,而CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题,显著提高计算速度,文章对CUDA和实现数据可视化做了探究。 中国论文网 /1/viewhtm  【关键词】CUDA OpenGL 可视化   可视化技术使人们可以在三维图形世界中用以前不可想象的手段来获取信息或发挥自己创造性的思维,人们对计算机可视化技术的研究已经历了一个很长的历程,而且形成了许多可视化工具,其中SGI公司推出的GL三维图形库表现突出,易于使用而且功能强大,OpenGL经过20年的时间,作为一个久负盛名的跨平台的计算机图形应用程序接口规范,它已被广泛应用于游戏、影视、军事、地理、医学、机械设计,以及各类科学数据可视化的领域,它几乎支持所有主流操作系统平台,它应当是全球最为广泛学习和使用的图形开发API接口,我们几乎可以在全世界任何一台计算机安装的软件中找到它的身影,但调用它开发具有一定的难度。   科学计算可视化应用广泛,其中面绘制方法由传统的计算机图形学绘制曲面,体绘制方法是直接由三维数据生成屏幕上二维图像的技术,体绘制技术最大的优点是可以探索物体的内部结构,可以描述非常定形的物体,如肌肉,烟云等,而面绘制在这些方面比较弱。但它的缺点是数据存储量大,计算时间较长,NVIDIA推出的通用并行计算架构摆脱了复杂的图形API,作为数据并行的软硬件体系,CUDA编程模型能够解决这种复杂的计算问题。   本文的主要目的是探究如何进行数据的可视化,为了解决运算速度的问题探讨如何搭建并行计算平台,使用CUDA编程技术来提高运算速度,并对三维数据可视化。   1 CUDA平台   CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA架构编写程序,所编写出的程序可以在支持CUDA的处理器上以超高性能运行。鉴于建模时随着网格数目的增加,会使计算量成幂函数的增长,影响画面渲染的速度,又要有精度又要有速度,那么应用先进的并行计算架构显得尤为重要。   可以说计算行业正在从只使用CPU的“中央处理”向CPU与GPU并用的“协同处理”发展。,英伟达发明了CUDA(Compute Unified Device Architecture,统一计算设备架构)这一编程模型,是想在应用程序中充分利用CPU和GPU各自的优点。通过CUDA,GPUs可以很方便地被用来进行通用计算。在没有CUDA之前,GPUs一般只用来进行图形渲染(如通过OpenGL,DirectX)。CUDA进行了编程语言扩展,CUDA C/C++可以看作一个新的编程语言,CUDA工作的的对象就是GPU及GPU上的内存,且充分利用了GPU多核的优势及降低了并行编程的难度。一般通过C语言把数据从外界读入,再分配数据给CUDA,以便在GPU上计算,然后再把计算结果返回给C语言,以便进一步工作,如进一步处理及显示,或重复此过程。其中将CPU及系统的内存称为主机,将GPU及GPU本身的显示内存称为设备,其线程,线程块,线程格的三层结构适合于并行计算,线程一般通过GPU的一个核进行处理,线程块由多个线程组成,它是并行执行的,之间无法通信,也没有执行顺序,线程格是由多个线程块组成,而在GPU上执行的函数通常称为核函数,一般通过标识符__global__修饰,用于说明内核函数中的线程数量,以及线程是如何组织的,一般以线程格(Grid)的形式组织,每个线程格由若干个线程块(block)组成,而每个线程块又由若干个线程(thread)组成,在编程时,必须先为kernel函数中用到的数组或变量分配好足够的空间,再调用kernel函数进行工作。这样的一种硬件平台,加上CUDA编程模型已经取得了很多的的成果,它的搭建为数据可视化奠定了基础。   2 三维数据可视化   2.1 CUDA和OpenGL互操作   OpenGL 是图形硬件的软件接口,它不是一种编程语言,而是一种 API (应用程序编程接口),程序员通过调用OpenGL 库函数进行图形编程。通过CUDA,CPU承担的计算任务可以更多地移交给 GPU完成,,显示任务完全依靠GPU完成,CPU只负责传递数据到GPU既提高了整个过程的计算速度,也最大程度地发挥了GPU的功效,结合GPU并行处理能力和GPU 图像显示技术能很好的解决

文档评论(0)

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

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

1亿VIP精品文档

相关文档