OpenCL(Open Computing Language 开放运算语言) :是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境。目前电脑上服务器上有很多PU,CPU,GPU,APU之类的,在电脑进入多核时代的时候,只是硬件的升级。而软件对性能的提升上,并无良好的支持,正是因为这样,由苹果公司发起的一个开源统一的标准OpenCL出现,它的主要目的就是让多核的效率能够完全释放。
OpenCL与DX系列API,OpenAL,OpenGL是一个级别的API,它是跨平台的。相比硬件级别的语言,OpenCL是一种高级API。但是相对于应用程序它又是低级别的,接近底层的API。
CUDA是Nvidia 的一个架构,它是一个硬件级的架构,与intel的X86类似。它支持OpenCL和DX系列,可惜的是AMD系列的显卡不支持它。只能说Nvidia 想组建自己的多线程底层架构,所以直接使用CUDA来写程序是比较愚蠢的。
CUDA是NVIDIA想替代CPU的一个规划,其实这样也好,省了2000块,不是么?