Maxwell 架构

  http://digi.163.com/14/0218/23/9LDCTFON00162DSP.html

 

 

【IT168 评测】随着一句“娘娘,封神啦(宝鸡口音)”,中国的观众迅速认识到了两个极其出彩的相声演员。如果说关键词是引发关注的最大因素,那么提到“GeForce”,各位想到的又是什么?

步步为营 NVIDIA发布Maxwell架构产品!

相信不少读者第一次真正认识到NVIDIA(以下简称NV)这个公司还是从一款叫GeForce 256的显卡开始,当年逆天的性能让不少DIY玩家彻底跪倒在NV的的“石榴裙”之下不愿爬起。虽说这么多年过去了,NV的产品越来越多,但是GeForce 256的作为第一款GeForce产品,不仅为NV,也为业界带来了一场“绿色”革命!

步步为营 NVIDIA发布Maxwell架构产品!

     1999年GeForce 256发布至今已经15年了,15年的沉淀又带来了什么,GeForce系列的茁壮发展,架构的不断改进和革新,一切都恍如昨日。而今天,一款从Fermi就被期待的架构,终于揭开了神秘的面纱,那就是今天的主角——全新Maxwell架构的产品GTX 750以及GTX 750 Ti!

步步为营 NVIDIA发布Maxwell架构产品!

    至于为什么这么多人都在期待Maxwell架构的产品,下面的架构分析和回顾会为各位一一揭晓。

Fermi架构解析回顾

1、SP、SM

从高层次上看,Fermi和GT200结构形似,并无太大不同,但往深处看就会发现绝大部分都已经进化。最核心的流处理器(Streaming Processor/SP)现在不但数量大增,还有了个新名字CUDA核心(CUDA Core),由此即可看出NVIDIA的转型之意,不过我们暂时还是继续沿用流处理器的说法。

温故而知新 Fermi/Kepler架构解析回顾!

所有流处理器现在都符合IEEE 754-2008浮点算法(Cypress也是如此)和完整的32位整数算法,而后者在过去只是模拟的,事实上仅能计算24-bit整数乘法;同时引入的还有积和熔加运算(Fused Multiply-Add/FMA),每循环操作数单精度512个、双精度256个。所有一切都符合业界标准,计算结果不会产生意外偏差。

双精度浮点(FP64)性能大大提升,峰值执行率可以达到单精度浮点(FP32)的1/2,而过去只有1/8,AMD现在也不过1/5,比如Radeon HD 5870分别为单精度2.72TFlops、双精度544GFlops。由于最终核心频率未定,所以暂时还不清楚Fermi的具体浮点运算能力(双精度预计可达624GFlops)。

G80/GT200都是8个流处理器构成一组SM(Streaming Multiprocessor),Fermi增加到了32个,最多16组,少于GT200的30组,但流处理器总量从240个增至512个,是G80的整整四倍。除了流处理器,每组SM还有4个特殊功能单元(Special Function UnitSFU),用于执行抽象数学和插值计算,G80/GT200均为2个。同时MUL已被删掉,所以不会再有单/双指令执行计算率了。

至于SM之上的纹理处理器群(Texture Processor Cluster/TPC),NVIDIA暂时没有披露具体组成方式,而且ROP单元、纹理/像素填充率等其它图形指标也未公布。

2、缓存

GT200的每组SM都有16KB共享内存,由其中8个SP使用。注意它们不是缓存(cache),而是软件管理的内存(memory),可以写入、读取数据。为了满足应用程序和通用计算的需要,Fermi引入了真正的缓存,每组SM拥有64KB可配置内存(合计1MB),可分成16KB共享内存加48KB一级缓存,或者48KB共享内存加16KB一级缓存,可灵活满足不同类型程序的需要。

温故而知新 Fermi/Kepler架构解析回顾!

GT200的每组TPC还有一个一级纹理缓存,不过当GPU出于计算模式的时候就没什么用了,故而Fermi并未在这方面进行增强。整个芯片拥有一个容量768KB的共享二级缓存,执行原子内存操作(AMO)的时候比GT200快5-20倍。

