OpenCL最早由苹果提出,在Intel、AMD、NVIDIA等巨头的参与下,去年12月已形成第一版标准。最初,人们对于OpenCL的认识仅仅局限于GPU通用计算的统一标准。而在最终的标准中我们看到,OpenCL将提供一个通用编程环境,支持多核心处理器(CPU)、图形处理器(GPU)、Cell架构以及数字信号处理器(DSP)等其他并行处理器。也就是说,OpenCL不仅针对GPU,依靠通用标准充分利用CPU、GPU及其他各类处理器产品的运算能力才是它的最终目标。
正是沿着这种思路,AMD本月初发布了“全球首款基于x86架构CPU的OpenCL开发平台”:OpenCL for CPU Beta。开发者可以利用该工具编制OpenCL软件,充分发挥多核心x86 CPU的运算能力。AMD在它的发布新闻稿中表示:
“AMD的OpenCL for CPU Beta是下一代ATI Stream SDK中OpenCL开发平台的关键组成部分。预计新ATI Stream SDK将于今年晚些时候推出。我们是业界唯一一家同时提供CPU和GPU的厂商,在挖掘OpenCL潜力的道路上拥有独特的优势。通过支持OpenCL,ATI Stream技术将能够令开发者将运算负载灵活的划分到CPU或GPU上,更有效的执行程序。”
然而,NVIDIA却不同意AMD的这种说法,认为此类SDK是把GPU通用计算开发者“绑在了CPU上”。NVIDIA GPU运算业务总经理Sanford Russell表示:“NVIDIA一直通过OpenCL、C和DirectCompute对GPU通用计算提供直接支持。而ATI则在Stream SDK 2.0 Beta中删除了Brook+,放弃了对GPU通用计算的直接支持。这令GPU通用计算开发者被绑在CPU上。反观NVIDIA,我们通过推出业内首个OpenCL可视化性能分析工具Siggraph和OpenCL开发向导,正在对OpenCL开发社区提供更加坚定的支持。”
AMD发言人Gary Silcott随后又对此作出了回应:“NVIDIA想要让大家认为GPU正在彻底接管常规计算,而事实上CPU仍是系统的关键组件。AMD可以为两者提供开放支持,不会愚弄业界称某种架构肯定会独霸市场。我们是业界能够唯一一家能够这样宣称的公司:‘OpenCL CPU支持部分现在已经可以提供下载,而包含OpenCL GPU支持的整合Steam SDK Beta很快就会推出,部分AMD合作伙伴甚至已经可以拿到这两大模块。'”
网友评论