OpenCL

openCL可以提供比CUDA更细的控制粒度,而且它提供的是利用GPU做通用计算,相比CUDA的图形借口更加通用,而且可以支持其他硬件设备,如FPGA等。关于CUDA和OpenCL的关系,其实CUDA是一个架构,类似于CPU里的x86,而OpenCL是一个API,类似DirectX和OpenGL,

CUDA架构最主要的包含两个方面:一个是ISA指令集架构;第二硬件计算引擎。对于编程人员他可以选择不同的方式来进行编程,他们可以选择OpenCL API编程也可以选择C for CUDA语言来编程。而就C for CUDA来说,编程人员在利用C for CUDA语言来编程的时候,无需考虑过多与自身编程目的以外的因素。再拿前文提及的内存管理来说,C for CUDA使用Runtime进行管理。不管OpenCL还是C for CUDA语言来编程,最终它都是需要通过一个驱动程序来变成一个PTX的代码,PTX相当于CUDA的指令集来进行执行,然后交给图形处理其或者交给硬件来进行执行。

http://www.haogongju.net/art/1212769

http://blog.sina.com.cn/s/blog_61feffe10100oah2.html

http://www.khronos.org/opencl/
CUDA介绍。
http://wenku.baidu.com/view/9177ef06eff9aef8941e0645.html

 

posted on 2012-02-22 19:55  madec  阅读(653)  评论(0编辑  收藏  举报

导航