3、效率

CPU和GPU执行的都是被称作线程的指令流。高端CPU现在每次最多只能执行8个线程(Intel Core i7),而GPU的并行计算能力就强大多了:G80 12288个、GT200 30720个、Fermi 24576个。

为什么Fermi还不如GT200多?因为NVIDIA发现计算的瓶颈在于共享内存大小,而不是线程数,所以前者从16KB翻两番达到64KB,后者则减少了20%,不过依然是G80的两倍,而且每32个线程构成一组“Warp”。

在G80和GT200上,每个时钟周期只有一半Warp被送至SM,换言之SM需要两个循环才能完整执行32个线程;同时SM分配逻辑和执行硬件紧密联系在一起,向SFU发送线程的时候整个SM都必须等待这些线程执行完毕,严重影响整体效率。

Fermi解决了这个问题,在每个SM前端都有两个Warp调度器和两个独立分配单元,并且和SM其它部分完全独立,均可在一个时钟循环里选择发送一半Warp,而且这些线程可以来自不同的Warp。分配单元和执行硬件之间有一个完整的交叉开关(Crossbar),每个单元都可以像SM内的任何单元分配线程(不过存在一些限制)。

温故而知新 Fermi/Kepler架构解析回顾!

这种线程架构也不是没有缺点,就是要求Warp的每个线程都必须同时执行同样的指令,否则会有部分单元空闲。每组SM每个循环内可以执行的不同操作数:FP32 32个、FP64 16个、INT 32个、SFU 4个、LD/ST 16个。

4、并行内核(Parallel Kernel)

在GPU编程术语中,内核是运行在GPU硬件上的一个功能或小程序。G80/GT200整个芯片每次只能执行一个内核,容易造成SM单元闲置。这在图形运算中不是问题,通用计算上就不行了。Fermi的全局分配逻辑则可以向整个系统发送多个并行内核,不然SP数量翻一番还多,更容易浪费。

应用程序在GPU和CUDA模式之间的切换时间也快得多了,NVIDIA宣称是GT200的10倍。外部连接亦有改进,Fermi现在支持和CPU之间的并行传输,而之前都是串行的。

5、ECC支持

AMD Cypress可以检测内存总线上的错误,却不能修正,而NVIDIA Fermi的寄存器文件、一级缓存、二级缓存、DRAM全部完整支持ECC错误校验,这同样是为Tesla准备的,之前我们也提到过。很多客户此前就是因为Tesla没有ECC才拒绝采纳,因为他们的安装量非常庞大,必须有ECC。

6、统一64-bit内存寻址

以前的架构里多种不同载入指令,取决于内存类型:本地(每线程)、共享(每组线程)、全局(每内核)。这就和指针造成了麻烦,程序员不得不费劲清理。Fermi统一了寻址空间,简化为一种指令,内存地址取决于存储位置:最低位是本地,然后是共享,剩下的是全局。这种统一寻址空间是支持C++的必需前提。

温故而知新 Fermi/Kepler架构解析回顾!

GT80/GT200的寻址空间都是32-bit的,最多搭配4GB GDDR3显存,而Fermi一举支持64-bit寻址,即使实际寻址只有40-bit,支持显存容量最多也可达惊人的1TB,目前实际配置最多6GB GDDR5——仍是Tesla。

7、新的指令集架构(ISA)

下边对开发人员来说是非常酷的:NVIDIA宣布了一个名为“Nexus”的插件,可以在Visual Studio里执行CUDA代码的硬件调试,相当于把GPU当成CPU看待,难度大大降低。Fermi的指令集架构大大扩充,支持DX11和OpenCL义不容辞,C++前边也已经说过,现在又多了Visual Studio,当然还有C、Fortran、OpenGL 3.1/3.2。

Kepler架构解析回顾

Kepler GK110 性能卓越,效率极高  

Kepler GK110 由 71 亿个晶体管组成,不仅速度最快,而且还是有史以来架构最复杂的微处理器。GK110 新加了许多注重计算性能创新功能,目的是要成为英伟达 Tesla和HPC市场上的并行处理动力站。 

