GTX480的CUDA-Z测试结果的简单分析

cuda2010 2010-04-05 12:19:55

在nVidia论坛的一个帖子中,有人放出来了一个GTX480的CUDA-Z测试结果图,通过分析该结果我们可以对fermi的CUDA性能有个大致的了解。

CUDA-Z是一个检测显卡CUDA性能的小软件,其功能大致相当于devicequery+bandwidthTest+一简单的benchmark。

CUDA-Z的benchmark原理是用1个block进行计算,然后乘上sm数得到整体的性能。它的kernel启动参数固定为<<<1,512>>>。具体测试内容是一个加乘组成的循环(因此不能利用dual-issue,实际上没有测到真正的峰值)。测试的数据类型包括单精度/双精度/24位整数/32位整数四种。

该贴给出的GTX480的CUDA-Z测试结果为:
内存拷贝带宽: 57.7GB/s
单精度: 1338.0Gflop/s
双精度: 168.2Gflop/s
32位整数: 671.8Giop/s
24位整数: 671.0Giop/s

作为对比, 我的GTX295的CUDA-Z测试结果为: (测试的是1个GPU,如果是整体性能要乘2)
内存拷贝带宽: 46.0GB/s
单精度: 593.0Gflop/s
双精度: 72.7Gflop/s
32位整数: 119.1Giop/s
24位整数: 593.3Giop/s


首先说明一下,CUDA-Z内存拷贝带宽值总是比bandwidthTest给出的要小,这是因为两者的标准不一样。CUDA-Z把内存读写算作一次,而bandwidthTest算作两次,因此bandwidthTest给出的结果一般是CUDA-Z的2倍。

这里GTX480内存带宽是GTX295的57.7/46.0=1.25倍,而GTX480的理论峰值带宽应该是GTX295的177.4/111.9=1.59倍,这个差别有点大,CUDA-Z没有把GTX480的带宽完全发挥出来。

单精度的结果,GTX480和GTX295都符合freq*cores*2的公式。因为没有利用到dual-issue,这是正常的。

双精度的结果,GTX480和GTX295都符合freq*cores*2/8的公式。只能说GTX480十分令人失望。

GTX295的32位整数很慢,只有单精度的1/5。因为测试的是整数乘法,慢是正常的,这不能完全代表GTX295的整数性能,如果是整数加减法会快很多。

GTX295的24位整数很快,为freq*cores*2,和单精度一样快。这说明要么存在整数的mad指令,要么触发了dual-issue。

GTX480的24位和32位整数测试结果相同,这和手册上的说明不符,可能有点问题,因为手册上说sm_20的24位乘法很慢。

还一点需要注意的是GTX480整数性能是freq*cores*1,而GTX295的24位整数是freq*cores*2。这个退步不小,某些情况下可能会成为一个问题。
...全文
1337 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cuda2010 2010-04-07
  • 打赏
  • 举报
回复
32位整数乘法很慢,这个SDK手册上有说明。32位加减法还是比较快的。
kuangquansheng 2010-04-06
  • 打赏
  • 举报
回复
我刚刚才知道,G92和GT200的32位整数运算这么慢啊
cuda2010 2010-04-05
  • 打赏
  • 举报
回复
呵呵,GPU的双精度相对效率也是很高的,可以接近100%。
相比而言我倒是更喜欢GPU的优化,CPU想要优化到峰值非常困难。
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cuda2010 的回复:]
CPU的理论峰值有多种算法,我认为高性能TOP500的算法比较可靠。按照TOP500的算法,目前主流CPU的峰值性能=主频*核数*4。

i7的主频如果按2.66GHz算,那么它的双精度峰值性能是2.66*4*4=42.56GFlops,大约相当于GTX480的1/4。

从TOP500的实际结果看,理想情况下CPU的实测性能(linpack)可达到理论峰值的90%以上。
[/Quote]

最后一句是关键!
cuda2010 2010-04-05
  • 打赏
  • 举报
回复
CPU的理论峰值有多种算法,我认为高性能TOP500的算法比较可靠。按照TOP500的算法,目前主流CPU的峰值性能=主频*核数*4。

i7的主频如果按2.66GHz算,那么它的双精度峰值性能是2.66*4*4=42.56GFlops,大约相当于GTX480的1/4。

从TOP500的实际结果看,理想情况下CPU的实测性能(linpack)可达到理论峰值的90%以上。
feiying2222 2010-04-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 l7331014 的回复:]
果然是1/8!
看来还是不急着换470了,继续用我的260+吧.
[/Quote]
不知道目前I7 920的双精度浮点性能能够到达多少了?
  • 打赏
  • 举报
回复
果然是1/8!
看来还是不急着换470了,继续用我的260+吧.

581

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