开创视觉计算帝国GTX280/260权威评测
第二章/第八节 GTX200并行计算架构方面的改进
● 提高双指令执行(Dual-Issue)效率
在每个SM(多核流处理器)内部,除了包括8个流处理器之外,还有包括1个SFU(Special Function Unit,特殊功能单元),这个处理单元可以用来辅助SP处理特殊的函数运算、插值属性的顶点+像素着色、执行浮点乘法运算指令(MUL)。
GTX200核心的每个流处理器都能够单独的执行一条乘加指令(Multiplu-Add,也就是同时执行一条乘法和一条加法指令),与此同时SFU还能够在相同的时钟周期执行另外一条乘法指令,相当于每个流处理器都能同时执行3条指令!
如此一来,GTX200的浮点运算能力计算公式为:流处理器数×指令数×频率=240×3×1296=933GFLOPS。我们知道,G80/G92刚发布时并不支持Dual-Issue,所以其浮点运算能力仅为128×2×1350=346GFLOPS,后来NVIDIA为其追加了Dual-Issue支持,理论浮点运算能力就达到了518GFLOPS。
不过Dual-Issue对于3D游戏的贡献非常微小,只是在特殊条件下比如通用计算时才会有显著的改善。此次NVIDIA将GTX200核心设计成为图形渲染架构和并行计算架构的统一体,对于Dual-Issue的效率进一步优化,达到了93%-94%之高,这样的双指令执行效率可以让GTX200的实际性能无限接近于理论值!
● 支持双精度64Bit浮点运算
IEEE754标准硬性要求支持单精度32Bit浮点,双精度64Bit浮点也是标准之一但只是可选,但双精度64Bit浮点运算正是高精度科学计算(如工程分析、财政计算、计算机模拟)梦寐以求的功能。GTX200提供了对双精度的支持,显然更有利于进军通用计算领域,向传统集群式CPU超级计算机发起挑战!
GTX200核心的每一个SM都包括了一个双精度64Bit浮点运算单元,这样GTX200就相当于一个30核心的双精度64Bit处理器,但GPU的频率要比CPU低很多,因此GTX200的理论64Bit浮点运算能力大概与Intel优异八核心至强处理器相当。
双精度的运算量是单精度的八倍,因此理论浮点运算能力只有原来的1/8,GTX280的双精度64Bit浮点运算能力大概在90GFLOPS左右。