Kepler GK110 会提供超过每秒 1 万亿次双精度浮点计算的吞吐量,DGEMM 效率大于80%,而之前的 Fermi 架构的效率是 60 65%。除了大大提高的性能之外,Kepler 架构在电源效率方面有 3 次巨大的飞跃,使 Fermi 的性能/功率比提高了 3 倍。  

温故而知新 Fermi/Kepler架构解析回顾!

Kepler GK110 的以下新功能提高 GPU 的利用率,简化了并行程序设计,并有助于 GPU 在各种计算环境中部署,无论是从个人工作站还是到超级计算机:  

Dynamic Parallelism

能够让 GPU 在无需 CPU 介入的情况下,通过专用加速硬件路径为自己创造新的工作,对结果同步,并控制这项工作的调度。这种灵活性是为了适应程序执行过程中并行的数量和形式,编程人员可以处理更多的各种并行工作,更有效的将 GPU 用为计算用途。此功能允许结构较简单,一但较复杂的任务方便有效地运行,能使较大部分的应用程序在整个 GPU 上运行。此外,程序能够更容易的创建,CPU 能为其他任务释放。 

Hyper-Q

Hyper - Q 允许多个 CPU 核同时在单一 GPU 上启动工作,从而大大提高了GPU 的利用率并削减了 CPU 空闲时间。Hyper Q 增加了主机和 Kepler GK110 GPU 之间的连接总数(工作队列),允许 32 个并发、硬件管理的连接(与 Fermi 相比,Fermi 只允许单个连接)。Hyper - Q 是一种灵活的解决方案,允许来自多个 CUDA 流、多个消息传递接口(MPI)进程,甚至是进程内多个线程的单独连接。以前遇到跨任务虚假串行化的应用程序,限制了 GPU 的利用率,而现在无需改变任何现有代码性能就能大幅度提升。 

温故而知新 Fermi/Kepler架构解析回顾!

Grid Management Unit

使 Dynamic Parallelism 能够使用先进、灵活的 GRID 管理和调度控制系统。新 GK110 Grid Management Unit (GMU) 管理并按优先顺序在 GPU上执行的 Grid。GMU 可以暂停新 GRID 和等待队列的调度,并能中止 GRID,直到其能够执行时为止,这为 Dynamic Parallelism 这样的强大运行提供了灵活性。GMU 确保CPU 和 GPU 产生的工作负载得到妥善的管理和调度。

NVIDIA GPUDirect

能够使单个计算机内的 GPU 或位于网络内不同服务器内的 GPU 直接交换数据,无需进入 CPU 系统内存。GPUDirect 中的 RDMA 功能允许第三方设备,例如 SSD、NIC、和 IB 适配器,直接访问相同系统内多个 GPU 上的内存,大大降低 MPI 从 GPU 内存发送/接收信息的延迟。还降低了系统内存带宽的要求并释放其他 CUDA 任务使用的 GPU DMA 引擎。Kepler GK110 还支持其他的GPUDirect 功能,包括 Peer to Peer 和 GPUDirect for Video。 

Kepler 架构概述

Kepler GK110 专为英伟达 Tesla打造,其目标是成为世界上并行计算性能最高的微处理器。GK110 不仅大大超过由 Fermi 提供的原始计算能力,而且非常节能,显著减少电力消耗,同时产生的热量更少。 

完整 Kepler GK110 实施包括 15 SMX 单元和六个 64 位内存控制器。不同的产品将使用GK110 不同的配置。例如,某些产品可能部署 13 或 14 个 SMX。在下面进一步讨论的该架构的主要功能,包括: 

新 SMX 处理器架构

增强的内存子系统,在每个层次提供额外的缓存能力,更多的带宽,且完全进行了重新设计,DRAM I/O 实施的速度大大加快。 

贯穿整个设计的硬件支持使其具有新的编程模型功能 

Kepler GK110 支持新 CUDA Compute Capability 3.5。

