NVIDIA GeForce 700

概观

NVIDIA GeForce 700系列的首款显示核心，代号‘GK110’，特别针对通用运算的性能提升而设计，其拥有71亿颗晶体管，而且还会根据负载需要以及各流处理器负载情况来分派运算任务，从而加强并发多任务性能，并尽可能来最优化性能能耗比表现。
在‘GK110’上，寄存器堆和2级缓存（L2 cache）的容量和带宽比此前的型号都有所提升。与‘Fermi’架构相比，在SMX/SM流处理器数组的层面上，‘GK110’的寄存器堆容量增至256KB，由65536个32位的寄存器组成。‘GK110’的2级缓存的容量增加到1.5MB，两倍于费米的‘GF110’。2级缓存和寄存器堆的带宽与‘Fermi’架构相比提升了两倍，使得在需要为每条线程分配更多可用寄存器资源时导致的寄存器匮乏的情况下的性能也得到提升，而且，GK110上每条线程可进行定址、搬移的寄存器总数，也由每线程63个寄存器提升到每线程255个寄存器。
GK110上，NVIDIA也对GPU的纹理缓存进行修改，使其不仅只用于图形处理，还可以用于通用运算。48KB容量大小的纹理缓存，在运行通用运算时作为只读缓存，专门用于未对齐的存储器访问操作。此外，错误侦测功能也被加入，使得依赖于ECC纠错的负载任务更稳定安全。
对比GeForce 600系列，GeForce 700系列的部分型号的显示存储器由上代0.33ns颗粒改用了更低延迟的0.28ns颗粒，等效频率由6000MHz上升到7000MHz，GPU时脉亦有所上升。此外，GeForce 700系列的部分型号还引入了GPU Boost 2.0，令GPU可根据负载需要自动加速到更高频率。
未来英伟达还会透过驱动程序的支持，在‘Kepler’显示核心上实现DirectX 12。

针对运算而进行的SMX提升改进

NVIDIA在设计‘GK110’时，重在提升其运算性能。‘GK110’与‘GK104’最大的改变在于，‘GK104’的SMX数组中，每个SMX数组拥有8个CUDA核心（流处理器）专门用于FP64（双精度浮点数）运算操作，而‘GK110’中每个SMX数组拥有64个CUDA核心用于FP64运算操作，这使得‘GK110’中每个SMX数组的双进度浮点数运算作业吞吐量可达8倍于一个‘GK104’的SMX数组。‘GK110’的SMX数组的全域寄存器文件空间也有增加，达256KB。纹理缓存也有改进，48KB的空间，可在通用运算中充当只读缓存。

随机搬移指令

在低级编程语言层面上，‘GK110’增加了额外的指令和操作，来求得更好的性能。新增的随机搬移指令，允许线程可访问共享数据而无需到存储器中访问，使处理进程比以往的加载/共享/存放模型来得更快。原子操作也被彻底分解，这样做除了加速原子操作运行速度之余，还加入一些FP64的操作使其获得对FP64数据的处理能力，而此前仅支持FP32单精度浮点数的数据。

Hyper-Q

在运行通用运算时，Hyper-Q将‘GK110’的硬件工作队列从1个扩展到32个。在‘Fermi’架构时代，一个工作队列无论它是否会动用显示核心内每个SM数组，都会在队列任务处理完毕前占用这些数组，这样做就会有部分SM数组处于闲置，而造成效率低下。‘GK110’上，由于拥有32个工作队列，在不同的情况下，能够将不同的任务流输入至原本闲置的SMX数组中，增进单元复用率来达成运算资源利用最优化。Hyper-Q不仅在显示核心内负责任务队列分派作用，还能与MPI通信以及创建映射（在高性能运算领域里频繁使用的一个通信界面），来加强Hyper-Q的在高性能运算方面的功用。此前基于MPI的解题运算步骤，多为多CPU系统而设计，利用显示核心作运算加速的话，由于一般显示核心仅能对图形任务进行调度，对显示核心内的运算单元等进行通用运算任务分配仍需要依赖CPU处理，这样又加重了CPU的负担，而且显示核心也没有被充分利用，这样就成为性能提升的一大瓶颈，而Hyper-Q则可以解决这个瓶颈，GPU可自动根据负荷需要对SMX数组运行通用运算任务分配。提升MPI任务数量，可在这些求解运算步骤中充分利用Hyper-Q，提升效率进而提升性能，而且，运算程序还无需做修改或只需小许修改。

Dynamic Parallelism

Dynamic Parallelism是使显示核心根据需要对Grid的运算结果进行判别并在显示核心内置立新的Kernel。‘Fermi’时代，当前一个Kernel运行完毕后只有CPU可以回收判别运算结果然后才为显示核心分配新的Kernel，这使得需要花费不少的资源来维持显示核心与CPU之间的通信。在核心加入判别运算结果以及分派Kernel能力，使其它的Kernel也能按照接到CPU发出的运算请求的Kernel去派遣分配，那样显示核心就可以节省大量与CPU通信的资源以及时间，降低延时、提升显示核心内部的Kernel密度、任务运行连贯度以及低负载高密集度任务中的运算单元复用率，同时也能解放CPU，使CPU能有更多时间处理其它任务。

Gird管理单元

Dynamic Parallelism，由Grid Management Unit（GMU，Gird管理单元）用作管理Grid以及对将要运行的Gird进行优先级调度，可以暂停新网格和队列的分派，并且在网格准备运行时方会解除网格的暂停等待状态，为准许像是动态并发能力等高负载的功能的运行提供更好的灵活性。在Kepler上的二级仲裁机制CUDA Work Distributor（CUDA工作分发器，CWD）持有准备可被分派多达32个活动的Grid，双倍于‘Fermi’的CWD，GMU对其收到的Grid进行运行/停止、回收、判断、暂停等待以及重新排序等作业。‘Kepler’上的CWD通过一种双向链路与GMU进行通信，以使得GMU可以暂停新Grid的分派并在需要时令Grid继续运行。GMU也与Kepler的SMX数组直接连接，以允许打开额外工作的Grid通过动态并发发送新工作回GMU，令其对新工作进行优先级调度并分派。如果分派了额外工作负载的核心暂停了，GMU将使其进入不活动状态，直到从属的工作已经完成方会调回。

NVIDIA GPUDirect

NVIDIA GPUDirect™特性，允许在一台计算机上或数台服务器中的多颗GPU连接为一个网络，而且它们之间可进行直接的数据交换而无需经过CPU或系统存储器。GPUDirect的RDMA特性允许第三方设备，像是固态硬盘、网卡以及IB适配器等在多GPU网络上的同一系统中直接访问显示存储器，最重要的是，可以降低MPI发送到或接收自其它GPU的显示存储器的信息。它也降低了系统存储器的带宽需求，减低GPU的DMA引擎的压力并使其可用于其它CUDA任务上。Kepler‘GK110’也支持其它GPUDirect特性，包括点对点（P2P）以及视频专用GPUDirect。

Direct3D 12

在GeForce 700系列中基于‘Kepler’显示核心的显卡上实现DirectX 12。英伟达通过在DirectX 11的GPU上，透过驱动程序，支持DirectX 12的API。未来将扩展到Fermi架构、Maxwell架构的显卡上

移动平台

英伟达首先推出的使用于移动计算机的GeForce 710M和GeForce GT 730M均为上一代产品的更名版本。后续陆续发布了低端入门、中端以及高端的行动GPU，见下面的芯片规格表。