OpenCL是一个广受欢迎、正在普及的通用计算标准,AMD、NVIDIA、Intel都早早地在桌面上提供了相应的驱动程序。移动端上,ARM、Imagination、高通、三星、德州仪器均保证支持OpenCL,并进行过一些演示,前三家还通过了Khronos Group组织的官方兼容性认证,但迄今为止,没有一款移动设备公开提供OpenCL驱动。ARM和高通可以提供驱动,但是否采纳要看设备厂商的意思,Google也坚持使用Renderscript Compute作为安卓的官方并行计算API。
不过现在有确凿证据显示,Nexus 4、Nexus 10其实都预装了OpenCL驱动,只是隐藏起来了而已。首先是推特上,有人说在Nexus 10 Mali-T604上完成了CLBenchmark OpenCL测试,然后是Beyond3D等多家论坛里的网友给出了在Nexus 10上访问OpenCL的方法,开发人员Matthew Scarpion也在自己的博客里做了说明。
最后,高通开发者论坛中有帖子称,Nexus 4也带有OpenCL驱动,并同样给出了使用方法。
AnandTech发布了一些OpenCL示例代码,可以在Nexus 4/10上正常运行,不需要额外安装任何特定库。
虽然已经可以完全确认Nexus 4/10中的确有OpenCL驱动,但目前只测试了一些最基本的功能,不知道它们是否就是已经通过官方认证的版本,或者是内部测试版本。很显然,应用开发人员现在最好不要轻易使用它们,毕竟bug肯定会很多,稳定性也会很差,而且说不定以后就消失了。
尽管如此,这对于OpenCL爱好者来说仍然是个好消息,在移动平台上利用OpenCL挖掘CPU、GPU的计算能力相信时日不远。