Kepler 架构的一个主要设计目标是提高电源效率。设计 Kepler 时,英伟达工程师应用从 Fermi中积累的经验,以更好地优化 Kepler 、实现高效运行。台积电的 28nm 制造工艺在降低功耗方面起着重要的作用,但许多 GPU 架构需要修改,以进一步降低功耗,同时保持出色的性能。 

温故而知新 Fermi/Kepler架构解析回顾!

Kepler 每一个硬件设备都经过设计和擦洗,以提供卓越的性能/功率比。出色性能/功率比的最佳案例是 Kepler GK110 新流式多处理器 (SMX) 中的设计,与最近 Kepler GK104 引入的 SMX 单元的许多方面类似,但计算算法包括更多双精度单位。  

流式多处理器 (SMX) 架构 

Kepler GK110 的新 SMX 引入几个架构创新,使其不仅成为有史以来最强大的多处理器,而且更具编程性,更节能。 SMX: 192 个单精度 CUDA 核、64 个双精度单元、32 个特殊功能单元 (SFU) 和 32 个加载/存储单元 (LD/ST)。  

SMX 处理核架构

每个 Kepler GK110 SMX 单元具有 192 单精度CUDA 核,每个核完全由 浮点和整数算术逻辑单元组成。Kepler 完全保留 Fermi 引入的 IEEE 754-2008 标准的单精度和双精度算术,包括积和熔加 (FMA) 运算。 

Kepler GK110 SMX 的设计目标之一是大大提高 GPU 的双精度性能,因为双精度算术是许多HPC 应用的核心。Kepler GK110 的 SMX 还保留了特殊功能单元 (SFU) 以达到和上一代 GPU 类似的快速超越运算,所提供的 SFU 数量是 Fermi GF110 SM 的 8 倍。 

与 GK104 SMX 单元类似,GK110 SMX 单元内的核使用主 GPU 频率而不是 2 倍的着色频率。2x 着色频率在 G80 Tesla 架构的 GPU 中引入,并用于之后所有的 Tesla 和 Fermi 架构的GPU。在更高时钟频率上运行执行单元使芯片使用较少量的执行单元达到特定目标的吞吐量,这实质上是一个面积优化,但速度更快的内核的时钟逻辑更耗电。对于 Kepler,我们的首要任务是的性能/功率比。虽然我们做了很多面积和功耗方面的优化,但是我们更倾向优化功耗,甚至以增加面积成本为代价使大量处理核在能耗少、低 GPU 频率情况下运行。 

温故而知新 Fermi/Kepler架构解析回顾!

Quad Warp Scheduler

SMX 以 32 个并行线程为一组的形式调度进程,这 32 个并行线程叫做 Warp。而每个 SMX 中拥有四组 Warp Scheduler 和八组 Instruction Dispatch 单元,允许四个 Warp 同时发出执行。Kepler 的 Quad Warp Scheduler 选择四个 Warp,在每个循环中可以指派每 Warp 2 个独立的指令。与 Fermi 不同,Fermi 不允许双精度指令和部分其他指令配对,而 Kepler GK110 允许双精度指令和其他特定没有注册文件读取的指令配对 例如加载/存储指令、纹理指令以及一些整数型指令。 

每个 Kepler SMX 包含 4 组 Warp Scheduler,每组 Warp Scheduler 包含两组 Instruction Dispatch 单元。单个 Warp Scheduler 单元如上所示。其中包括: 

a) 记录长延迟操作(纹理和加载)的寄存器 

b) Warp 内调度决定(例如在合格的候选 Warp 中挑选出最佳 Warp 运行) 

c) 线程块级调度(例如,GigaThread 引擎) 

然而,Fermi 的 scheduler 还包含复杂的硬件以防止数据在其本身数学数据路径中的弊端。多端口寄存器记录板会纪录任何没有有效数据的寄存器,依赖检查块针对记录板分析多个完全解码的 Warp指令中寄存器的使用情况过,确定哪个有资格发出。 

