关于cuda

来源:互联网 发布:js数组去重和排序csdn 编辑:程序博客网 时间:2024/06/10 10:03

CUDA呢简单来说就是GPU通用运算的一种编程框架。

GPU通用运算的含义简单地说就是让显卡的GPU去帮助cpu去干事儿。通用,是相对于专用而言,GPU用于游戏加速,那就是专用处理器,在普通软件的运用中,GPU的计算资源一般是闲置的,而承担运算工作的是CPU,CPU就是典型的通用计算处理器。所以在游戏的时候cpu也要工作。这就是为什么一般游戏都有个cpu的要求。用gpu通用运算是有好处的。一般来说衡量运算能力使用浮点运算速度。(浮点运算简单地说就是 加减乘除)cpu要远远低于gpu 就拿I7 来说 i7 950的浮点运算能力基本上才相当于GTX580gpu的四十分之一。这么强的能力不用 那就浪费了。所以大家就开使动脑子打gpu的主意。 最开始ATI提出了stream框架 来调用GPU协助cpu工作 但是没有之后Nvida、推出的CUDA有名。当然除了这俩还有其它的框架。 stream和 CUDA只适用于 各自的品牌 还不能完全称得上通用。

OpenCL 和 DirectCompute 就是两个大家全能用的通用框架。前者时apple所倡导的 后者是微软所开发的。这就是为什么 iso6系统的safari要比之前的都要快很多 这就是为什么ie10要比ie9快很多的原因 因为它们都可以调用了gpu来帮助运算。加快速度。前者被苹果低调的使用 后者被微软写入到DirectX11中 成为了标准。

再说回CUDA,CUDA是Compute Unified Device Architecture的缩写。我也不大会翻译 就叫cuda好了 这东西 用他的好处就是能调用GPU的平行运算能力 和强大的浮点运算能力。在视频解码。或者处理游戏中物理特效的时候有非常好的效果(如果用cpu 去算现在游戏所运用的物理特效 那cpu就会累死)其实日常用处很少。也就游戏和视频编码用得上。

cuda的用处还有很多 其实用在消费级的地方cuda很少大部分用在了特殊领域了。 很多超级计算中心 比如计算天气预告需要进行海量的数据计算 就应用得到gpu的运算能力了。
这里写链接内容

0 0
原创粉丝点击