iPhone 将采用 OpenCL 并行计算技术

一周前,苹果以 320 万英镑(约合 480 万美元)入股英国图形芯片设计公司 Imagination Technologies Group(以下简称 IMG)3.6% 的股份,同时 IMG 还宣布苹果获得了该公司的 PowerVR 移动图形处理器核心技术授权。

随后 IMG 又发布了一份招聘 OpenCL 工程师的通知。这意味著未来的 iPhone 不仅将采用 PowerVR 为核心的 GPU ,同时还将采用被应用在下一代 Mac OS X Snow Leopard 操作系统上的 OpenCL 并行计算技术。  

IMG 招聘职位包括:OpenCL 编译器高级设计工程师OpenCL 驱动设计工程师OpenCL 编译器设计工程师。每一项职位都要求熟悉“嵌入式实时操作系统”,熟练掌握核心程序(kernel)和汇编语言开发技巧,且暗示主要工作是致力于“当前及下一代图形硬件的软件开发”。

PowerVR

IMG 开发的 PowerVR 移动图形及视频处理器核心被应用在数百万台手机及其他移动设备上,从媒体播放器到电视机顶盒,再到汽车导航系统。PowerVR 图形核心还被应用在苹果的 iPhone 和 iPod touch 、诺基亚的N95 、平板电脑,以及来自摩托罗拉、索爱和 Palm 的其他高端手机上。

也有一些移动设备没有采用 PowerVR 核心,索尼的 PSP 采用的就是索尼私有的一种图形处理器(尽管有传闻称下一代 PSP2 有可能采用 PowerVR 核心)。与此同时,任天堂的 DS 和微软的 Zune 媒体播放器内部根本就没有使用 GPU ,完全依赖运行在主处理器 ARM CPU 上的软件图形。而嵌入 PowerVR 核心的 ARM 或英特尔 Atom 系统级芯片(SoC , System on a Chip) 不仅能够改进游戏的图形能力,还能够指出高质量的视频加速。

此外,PowerVR 核心还支持微软私有的 DirectX 图形应用程序接口(APIs) 和几乎现在已经成为移动设备标准的 OpenGL (Open Graphics Library) 3D 程序接口。苹果的 iPod touch 和 iPhone 帮助 OpenGL 在移动开发领域获得了巨大的成长。

OpenCL 准备好进入移动环境

OpenCL (开放计算语言)是一个开源、免费的并行编程标准,由苹果首先发起。苹果将其介绍给开发组织 Khronos ,由后者负责协调制定 OpenCL 规格、架构等标准,业界主要的图形和计算相关的厂商都是 Khronos 的成员。OpenCL 实际上是一组应用程序接口(API),它可以让开发人员利用 GPU 的计算能力进行图形计算以外的通用计算,即 GPGPU ( General-Purpose computation on GPUs,使用 GPU 进行通用计算)技术。

NVIDIA 与苹果在 OpenCL 上进行非常紧密的合作:OpenCL 目前的开发平台均基于 NVIDIA 的 GPU ,NVIDIA 公司副总裁 Neil Trevett 也是 OpenCL 工作组的主席。苹果的下一代操作系统 Mac OS X Snow Leopard 的最大优势之一即在于 OpenCL 并行计算标准。因此,新一代 MacBook 和 MacBook Pro ,以及即将升级的 iMac 和 Mac mini 的图形处理器都在向 NVIDIA 平台迁移。

但 IMG 招聘 OpenCL 开发者意味著 GPGPU 技术不再只是桌面开发者要关心的事,因为 OpenCL 已经做好了进入移动计算领域的准备,也就是说 PowerVR 核心将支持相关 OpenCL API ,让 OpenCL 成为移动设备的通用计算环境,这甚至超出了一些观察人士的预料。

苹果 与 IMG   

上周苹果以 320 万英镑获得 IMG 3.6% 的股份,同时还获得了后者的 PowerVR 核心技术授权。此前苹果与 IMG 的关系长期以来都处在秘密状态。

通过收购 PA Semi ,苹果已经显示出要自己为 iPod 和 iPhone 设计芯片的企图。而 IMG 的 PowerVR 核心则是业界标准的移动设备图形芯片核心。所以,苹果获得 IMG 的 PowerVR 核心技术授权并不令人意外,苹果能够将其应用在自己的 SoC 系统级芯片设计上。

但 IMG 招聘 OpenCL 工程师则暗示了一些新的东西:不是简单地让 PowerVR 图形核心与标准的 ARM CPU 组成常规的 SoC 设备 —— 就像当前的很多手机一样 —— 苹果还将采用 GPGPU 并行计算技术利用 PowerVR 图形处理器的计算能力迅速大幅提高 iPhone 的通用计算性能,就像下一代 Snow Leopard 一样。

苹果的优势在于 iPhone 上运行的 iPhone OS X 实际上是直接基于桌面级的 Mac OS X 的内核、操作系统、开发环境,只是一个移动版的优化。而苹果的竞争的对手们,无论是微软的 Windows Vista 与 Windows Mobile ,诺基亚的 Symbian 、Nokia OS 与 Linux 操作系统,还有 Google 的 Android 操作系统与桌面就 Linux 平台,几乎都找不到共同点。

此外,OpenCL 进入移动领域的另一大好处是:在微软私有的 DirectX 找到机会垄断移动市场前就建立一个开放、免费的移动开发环境及行业标准。