对于 Kepler,我们认识到这一信息是确定性的(数学管道延迟是不变量),因此,编译器可以提前确定指令何时准备发出,并在指令中提供此信息。这样一来,我们就可以用硬件块替换几个复杂、耗电的块,其中硬件块提取出之前确定的延迟信息并将其用于在 Warp 间调度阶段屏蔽Warp,使其失去资格。  

新 ISA 编码:每个线程 255 个寄存器 

可由线程访问的寄存器的数量在 GK110 中已经翻了两番,允许线程最多访问 255 个寄存器。由于增加了每个线程可用的寄存器数量,Fermi 中承受很大寄存器压力或泄露行为的代码的速度能大大的提高。典型的例子是在 QUDA 库中使用 CUDA 执行格点 QCD(量子色动力学)计算。基于 QUDA fp64 的算法由于能够让每个线程使用更多寄存器并减少的本地内存泄漏,所以其性能提高了 5.3 倍。 

Shuffle 指令 

为了进一步提高性能,Kepler 采用 Shuffle 指令,它允许线程在 Warp 中共享数据。此前,Warp 内线程之间的数据共享需要存储和加载操作以通过共享内存传递数据。使用 Shuffle 指令,Warp 可以读取来自Warp 内其他线程中任意排列的值。Shuffle 支持任意索引引用(即任何线程读取任何其他线程)。有用的 Shuffle 子集包括下一线程(由固定量弥补抵消)和 Warp 中线程间 XOR “蝴蝶”式排列,也称为 CUDA 性。 

Shuffle 性能优于共享内存,因此存储和加载操作能够一步完成。Shuffle 也可以减少每个线程块所需共享内存的数量,因为数据在 Warp 级交换也不需要放置在共享内存中。在 FFT 的情况下,需要共享一个 Warp 内的数据,通过使用 Shuffle 获得 6%的性能增益。 

纹理改进 

GPU 的专用硬件纹理单元对于需要取样或过滤图像数据的计算机程序来说是宝贵的资源。Kepler中的纹理吞吐量与 Fermi 相比有明显提高,每个 SMX 单元包含 16 纹理过滤单元,对比 FermiGF110 SM 提高了 4 倍。 

此外,Kepler 改变了管理纹理状态的方法。在 Fermi 时代,为让 GPU 引用纹理,必须在固定大小绑定表中分配“槽”才能启动 Grid。表中槽数量最终限制程序一次可以读取多少个独特的纹理。最终,在 Fermi 中限制程序仅可以同时访问 128 纹理。 

温故而知新 Fermi/Kepler架构解析回顾!

Kepler 中有无绑定纹理,不需要额外步骤:纹理状态已保存为内存中的对象,硬件按需获取这些状态对象,绑定表过时。这有效地消除了计算程序引用独特纹理数量的任何限制。相反,程序可以在任何时间映射纹理和通纹理处理周围,因为他们将任何其他指针 

Kepler 内存子系统 L1、L2、ECC 

Kepler 的内存层次结构与 Fermi 类似。Kepler 架构支持统一内存加载和存储的请求路径,每个SMX 多处理器有一个 L1 缓存。Kepler GK110 还使编译器指示为只读数据增设一个新的缓存,如下所述。 

Kepler GK110 设计的初衷就是利用卓越的电源效率达到最大化计算性能和吞吐量。该架构有很多创新,如 SMX、Dynamic Parallelism 和 Hyper Q 使混合计算大大简化和加快了编程,适用于更广泛的应用。Kepler GK110 GPU 将用于许多系统,从工作站到超级计算机,解决 HPC 中最严峻的挑战。 

回顾了前面两代架构之后,我们现在就来看一下Maxwell带来的改变。

效能更高冗余少 全新Maxwell架构解析!
NVIDIA全新的RM

其实,Maxwell并没有全面革新的技术改进,而是在之前Fermi和Kepler的基础上做了很多的改进而得来的,所以,如果看到全架构图,你会发现有改变,但不是翻天覆地的,因为不需要这样的革新,就能做到性能的进步,这就是NVIDIA的力量!

