服务器 频道

全新视觉盛宴 Fermi架构Quadro显卡横评

第一块Fermi GPU只用了30亿个晶体管,包含512个有CUDA计算能力的core。每一个CUDA core可以在一个时钟周期里面执行一次浮点数运算或者一次整数运算。512个core分别分布在16个SM里面,每一个SM里面包含32个core。包含6个64位的内存partition,有384bit的内存带宽,支持最多6GB的GDDR5 DRAM。通过PCIE和CPU进行链接。千兆线程管理器会自动管理线程调度到不同的SM上进行运行。

Fermi图形渲染架构分析
Fermi架构第三代流处理器群示意图

  第三代的SM架构不只是增强了SM的计算能力,同时使得可编程性和效率得到提高。每一个SM都包含32个CUDA计算核心,每一个核心都有完整的整数计算单元和浮点数计算单元。以前的GPUs都是用IEEE 754-1985的单精度浮点标准。Fermi采用的是IEEE 754-2008的单精度浮点标准,单精度和双精度都同时支持FMA功能FMA是通过MAD来完成乘法和加法操作,同时保证没有精度的损失。FMA的精确计算能力超过了通过指令分解来完成的同样的工作。GT200支持了双精度的FMA。

  ALU几乎采用完新的设计,支持64bit和扩展的精确的指令运算,同时支持计算,移位,布尔值,比较,转化和更多的指令操作。

  16个内存存/取单元

  每一个SM包含16个内存存/取单元,可以保证源和目标地址可以在一个周期内同时由16个线程来进行操作。支持缓存和DRAM的任何位置的读取。

  特性函数处理单元

  特性函数处理单元处理超越函数,包括sin,cosine,求倒数,平方根。每一个SFU在一个周期内每一个线程可以执行一个指令操作,每一个warp执行需要8个周期。指令分发器可以按照当前SFU的运行情况来分发指令,当一个SFU在进行运算的时候,可以将指令分发到其他的SFU处理单元。

  双精度的浮点计算

  双精度的浮点计算在高性能计算中有着核心的重要位置,在求解线性代数中,数值计算量子化学中都会需要双精度浮点运算。Fermi架构为支持双精度浮点运算进行了特别设计每一个SM在一个时钟周期内可完成16个双精度浮点数的FMA操作。是在GT200架构以后又一激动人心的设计。

0
相关文章