>
首页 » 业界动态 » 由“OpenCL”想到的

由“OpenCL”想到的

作者:  时间:2008-12-26 16:38  来源:
“OpenCL到底是什么?”。在执笔《日经电子》2008年12月15日号刊登的报道“苹果主导下的‘OpenCL’,为处理器带来自由”期间,同事及上司多次这样询问笔者。虽然笔者自以为随着对OpenCL采访的不断深入,已理解了其内含及意义,但却难以满意地回答这种问题。

  万般无奈之下,笔者在报道中这样写道,“简而言之,OpenCL是在异构(Heterogeneous)多处理器平台上将硬件差异抽象化的技术”。对各位读者来说,也许这种表达方式很难理解。惭愧的是,目前还没办法用一句话回答“OpenCL到底是什么?”。笔者在与致力于推进OpenCL标准化的Khronos Group的总裁Neil Trevett见面谈及此事,他苦笑道:“业界人士能马上理解OpenCL的概况及其必要性。但是,要简洁地传达给业界以外的人却很难。我们也为此而头痛”。

为什么需要OpenCL?

  既然OpenCL难以简单进行描述,为什么笔者还要予以关注,笔者想借此机会略作介绍。

  假设在数字化民用产品上运行的应用软件的开发者,需要根据事先确定的系统结构编写程序。例如,在“该产品上配备A公司的CPU及B公司的DSP”的前提条件下,需要编写A公司的CPU用程序、以及B公司的DSP用程序。还需要规定CPU与DSP之间的通信步骤。

  CPU、GPU及DSP等处理器有各自的长处和短处,并具有根据处理器厂商的不同、适合执行某种处理的特点。在上述例子中,本来也许C公司的DSP更适合,或者将部分处理工作交给D公司的GPU,从执行速度及耗电量等方面来看更恰当。但是,改变处理器的种类并非易事。由于根据处理器的厂商及种类不同,程序编写的方法也不同,因此,如果不大幅改写程序,就不能在其他的系统结构下工作。也就是说,不仅是改用不同的处理器很难,确定哪种结构为最佳也很难。按照已确定的系统构造编写程序,就意味着剥夺了选择处理器的自由。

  可将软件开发者制作的程序拿到许多厂商推荐的多种处理器上试用,并自由地选择处理器的组合。OpenCL的目的就是提供这样的平台。OpenCL规定了无需修改已制作完成的程序,即可在配备与原系统不同种类处理器的系统上执行的标准API。

  参与OpenCL制定工作的某半导体厂商技术人员对笔者表示,明确区分软件开发者与半导体厂商职责范围的分界线就是OpenCL。当时,正值笔者产生了“即使造成此前拥有的客户流失也在所不惜?”的疑问。他的回答是这样的。“这才是健康的竞争环境。在这种竞争环境中,(厂商)会为了得到客户的认可而全力以赴。在半导体产品上精益求精,是我们的天职”。有了OpenCL这种API的分隔,软件开发者及设备厂商将可获得处理器选择的自由,而半导体厂商则可获得处理器开发的自由。

百闻不如一见

  顺便提一下,Khronos Group的Trevett是已开始在手机等领域得到广泛应用的图形处理API“OpenGL ES”的提案人。他表示,“虽然如今OpenGL ES被广泛采用,但从制定性能指标到普及为止花费了4年的时间”。由于性能指标制定后经过了2年半导体才面世,因此OpenGL ES的价值未能得到充分的认识。

  Trevett预计,与OpenGL ES面世时不同,OpenCL将会及早得到普及。“再过2个月适用性试验就将开始,预计各公司的处理器也将迅速提供支持。苹果已向我们表示,将在新一代操作系统中提供技术支持。虽然也许难以用语言描述OpenCL,只要能看到实际运行的情形,大家肯定会马上认识到它的价值”(Trevett)。真可谓“百闻不如一见”。(记者:竹居 智久)

相关推荐

2013年移动处理器大盘点之苹果三星

苹果  移动处理器  2014-01-08

iOS 7越狱迷雾:一场欺骗与愚弄的闹剧

苹果  iOS  2013-12-25

苹果憋大招:iPhone 6/iWatch齐曝光

苹果  iPhone  iWatch  2013-12-24

传2015年苹果A系列芯片将采用14纳米进程

苹果  芯片  2013-12-24

盘点2013电子科技行业最“烧钱”的企业

苹果  电子科技  2013-12-23

灵感来自iOS 7 全新苹果电视界面概念设计

苹果  电视  2013-12-18
在线研讨会
焦点