大家都知道CPU和GPU,CPU的功能主要是解释计算机指令以及处理计算机软件中的数据。GPU是一个专门的图形的核心处理器。两者的分工不同,那们两者可不可以一起来合作协作运算?有,那就是异构计算, 什么叫异构计算呢?在异构计算系统上进行的并行计算通常称为异构计算。人们已从不同角度对异构计算进行定义,综合起来我们给出如下定义:异构计算是一种特殊形式的并行和分布式计算,它或是用来同时支持simd方式和mimd方式的单个独立计算机,或是用由高速网络互连的一组独立计算机来完成计算任务。它能协调地使用性能、结构各异地机器以满足不同的计算需求,并使代码(或代码段)能以获取最大总体性能方式来执行。
异构计算是一个很广泛的概念,我们电脑DIY玩家一般说的“异构计算”指的是“GPU异构计算”,意思就是用显卡GPU来处理一些原本CPU可以处理的计算。目前通用计算规范主要有三种,NVIDIA独家的CUDA,微软主导的DirectCompute,苹果等多家厂商支持的OpenCL。因此我们今天要讲的,主要就是其中的OpenCL, OpenCL是业界通用的标准。
OpenCL是开放的通用计算加速标准,目前已经有越来越多的软件支持OpenCL,我们常用的文件压缩、音视频转码、图像处理、视频播放等软件都有支持OpenCL的版本,比如WinZip、PowerDVD、Handbrake、PhotoShop、VLC播放器等。
AMD用价格更低的A10-5800K挑战Core i5级别的Intel处理器靠的就是这个优势,因为他们在GPU性能上相比Intel实在太强势了,强大的浮点性能只是用来玩游戏就太浪费了,有了OpenCL的辅助GPU可以加速更多的CPU应用,用户使用AMD的CPU也能获得更多的性能提升了。异构计算到底能带来多少性能上的提升呢?我们进行了一些测试对比, 一切以事实为依据, 请看测试。
本次测试平台:
电脑型号 X86兼容台式电脑
操作系统 Windows 7 旗舰版 64位 ( DirectX 11 )
处理器 AMD A10-5800K
主板 七彩虹战斧C.A75K M2 V14
内存 4 GB ( 金士顿 DDR3 1600MHz )
主硬盘 西数 WDC WD5000AAKX-001CA0 ( 500 GB / 7200 转/分 )
集成显卡 AMD Radeon HD 7660D
显示器 冠捷 AOC1982 LW982 ( 18.6 英寸 )
声卡 瑞昱 ALC887 高保真音频
网卡 瑞昱 RTL8168E PCI-E Gigabit Ethernet NIC
驱动程序 AMD_Catalyst_12.11_Beta4
电源 GP1100G
WinZip 16.5之后的版本开始支持OpenCL加速,可以借助GPU的能力提升压缩文件的速度,测试中用它压缩一个750.99MB大小的驱动包,秒表记录压缩时间。由于APU中OpenCL加速有开关选项,对比了加速前后的A10-5800K的压缩时间。
WinZip 17开启和关闭OpenCL选项
开启OpenCL用时22.8S
关闭OpenCL用时41.94S
开启与关闭Opencl用时对比图
显卡通用计算性能测试软件——LuxMark
LuxMark考验的是显卡的OpenCL运算能力,测试时使用GPU/CPU/GPU+CPU模式,看看开启OpenCL后性能的提升。
CPU模式,得分185
纯GPU模式,得分242
GPU+CPU, 开启OpenCL,得分333
三种模式得分对比图
Adobe Photoshop CS6是Adobe公司旗下最为出名的图像处理软件之一,集图像扫描、编辑修改、图像制作、广告创意,图像输入与输出于一体的图形图像处理软件,深受广大平面设计人员和电脑美术爱好者的喜爱。2012年4月24日,Adobe发布了Photoshop CS6的正式版,在CS6中整合了其Adobe专有的 Mercury图像引擎,通过显卡核心GPU提供了强悍的图片编辑能力。Adobe Photoshop CS6中有开启和关闭OpenCL的选项。
在这里,我们使用一张204MB的图片进行径向模糊测试,看看其耗时多少进行对比。
关闭OpenCL, 渲染的时间是81.6秒
开启OpenCL, 渲染的时间是78.7秒
测试对比图
HC Benchmark,是全球第一款真正的异构计算基准测试工具,能够同时调用CPU和GPU的运算资源,无论是AMD独立显卡还是APU,只要是支持异构计算的系统都可以在这款软件上面将潜力完全发挥。HC BenchMark测试软件由办公、视频娱乐、网页体验、游戏体验四部分组成, 测试得分为26504
总结:开启opencl后,即CPU和GPU一起协作运算,在WINZIP压缩软件中,性能瞬间提升了83.94%, 这是实实在在的提升,让你大大提高了工作效率。在著名的PS软件中,开启OPENCL后,渲染时间有缩短,总之,开启opencl后,性能都有提升,这给我们的工作提高了效率,目前已经有越来越多的软件支持OpenCL,但是生态环境还不太成熟,希望有更多的软件支持opencl,同时AMD NVIDIA INTEL的异构计算性能有大的提升!