NVIDIA新战法:OpenCL+CUDA

2009-3-2 作者: NVIDIA 来源: NVIDIA

关键字: OpenCL CUDA NVIDIA 

  在2008年12月9日,新加坡举行的2008亚洲SIGGRAPH大会上,NVIDIA公司宣布支持由全球各大半导体巨头组成的Khronos Group发布的OpenCL 1.0技术规范。OpenCL实际上是针对异构系统进行并行编程的一个全新的API,简单来说OpenCL它可以利用GPU,然后进行一些并行计算这方面的工作,这是API应用程序的编程接口,图形里面也有很多API,比如OpenGL那是针对图形的,OpenCL是针对并行计算的API,能够充分调动GPU的并行运算性能。 OpenCL不会代替CUDA,它实际上是利用CUDA驱动程序堆栈来在NVIDIA GPU上实现高性能计算,OpenCL标准的出台,CUDA更是如虎添翼。

  根据NVIDIA亚太区技术市场经理邓培智先生所说,OpenCL最早是Apple公司提出来的,从OpenCL一开始,NVIDIA就和Apple公司保持非常紧密的合作关系。OpenCL开发的过程中,它的技术平台都是基于NVIDIA的GPU,实际上OpenCL是基于NVIDIA GPU的平台进行开发的。另外OpenCL在大概两个多月以前进行了第一次演示,第一次演示也是在NVIDIA的GPU上演示的,可以说到目前为止NVIDIA GPU几乎是进行过的像这种演示的OpenCL程序的唯一的平台。

  Khronos Group的OpenCL工作组主席,同时也是NVIDIA公司嵌入式内容副总裁的Neil Trevett说到:“OpenCL技术规范是NVIDIA等行业领袖意识到这一机遇之后所取得的成果。凭借其开放式、跨平台的标准,该技术规范将在整个异构并行计算市场中得到更多的认可。NVIDIA将继续活跃于OpenCL工作组以便推动该技术规范的发展,并在所有NVIDIA平台中提供对OpenCL的支持,从而为开发人员提供另外一种方式来利用我们GPU中的超强计算动力。”

  关于CUDA和OpenCL的关系,其实CUDA是一个架构,类似于CPU里的x86,而OpenCL是一个API,类似DirectX和OpenGL,在CUDA架构上,目前主要使用CUDA C语言编译,NVIDIA计划今后推出更多基于其他语言的编译器,使用这些语言就可以开发OpenCL、DirectX等等程序,程序员在CUDA架构上,可以更随意的使用自己熟悉的语言来调动GPU并行运算性能,不需要对OpenCL的架构有非常深的了解就能进行开发。




责任编辑:熊东旭