OpenCL 2.0 发布,将为软件提供更强动力
Khronos Group本周一发布了OpenCL 2.0,可为显示芯片提供更好的独立性,以便能为通用软件计算出更大的力。OpenCL是让显示芯片也能为通用软件提供计算能力的标准,标准制定者就是 Khronos Group。上周的Siggraph 2013大会上,该组织发布了2.0的临时标准,预计正式版本的发布要等到6个月以后。
GPU原本是为图像处理做专门工作的,但随着GPU技术发展的越来越快,它们也能从事一些原本CPU才能做的通用计算工作。GPU特别设计用于并行任务的执行,这些对于类似游戏中液体模拟喷溅等数学计算非常有帮助。
要将GPU用于通用计算的一大难点在于,软件的编写必须针对GPU和CPU同时进行。编程人员需要处理协调工作和对内存数据的取用。OpenCL 2.0则提供了对这些工作的提升。它能让程序员在内存中共享复杂的数据结构,而非将数据由一个组件转至另一个组件。OpenCL 2.0还能实现更多的控制,自行规划新的计算任务,而非等待CPU。
OpenCL主席,兼显示芯片制造商Nvidia的移动副总裁以及 Khronos Group的主席Neil Trevett说:“OpenCL 2.0解决了瓶颈问题,并且能够实现更灵活的程序设计技巧。”OpenCL提供了一个抽象层,令程序员在执行任务时无需了解GPU本身的细节情况。显示芯 片制造商编写驱动软件,这其中就为特定的芯片构建了OpenCL本地命令。
在Khronos提出的标准中,除了OpenCL 外,OpenGL更有名。OpenGL发展已有数年,但在电子游戏领域,受制于内建在Windows中微软自家DirectX技术的发展。但现在情况已有 很大不同,苹果的OS X就采用OpenGL,而Android和iOS都采用其子集OpenGL ES。OpenGL ES在计算领域还有另外一个伙伴:WebGL。WebGL提供了令Web应用实现硬件3D加速的标准,谷歌、Opera和Mozilla都对其提供了支 持。
Web版OpenCL名为WebCL,则还面临着更大的发展难度。Firefox对WebCL的支持还处于静止状态,而谷歌则由于安全问题也拒绝支持WebCL。
原文出处 cnbeta