|
大家讨论得很热烈呀
一般来说,可以简单的认为CUDA是一种以C语言为基础的平台,主要是利用显卡上GPU的强大的浮点运算能力来完成的任务。
因为CUDA是NVIDIA力推的一种显卡技术,所以目前只有G80平台的NVidia显卡才能使用CUDA。
我的理解是由于NVIDIA 在CUDA中使用到一个含有并行编程模型和并行指令架构,其到NVIDIA的GPU在并行计算引擎的能力得以提升,从而比传统CPU更加高效的解决许多复杂并行计算。原因可能是CUDA架构在两个方面有实质上的提升:一个是ISA指令集架构的提升;第二硬件计算引擎的提升。
说到应用场合,可以和大家分享我们公司的实例:
近期,我公司就利用CUDA技术平台上开发展一种三维动态产品显示动画。
我公司的产品是一种类似外壳是金属压铸件,但内部有许多液压通路、电气通路的“黑盒子”产品。
因此,在产品开发中,或向客户介绍产品性能时,需要模拟内外部的各种情况。
简单说,就是用户需要自由的放大、缩小来观察产品的外形和内部结构,这种动画要比传统的三维线条图更立体化,这样和客户在产品沟通时就更方便。
实际上,在我们公司选型显示技术平台时,主要是考虑到G80中拥有128个单独的ALU,非常适合并行计算而且数值计算的速度优于CPU。
在三维产品动态显示中,我们使用CUDA来让GPU承担整个三维数据的物理计算,而用户将能获得让人感到惊奇的视觉效果。另外,就是用户可自由的放大、缩小的观察产品,这些巨量数据分析以前需要大规模的计算系统才能完成的工作,而且还需要等上一段时间,达不到实时的作用。
目前来说,CUDA技术在并行巨量数据处理上,特别是显示的视觉效果突破使得我们在和客户沟通中方便很多吧。
[ 本帖最后由 亭华龙哥 于 2009-12-25 21:10 编辑 ] |
|