效能更高冗余少 全新Maxwell架构解析!
GM107架构图

 Maxwell在流式多处理器方面采用了一种全新设计,可大幅提高每瓦特性能和每单位面积的性能。虽然KeplerSMX设计在这一代产品中已经相当高效,但是随着它的发展,NVIDIA的GPU架构师显然找到了让架构效率再一次重大飞跃的方法。

MaxwellSM设计实现证明了这一点,控制逻辑分区、负荷均衡、时钟门控粒度、编译器调度、每时钟周期发出指令条数等方面的改进以及其它诸多增强之处让Maxwell SM(亦称“SMM”)能够在效率上远超Kepler SMX。全新的Maxwell SM架构能够在GM107中把SM的数量增至五个(GK107中仅有两个),而芯片面积仅增加25%。

效能更高冗余少 全新Maxwell架构解析!
Maxwell SM架构图

GM 107 GPU包含一个GPC、五个Maxwell流式多处理器(SMM)以及两个64位显存控制器(共128位)。这就是这一芯片的完整实现形式,每组SMM单元又由4个小单元组成,每组32个CUDA核心,TMU单元又降低到8个,位宽维持128bit,因此CUDA核心总数为640个,纹理单元40个,ROP单元为16个,与GeForce GTX 750Ti中的芯片配置相同。

通过对比GK107和GM107 SM总数的相关指标可发现,GM107有五个SM,而前者只有两个。GM107的峰值纹理性能比前者高25%,CUDA核心数量多1.7倍,着色器性能大约高2.3倍。

效能更高冗余少 全新Maxwell架构解析!
全新的G-SYNC同步技术

效能更高冗余少 全新Maxwell架构解析!
全新的G-SYNC同步技术核心重点

     G-SYNC的出现让这种情况彻底改观,本质上说G-SYNC可以从根源上杜绝撕裂和卡顿,因为G-SYNC是在显示器中加入一个芯片,让显示器听从显卡的命令确定实时的刷新频率。简而言之就是显卡渲染出一帧,显示器就刷新一帧。这样做的好处是无论场景渲染变化如何大,显卡帧数如何波动,只要保持在一定的水平之上,我们看到的都是连贯平滑的图像。

效能更高冗余少 全新Maxwell架构解析!
NVIDIA显卡技术全览

本次的首发我们收到了公版卡以及其他厂商送来的非公版显卡,首先,还是带大家一起来看下公版卡的情况!

Maxwell架构GTX750Ti规格解析!
GTX750系列的定位

Maxwell架构GTX750Ti规格解析!

Maxwell架构GTX750Ti规格解析!

Maxwell架构GTX750/GTX750Ti规格解析!
GTX 750 Ti

NVIDIA GTX750Ti核心代号GM107-400,采用最新的Maxwell架构,拥有640个CUDA处理器,功耗仅为60W,显卡采用P2010公版PCB,配备了5CM的风扇及全铝散热器。

Maxwell架构GTX750/GTX750Ti规格解析!

Maxwell架构GTX750/GTX750Ti规格解析!

GTX750Ti配备了2GB/128Bit GDDR5显存颗粒,主频为1020MHz,支持GPU Boost 2.0技术,可以根据实时功耗与温度智能超频,显存频率为5500MHz。

Maxwell架构GTX750/GTX750Ti规格解析!

输出接口则是配备了双DVI+mini HDMI的组合,完全可以满足主流用户的需求。

除了原厂卡之外,作为AIC厂商也纷纷在第一时间推出了相应的产品,其中包括了微星、索泰这样的大厂!

首发厂商产品展示:微星、索泰等
微星

首发厂商产品展示:微星、索泰等
微星

首发厂商产品展示:微星、索泰等
影驰

首发厂商产品展示:微星、索泰等
影驰

首发厂商产品展示:微星、索泰等
影驰

首发厂商产品展示:微星、索泰等
七彩虹

首发厂商产品展示:微星、索泰等
七彩虹

原文地址:http://www.cnblogs.com/kylegui/p/3847727.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值