OpenCL是什么?与CUDA关系如何?
OpenCL实际上是针对异构系统进行并行编程的一个全新API,简单来说OpenCL它可以利用GPU进行一些并行计算方面的工作。这是API应用程序的编程接口,图形里面也有很多API,比如OpenGL、DirectX是针对图形的,OpenCL是针对并行计算的API。
OpenCL开发人员可以利用GPU和CPU的计算能力,把GPU和CPU异构的系统运用在很多并行计算的领域里面。Khronos就是这样一个组织,它由很多厂商组成,并有非常多的成员,这个工作组同时也是OpenCL的一个协调机构,也就是Khronos这个工作组它来负责制定OpenCL的规格、架构等等各方面。业界最主要的和图形或者和计算相关的厂商都是Khronos的成员。
值得一提的是OpenCL得到Khronos组织里很多成员的支持,同时也验证大家对开发GPU并行计算的能力这个需求越来越多,也正是因为有这个需求成就了OpenCL。
那么NVIDIA和OpenCL是一个怎样的关系呢?
实际上OpenCL对于业界来说是非常重要也是非常好的一个标准,它的出现令业界拥有了一个共同的标准利用GPU的强大计算能力,然后应用在图形以外各种各样的并行计算中。其中NVIDIA一直也参与OpenCL的工作,正如前文所提及的NVIDIA副总裁Neil Trevett先生,他现在就任OpenCL工作组的主席,引导很多OpenCL的开发,当然这个组织中还有很多其他开发公司。
OpenCL最早是Apple公司提出来的,从OpenCL一开始NVIDIA就和Apple公司进行非常紧密的合作。OpenCL开发的过程中,它的技术平台都是NVIDIA的GPU,实际上OpenCL是基于NVIDIA GPU的平台进行开发的。另外OpenCL的第一次演示,也是在NVIDIA的GPU上演示的,可以说到目前为止NVIDIA GPU几乎是进行OpenCL程序的唯一的平台。
另外还有非常重要的一点,对于Apple公司来说,他们是把GPU计算当成一种未来的趋势,他们非常重视OpenCL,他们将会在新一代的产品里面选择最适合于OpenCL运行的平台。所以说他们新一代苹果的笔记本电脑全都采用了NVIDIA的平台,不管是MacBook Pro、Mac OSX都是采用了NVIDIA公司的平台。实际上这也是从另外一个方面证明NVIDIA的GPU对于OpenCL的支持,到目前为止是最好的一个硬件的平台。
- 第1页:通用计算新锐OpenCL CUDA来助阵
- 第2页:OpenCL是什么?与CUDA关系如何?
- 第3页:彻底了解CUDA架构/OpenCL存在意义