热点推荐
ZOL首页 > 显卡 > 评测 > 1000元以上 >

ATI GPU OPEN CL综合性能分析

超越图形界限 AMD并行计算技术全面解析

CBSi中国·ZOL 作者:中关村在线 濮元恺 责任编辑:王胤韬 【原创】 2010年08月25日 06:20 评论
在本页阅读全文(共53页)

    ● ATI GPU OPEN CL综合性能分析

    上一节我们使用两种软件考察了ATI GPU的吞吐特性,这个测试结果佐证了我们之前对于ATI GPU架构的相关分析,接下来我们将通过OpenCL通用计算测试程序OpenCL General Purpose Computing Benchmark (简称GPC Benchmark OCL)1.1版本全部项目来测试NVIDIA和ATI顶级单卡单芯性能,我们选择了10.3正式版驱动(AMD Radeon HD 5870)和256正式版驱动(NVIDIA GeForce GTX 480)。

    在测试之前有必要对本次测试项目做简单介绍:首款国人开发的支持GPU的OpenCL通用计算测试程序OpenCL General Purpose Computing Benchmark (简称GPCBenchMarkOCL)是由国内几名高性能计算从业人员和爱好者合作编写的,目的是为了评估在不同的OpenCL平台上一些基本算法和应用的性能。与目前流行的一些OpenCL、DirectCompute通用计算测试程序的不同在于,目前这些测试程序测试项目过于单一,基本上就是某一两种算法的性能测试,甚至干脆就是理论峰值计算性能的测试。

    而实际上,OpenCL计算设备包括GPU的计算性能是受非常多因素影响的,除了计算单元的频率和数量之外,还有计算单元架构、Global memory(显存)带宽、Local memory(GPU内的片上存储器,NVIDIA称为Shared memory,AMD称为Local Data Share)带宽和Bank conflict、存储器合并访问情况、存储器同步成本、缓存等各种因素。因此某些纸面计算性能非常高的GPU执行某些计算时性能却不一定好;又或者,某GPU在执行某种计算时虽然性能落后于另一架构的GPU,但是在执行另一种计算时性能反而超前。GPCBenchMarkOCL集合了高性能计算领域多种常见的基础算法和应用,能比较全面地评估GPU及其它OpenCL计算设备在通用计算应用中的性能。


超越图形界限 AMD并行计算技术全面解析
GPCBenchMarkOCL软件界面

    目前GPCBenchMarkOCL的测试项目包括:

    1、Global Memory带宽(读、写、拷贝以及PCI-E总线带宽) - 主要考察不同传输尺寸下各种访存操作的性能

    2、Local Memory带宽(带宽和Bank conflict) - 分析Local memory带宽与数据类型、Bank conflict的关系

    3、32位整数性能(加法、乘法、乘加和位运算) - 分析处理器32位整数处理性能

    4、单精度浮点性能(加法、乘法、乘加和特殊函数如sqrt、sin等) - 分析处理器单精度浮点数处理性能

    5、双精度浮点性能(加法、乘法、乘加和特殊函数如sqrt、sin等) - 分析处理器双精度浮点数处理性能

    6、常用计算(单精度和双精度浮点的大矩阵乘法、大矩阵转置、归约、DCT8x8) - 分析处理器在进行一些常用矩阵与信号处理运算中的表现

    7、图像处理(亮度直方图、2维卷积、降噪、双立方插值缩放) - 分析处理器在进行一些常用图像处理中的表现

    8、密码学(目前只有SHA-1 Hash Loop,以后将加入盒型加密和彩虹表) - 分析处理器在密码学应用中的性能。

    在GPCBenchMarkOCL中,所有测试都会在CPU和GPU(包括其它OpenCL设备)上运行并给出性能结果,不过CPU上运行的并非OpenCL代码而是用常规C语言实现的并行算法(会调度全部的CPU核)。而GPU上运行的OpenCL代码经过试验能正确运行在NVIDIA GTX285和AMD HD5870上。各算法的OpenCL实现有部分修改自NVIDIA和AMD的SDK,部分是由相关从业人员和爱好者提供的。

    由于NVIDIA和AMD的GPU架构上有很大区别,对于某些算法也许能专门针对NVIDIA或AMD的GPU架构写出非常难看的比较极端优化的OpenCL代码,但考虑编程难度、程序的可读性和普遍意义,GPCBenchMarkOCL只使用了一般的GPU编程优化方法做了简单优化(例如使用Local memory暂存数据、利用合并访问规则等),并且在不同的OpenCL计算设备上也是运行相同的OpenCL代码来进行测试。这保证了GPCBenchMarkOCL是目前比较容易找到的较为干净的测试软件,它可以真实反映硬件特性对不同数据类型的适应程度,这一点最重要。

    GPCBenchMarkOCL支持AMD RV770及Evergreen(R800)系列,以及NVIDIA G8x、G9x、GT200、GT21x、GF100等GPU的OpenCL平台。我们选用的测试平台同上一节。

