要达到这个目的,其实只要在既有的x86 CPU架构的个人计算机或服务器上,就可以实作,简而言之,就是设法让PC的CPU与GPU相互搭配,形成所谓的异构计算系统(Heterogeneous Computing System),使原本用来加速计算机图形处理的GPU,也能用来协助CPU来执行通用的计算任务。

基本上,这样的运算架构到目前为止,都是由GPU厂商在推动,例如由Nvidia所主导的CUDA(Compute Unified Device Architecture),1.0版的软件开发套件(SDK)在2007年登场,经历多次改版,到了去年10月已发表5.0。

而另一家GPU厂商AMD支援的GPGPU架构,主要是HSA(Heterogeneous System Architecture),而他们采用的基本程序开发环境,包括由Khronos Group 所维护的OpenCL(Open Computing Language),以及微软的C++ AMP(Accelerated Massive Parallelism,整合在Visual Studio和Windows 8内),在这个环境下所使用的软件开发套件,主要是基于AMD所开发的APP SDK(Accelerated Parallel Processing)。

AMD在2008那一年和Apple、IBM、Intel、Nvidia等厂商合作,推动OpenCL与制定1.0版的规格;OpenCL最近一次改版是在2011年,而所推出的是1.2版。去年AMD与ARM、三星、德州仪器等厂商又成立了HSA基金会,进一步推动异构系统架构。与由Nvidia一家厂商所专注培育的CUDA相较,HSA未来能否真正普及与发挥影响力,还有待观察。

就双方目前公布的应用实例来说,CUDA明显超前许多,横跨多种专业领域,象是计算化学、金融计算、计算流体力学、计算结构工程、数值分析、影像与计算机视觉、医疗影像、生物信息、电子设计自动化、资料探勘、分子动力学、气象气候,在消费端也有不少软件搭配应用,象是计算机游戏、多媒体编辑软件等。

而OpenCL方面,利用AMD APP技术来加速的例子,从AMD开发者网站公布的信息来看,目前数量多寡与应用层面的广泛度相形见拙。目前这些应用涵盖范畴分为消费端(游戏、浏览器、压缩软件)、多媒体(图片、视讯的编辑、转档软件)与科学(有机奈米晶体、天体物理学)。