CUDA(compute unified device architecture,统一计算设备架构)是nVIDIA在07年推出的针对GPGPU这种老式开发方式的一个全新方式,它呢不像以前要搞GPU开发还要先学个图形库像DX,OpenGL等,要挂个具体的图形 API才能用,现在这种方式降低了搞GPU开发的门槛,只要会标准C就可以搞GPU开发啦。你直接将GPU作为计算单元来管理和进行并行计算。
安装配置:
1.visual c++ 2005
2.dx9c
3.cuda(只要选操作系统就行了)
然后把三个都下了
3.1.181.20_geforce_winxp_32bit_english_whql.exe[我不是nvidia的显卡所以装不上]
3.2.CudaSetup-2.1-win32.exe
3.3NVIDIA_SDK10_CUDA_2.10.1215.2015.exe
在VC8中把DX的库关联上去.再看 doc/CUDA_SDK_release_notes_windows.txt
从微结构上看,CPU擅长的是像操作系统,系统软件和通用应用程序这类拥有复杂指令调度,循环,分支逻辑判断以及执行等程序任务。程序逻辑的复杂度也限定了程序执行的指令并行性,在CPU上基本无法完成上百个线程并行执行程序。GPU擅长的是图形类或非图形类的高度并行数值计算,GPU可以容纳上千个没有逻辑关系的数值计算线程,它的优势是无逻辑关系数据的并行计算。现在GPU数值计算的优势主要是浮点运算,它执行浮点运算快是靠大量并行,但这种数值运算的并行性在面对逻辑判断执行时却发挥不了优势.再具体的看,GPU特别适合并行数据运算----同一个程序操作许多并行数据元素,并具有高运算密度(指算术运算与内存操作的比例),并且在高密度计算时,GPU访问内存的延迟可以被掩盖.