超越图形界限 AMD并行计算技术全面解析
GPCBenchMarkOCL所有项目测试结果

    分析上图得到的测试数据我们可知,在纯吞吐环境中,AMD延续了R600架构以来的特性,其浮点吞吐量的优势得以体现。特别是浮点运算(单精度)测试中,HD5870压制了强大的Fermi架构GTX480。在密码学测试中,因为很少牵扯到计算层面,GPU只是不断随即生成数据然后去试探,所以A卡理论吞吐量高的特性再次得到体现。

    但是只要涉及到常规数学方法测试,这种实际运算环境中将会包含大量跳转嵌套分支等指令,只有运算器组织得当的GPU,才能有效避免理论值的大幅度衰减。A卡因为其架构设计原因,大幅度落后于Fermi架构。

    其中HD5870落后最为明显的图像处理,包括亮度直方图绘制、2维卷积(锐化)、快速非局部均值法降噪、图片缩放(双立方滤波)。这项测试主要考虑GPU的全局存储器和纹理访问能力,同时局部存储器原子操作也占到一定比重,所以架构较新的Fermi系列产品表现优异。

超越图形界限 AMD并行计算技术全面解析
GPCBenchMarkOCL测试总评

    我们将涉及存储器的测试归类到存储总评,密码学和单双精度浮点乘加归类到吞吐总评,图像处理和单双精度图形处理归类到计算总评,得到以上测试结果。这个结果可以非常直观地告诉我们在浮点吞吐中,R800由于其SIMD核心内的5D ALU采用VLIW技术,所以遇到规范的数据类型时可以表现出近乎满载的效率,而NVIDIA从G80到GF100芯片都面临吞吐量受制于流处理器结构的影响。

    但是一旦牵扯到包含大量跳转嵌套分支等指令的常规数学方法测试,NVIDIA对ALU阵列的组织形式优化立刻体现出优势,此时AMD的VLIW Cores无法满载运行,每一时刻都有大量运算单元空闲。

    另一个值得注意的地方就是NVIDIA GPU在局部存储器和全局存储器测试中表现优异,特别是全局存储器在197-257的驱动升级中提升了将近50%,这充分反映了GPU加入通用Cache的重要性。这里的局部存储器是寄存器到cache或者shared memory,全局存储器是cache或者shared memory到显存。我们估计NVIDIA优化了Cache的命中率。cache的命中来自对内存系列也就是显存的命中,所以GPU的整体效率会受益于Cache单元的不断优化。

上一页 1 ...40 41 42 43 44 ...53 下一页
本文导航
频道热词:华硕主板  Intel  AMD  
视觉焦点
ATI Radeon HD 4850
  • 商家报价:
  • 厂商品牌:ATI
  • ZOL评分:0
  • 网友口碑:0
  • 查看详细>>
    显卡评测热点
    排行 文章标题