【IT168 评测】时至今日,NVIDIA推出Fermi架构也已经有近2年的时间了。在这段时间里,无论是消费级的游戏卡,还是绘图应用的专业卡,抑或是在超级计算机中,都可以看到Fermi架构的身影。同时,得益于Fermi架构的成功,包括我们所熟悉的天河一号A、曙光星云等多个世界优异排名的超级计算机都采用了Fermi架构的计算核心。而今天我们所谈到的,是应用在专业卡领域的Fermi架构产品,也就是大家熟悉的Quadro系列。
在本次横评之前,我们首先要了解的是什么是Fermi架构。只有了解了这个架构,才能够对下面的测试数据及显卡本质有了深刻的认识。也正因为如此,我们将耗费大量的笔墨讲解Fermi架构的好处。当然,这些内容看起来似乎并不那么容易理解。
Fermi CUDA计算架构
Fermi架构是继G80架构之后的又一重要的GPU架构。G80架构在时nvidia公司最初的通用计算GPU架构,既可以做图形计算,也可以用来做并行计算。GT200架构扩展了G80架构的特点和功能。对于Fermi而言,是Nvidia公司总结G80和GT200架构以后,几乎是重新设计的专门针对于通用计算的GPU架构。Fermi的设计采纳了用户在使用G80和GT200架构时候给出的建议。Fermi的主要设计针对于以下几点:
单精度的计算大概是桌面CPU的10倍的时间左右,并且一些应用需要GPU提供更强的双精度运算。
ECC的添加,使得内存有容错的能力。
有些并行计算并不一定能使用到shared memry,所以更多的需求是在内存访问中加上缓存。
有些CUDA程序需要超过16KB的SM shared memry来加速他们的运算。
用户需要更快的应用程序和图形显示之间的资源切换。
用户需要更快的原子读写操作来加速并行程序运算。
根据以上的需求,Fermi的设计团队通过新的架构设计增加了它的计算能力,并且支持更好的可编程能力和计算效果。Fermi的主要的架构更新如下:
Fermi图形渲染架构
第三代的Streaming Multiprcessr
每个SM包含32个CUDA计算cre,是GT200的4倍
8倍于GT200的双精度浮点计算
Dual Warp调度策略,可以使得在一个时钟周期内同时启动两个warp进行计算
64KB的RAM支持可配置的shared memry和L1缓存
第二代的线程并行计算ISA架构
统一的地址空间,完整的支持C++特性
针对penCL和DirectCmpute做了优化设计
完整支持IEEE 754‐2008 32bit 和64bit 精度
通过分支预测来增强计算能力
增强的内存操作子系统
Nvidia的并行数据缓存,支持L1和L2的可配置能力
第一个支持GPU内存的ECC
增强了内存原子操作能力
NVIDIA千兆线程引擎
10倍的上下文切换能力
并发的kernel执行
支持blck乱序执行
双重叠的内存访问引擎