作者:416703721 | 来源:互联网 | 2023-06-03 13:24
实验室买了一块GPU,想做一做相关方面的实验。对于硬件完全不懂的我来说,完全是一块陌生的领域,还好,搜了一下资料,明白白了很多,自己写下来总结一下。CUDA的全称是ComputeUnifiedDe
实验室买了一块GPU,想做一做相关方面的实验。对于硬件完全不懂的我来说,完全是一块陌生的领域,还好,搜了一下资料,明白白了很多,自己写下来总结一下。
CUDA的全称是Compute Unified Device Architecture, 是NVIDIA® 公司的并行计算架构,主要是要来利用GPU的计算能力,来提高计算性能。进一步的说是在GPU上提供标准C编程语言,为在支持CUDA的NVIDIA GPU上进行并行计算而提供了统一的软硬件解决方案。
为什么要用GPU来计算呢,CPU不如GPU吗,这就要从CPU和GPU的架构说起了。
图片中绿色的是ALU(运算器),可以看到,CPU只有4个ALU,而GPU中的ALU多很多,并且GPU中把更多的晶体管用于数据处理方面。之所以这样是因为CPU和GPU的功能不一样,CPU要考虑上下文切换等所以需要复杂的控制单元和缓存来提高执行效率,而GPU不需要那样复杂的控制逻辑,所以GPU可以通过增加并行处理单元和存储控制单元来提供处理能力和存储器带宽。因而同期的GPU的计算能力会比CPU高很多个档次。为了充分利用GPU的运算能力,就有了现在的CUDA编程。
但是利用GPU运算有几个缺点。其中一个是,GPU通常不具有分支预测等复杂的流程控制单元,因此对于具有高度分支的程序,效率会比较差。所以如果你的计算内容不能高度并行化的话那么就不要去考虑用GPU来加快你的计算了。
下面是编程环境的安装
在win7 64位下安装cuda5.5和vs2010
下载地址为:https://developer.nvidia.com/cuda-downloads
http://www.cnblogs.com/xing901022/p/3248469.html