决战性能之巅!NV双芯旗舰GTX590评测
在竞争对手还在游戏性能方面苦苦追赶之时,NVIDIA已经在朝着更高的目标迈进了。3D和游戏当然是一个重要方面,是GPU的老本行,而并行计算则是GPU的未来,两者不但不冲突而且是相辅相成的,NVIDIA的目的是游戏和计算同步发展。
10.2 适合科学计算的Fermi架构
在前文中笔者提到过,GF100是近年来GPU架构变化最大的一次,它不仅仅体现在图形架构方面,其实他在并行计算架构方面的改进更彻底,现在要讲的才是Fermi架构的精华部分。
G80是统一图形及并行计算的雏形,而GT200是对G80在性能及功能性方面的扩展。而对于Fermi,NVIDIA利用了从之前两款处理器以及为它们所编写的应用程序所获得的经验,并采用了一种全新的方法而设计和创建了世界上第一款计算GPU。在为Fermi的研发开展准备工作时,NVIDIA听取了自推出G80和GT200以来大量从事GPU计算的用户的反馈,并将以下关键领域作为改进的重点:
1. 提高双精度浮点运算的性能——高性能计算与科学计算很少用到单精度。
2. ECC支持——ECC使得GPU计算用户在数据中心中可放心地部署大量的GPU,并确保数据敏感型应用程序如医学影像及财务期权定价等不出现内存错误。
3. 真正的缓存层次——有些并行算法无法使用GPU的共用存储器,用户需要一个真正的缓存架构以提供帮助。
4. 更大的共用存储空间——许多CUDA程序员需要超过16KB的共用存储器来实现应用程序的加速。
5. 更快速的情境转换——用户需要在应用程序之间实现更快速的情境转换,以及图形与计算应用之间更快的互操作。
6. 更快速的原子操作——用户需要为他们的并行算法实现更快速的“读-修改-写”原子操作。
针对以上的这些需求,Fermi工作小组设计了一款处理器,总计算能力得到了很大的提升,通过架构上的创新还大大增加了可编程性以及计算效率。Fermi在架构上的亮点体现在:
● 第三代流处理器簇(SM)
每个SM有32个CUDA核,是GT200的4倍
双精度浮点运算的峰值性能是GT200的8倍
双Warp调度器同时调度和分配来自两个不同warp的指令
64KB的RAM,可配置为共享缓存+L1缓存
● 第二代并行线程执行ISA
统一寻址空间,提供完全的C++支持
针对OpenCL和DirectCompute做优化处理
完全的IEEE 754-2008 32-bit/64-bit精度支持
完全的32-bit整数路径,64-bit扩展
内存存取指令支持向64-bit寻址的转换
通过Predication提升性能
● 改进的内存子系统
并行DataCacheTM 层次,拥有可配置的L1和统一的L2缓存
第一款提供ECC内存支持的GPU
显著提升原子内存操作性能
● NVIDIA TM引擎
应用程序情境切换性能10倍于上代产品
同时执行多个核心程序
线程块乱序执行
双重叠式内存传输引擎