|
CUDA是那一年由那个公司推出的?
2007年2月16号显卡厂商NVidia 推出CUDA架构
CUDA是用来做什么的?即CUDA原理是什么?
CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA?架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA?的处理器上以超高性能运行。 将来还会支持其它语言,包括FORTRAN以及C++。
CUDA的实现流程
CUDA在整个GPU计算中充当的就是翻译的角色,我们知道GPU的结构和CPU差别很大,GPU强调的是并行性重复性的计算工作,GPU因为结构和CPU不同,计算指令也不一样,而在GPU加速中,CUDA就是负责把CPU的计算指令翻译成GPU的计算指令,同时还负责显存和计算机系统内存中数据的交换操作.
我们可以形象的的把显卡也看成一台结构不一样的计算机,它以GPU为CPU,显存为内存,CUDA就负责把我们平常使用的CPU指令转换成这台显卡计算机所能接受的指令,并负责数据在这两台计算机之间的交换.而CUDA程序本身还是要靠CPU来执行的.
CUDA的计算流程
开发人员使用一种全新的编程模式将并行数据映射、安排到GPU中。CUDA程序则把要处理的数据细分成更小的区块,然后并行的执行它们。这种编程模式允许开发人员只需对GPU编程一次,无论是包含多处理器的GPU产品或是低成本、处理器数量较少的产品。当GPU计算程序运行的时候,开发者只是需要在主CPU上运行程序,CUDA驱动会自动在GPU上载入和执行程序。主机端程序可以通过高速的PCI Express总线与GPU进行信息交互。数据的传输、GPU运算功能的启动以及其它一些CPU 和GPU交互都可以通过调用专门的运行时驱动中的专门操作来完成。这些高级操作把程序员从手动管理GPU运算资源中解放出来。
编译过程
CUDA的核心部分是专门开发的C编译器。C语言对大多数开发人员都十分熟悉的,可以使编程人员专注于开发并行程序而不是处理负责的图形API。为了简化开发,CUDA的C编译器允许程序员将CPU 和 GPU的代码混合记录到一个程序文件中。一些简单代码被增加到的C程序中,通知CUDA编译器哪些函数由CPU处理,哪些为GPU编译。然后程序被CUDA编译器编译,而CPU处理的代码则由开发者的标准C编译器编。
IT168与Nvidia合作的CUDA ZONE网址是?CUDA BBS网址是?
IT168与Nvidia合作的CUDA ZONE网址
cuda.itpub.net/
CUDA BBS网址是
www.opengpu.org/
你最需要CUDA那方面的东西呢?
应用案例,优化,还有基础教程、教学视频
[ 本帖最后由 jboracle1981 于 2010-11-22 22:33 编辑 ] |
|