Turing架构深度解析

来源:丽台科技 发布时间:2020-09-25 15:35:09 阅读量:26


是全球首款支持实时光线追踪的GPU...
被黄仁勋先生称为是NVIDIA十多年来在计算机图形领域最重要的创新...
是超过一万个工程师努力的成果,仅核心面积就达754平方毫米,并集成了186亿个晶体管...




今天我们就来带大家深入了解下Turing GPU架构~


TURING TU102 GPU


TU102 GPU包含6个图像处理集群(GPC)、36个纹理处理集群(TPC)和72个流式多元处理器(SM)

每个GPC均包含一个专用的光栅化引擎和6个TPC,且每个TPC均包含两个SM。

每个SM包含64个CUDA核心、8个Tensor核心、1个256KB寄存器堆、4个纹理单元以及96KB的L1或共享内存,且我们可根据计算或图形工作负载将这些内存设置为不同容量。每个SM中的全新RT核心处理引擎负责执行光线追踪加速。

用一张图形象表示就是:


完整的TU102GPU架构包括以下构件:
  • 4608个CUDA核心
  • 72个RT核心
  • 576个Tensor核心
  • 288个纹理单元
  • 12个32位GDDR6显存控制器(共384位)

每个显存控制器均附有8个光栅化处理单元(ROP)单元和512KB的L2缓存完整的TU102 GPU由96个ROP单元和6144KB的L2缓存组成。

 

含72个SM单元的完整Turing TU102 GPU内部构造


随着GPU加速计算变得越来越流行,搭载多块GPU的系统正越来越多地部署在服务器、工作站和超级计算机中。

TU102和TU104 GPU采用第二代NVIDIA NVLink™高速互联技术,该技术最初设计用于Volta GV100 GPU,可为SLI和其他多GPU用例提供高速多GPU连接性能。NVLink允许每块GPU直接访问与之连接的其他GPU的显存,可加速GPU间的通信;NVLink还能合并多个GPU的显存,从而为更大数据集和更快速的内存计算提供支持。


TU102包含两个NVLink x8链路,每个链路在每个方向上均可提供高达25GB/秒的传输带宽,总计双向带宽可达100GB/秒。


 

 

NVIDIA Turing TU102 GPU


TURING流式多元处理器(SM)架构


Turing架构采用全新SM设计,每个TPC均包含两个SM,每个SM共有64个FP32核心和64个INT32核心。Turing SM支持并行执行FP32与INT32运算,每个Turing SM还拥有8个混合精度Turing Tensor核心和1个RT核心。

我们将Turing SM划分为四个处理块,每个处理块均包含16个FP32核心、16个INT32核心、2个Tensor核心、1个线程束调度器和1个分配单元。每个处理块还具有一个新型L0指令缓存和一个64KB寄存器堆。这四个处理块共享一个组合式96KB L1数据缓存或共享内存。

传统的图形工作负载将96KB的L1缓存或共享内存划分为64KB专用图形着色器RAM和32KB纹理缓存和寄存器堆溢出区。计算工作负载可将96KB划分为32KB共享内存和64KB L1缓存,或分为64KB共享内存和32KB L1缓存。


Turing对核心执行数据通道作出了重大改进。现代着色器工作负载通常会混合包含FP算术指令(如FADD或FMAD)和更简单的指令(如用于寻址和获取数据的整数加法、浮点比较或处理结果的最小及最大值等)。在以往的着色器架构中,每当运行其中一个非FP数学指令时,浮点数据通道就会停止运作。Turing通过在每个CUDA核心旁添加第二个并行执行单元,使之能与浮点数据通道并行执行这些指令。


 


 

Turing TU102/TU104/TU106流式多元处理器(SM)


 

浮点指令和整数指令在Turing SM中的并行执行结果


上图显示整数流水线与浮点指令的混合执行结果有所不同,但在几款现代应用程序中,每100个浮点指令通常约可与36个额外的整数流水线指令并行执行。通过将这些指令移至单独的流水线,浮点将能额外获得36%的有效吞吐量。通过分析众多工作负载,我们可以发现每100次浮点运算平均可与36次整数运算并行执行。

Turing SM还为共享内存、L1和纹理缓存引入了新型统一架构。这种统一设计允许L1缓存充分利用资源,进而将每TPC的命中带宽提升至Pascal的2倍;当共享内存分配未使用全部共享内存容量时,该架构还允许对L1缓存进行重新配置以增大其容量。Turing L1缓存大小可增至64KB,使每个SM可分配到32KB的共享内存;其也可减至32KB,从而为共享内存预留64KB的分配量。此外,我们也已为Turing增加L2缓存容量。


总而言之,SM的变更可使Turing每个CUDA核心提供的性能提升50%。


Turing Tensor核心


Turing GPU首次采用的增强版Tensor核心。Turing Tensor核心设计添加了INT8和INT4精度模式,专用于推理可容许量化的工作负载。Turing Tensor核心还能完全支持FP16,以便处理具有更高精度要求的工作负载。

通过将Tensor核心引入基于Turing的GeForce游戏GPU,我们将能为游戏应用程序首次部署实时深度学习。Turing Tensor核心能够加速NVIDIA NGX神经服务中基于AI的特性,以此增强图形、渲染和其他类型的客户端应用。NGXAI特性示例包括深度学习超级采样(DLSS)、AIInPainting、AISuperRez和AISlow-Mo。

Turing Tensor核心能够为处于神经网络训练和推理函数中心的矩阵乘法运算实现加速。Turing Tensor核心尤其擅长推理计算,在这类计算中,经过训练的深度神经网络(DNN)可基于给定输入,推理并传递相关的实用信息。推理示例包括识别Facebook照片中的好友图像,识别及分类不同类型的汽车、行人和自动驾驶汽车所面临的道路危险,实时翻译人类语言,以及在网上零售和社交媒体系统中创建个性化的用户推荐。

一块TU102 GPU共包含576个Tensor核心,其中每个SM分有8个核心,SM内的每个处理块分有2个核心。每个Tensor核心可使用FP16输入,在每个时钟周期内执行多达64次浮点混合乘加(FMA)运算。每个SM中的8个Tensor核心可在每个时钟周期内总共执行512次FP16乘积累加运算,或在每个时钟周期内共计执行1024次FP运算。新添加的INT8精度模式在运作时要比该速度快一倍,即能在每个时钟周期内执行2048次整数运算。Turing Tensor核心能够显著加速矩阵运算,不仅适用于新的神经图形函数,还可用于深度学习训练和推理运算。


全新Turing Tensor核心可为AI推理提供多精度模式


TURING已针对数据中心应用程序实现优化


NVIDIA GPU已成为深度学习训练的标准行业解决方案,而基于GPU的推理正越来越受关注,其采用率也在迅速攀升。目前,全球众多领先企业均采用NVIDIA GPU在其数据中心和终端设备上运行推理应用程序。许多传统上在CPU运行推理应用程序的企业现都转为采用NVIDIA GPU,并在大幅减少投入的同时获得了惊人的性能提升。例如,作为首个基于Turing的GPU,NVIDIA Tesla T4 GPU进一步扩大了这一领先优势,并可提供突破性性能和灵活的多精度功能,从FP32、FP16到INT8以及INT4均可涵盖。

NVIDIA Tesla T4 GPU具有2560个CUDA核心和320个Tensor核心,可提供高达130 TOPS(万亿次运算/秒)的INT8运算和多达260 TOPS的INT4推理性能。与基于CPU的推理相比,由全新Turing Tensor核心驱动的Tesla T4可提供高达近40倍的推理性能,是针对超大规模数据中心的新兴精尖推理解决方案,可为图像分类与标记、视频分析、自然语言处理、自动语音识别以及智能搜索等各类应用提供通用推理加速。

 

Tesla T4可提供约40倍的推理性能


Turing GPU架构不仅配备Turing Tensor核心,还具备有助提高数据中心应用性能的其他特性。其中一些主要特性包括:


  • 增强版视频引擎

Turing能够支持更多的视频解码格式,如HEVC 4:4:4(8/10/12位)和VP9(10/12位)

  • Turing多进程服务

Turing GPU架构继承了Volta架构中首次采用的增强版多进程服务(MPS)特性。

  • 更高的显存带宽和更大的显存容量

凭借16 GB的GPU显存和320 GB/秒的显存带宽,Tesla T4能够提供几乎两倍于其前代Tesla P4 GPU的显存带宽和显存容量。


Turing不仅能为高端游戏和专业图形注入革命性的全新特性,还可提供多精度计算等新功能,并能显著提高数据中心的性能与能效。随着NVIDIA深度学习平台其他功能的不断改进,基于NVIDIA GPU的推理解决方案将能大幅减小数据中心的成本、规模和功耗。


TURING内存架构和显示特性



Turing改进了主内存、缓存内存和压缩架构,能够增加内存带宽并减少访问延迟。GPU计算特性经改进和增强后,有助加速游戏及众多计算密集型应用程序和算法。全新的显示功能和视频编码及解码功能可支持更高分辨率和HDR显示器、更先进的VR显示器、日益提升的数据中心视频流要求、8K视频制作以及其他视频相关应用程序。


  • GDDR6显存子系统

随着显示器分辨率不断提高,着色器功能和渲染技术变得愈加复杂,显存带宽和容量将对GPU性能发挥更大的作用。为尽可能保持最高帧速率和计算速度,GPU不仅需要更多显存带宽,还需要巨大的显存容量以提供持续性能。


Turing是首个采用GDDR6显存的GPU架构。GDDR6是高带宽GDDR DRAM内存设计的又一次重大飞跃。凭借众多高速SerDes和RF技术带来的改进,Turing GPU中的GDDR6存储器接口电路已实现全面重新设计,在速度、能效和降噪方面均得到了提升。这一新型接口设计采用多个新电路并能提升信号训练效果,从而大幅降低由工艺、温度和电源电压引起的噪声和波动。该显存系统可在利用率较低的时段,大量采用时钟门控以显著降低功耗,从而大幅提升整体能效。与Pascal GPU中所用的GDDR5X显存相比,Turing的GDDR6显存子系统可提供14 Gbps的信号传输速率,并将能效提升20%。

Turing GDDR6


  • L2缓存和ROP

除配备新的GDDR6显存子系统以外,Turing GPU还已添加更大容量且更快速的L2缓存。TU102 GPU附带6MB L2缓存,可提供远高于GP102的L2缓存带宽。


Turing中的每个ROP分区均包含8个ROP单元,且每个单元能够处理一个单色样本。一个完整的TU102芯片包含12个ROP分区,共计96个ROP单元。


  • Turing显存压缩

NVIDIA GPU使用几种无损显存压缩技术,旨在将数据写入帧缓存时降低显存带宽需求。GPU的压缩引擎采用各类不同算法,能够根据数据特点确定最有效的压缩方式。这有助减少写入显存及从显存传输至L2缓存的数据量,并能降低客户端(如纹理单元)和帧缓存之间传输的数据量。


  • 视频和显示引擎

Turing GPU具有专为新一波显示器设计的全新显示引擎,可支持更高分辨率、更快刷新率以及HDR。Turing支持DisplayPort 1.4a,可在60Hz刷新率下实现8K分辨率,此外还已加入VESA的显示串流压缩(DSC)1.2技术,能够提供视觉无损的更高压缩。


Turing GPU可在60Hz刷新率下驱动两个8K显示器,每个显示器通过一根线缆连接。该GPU也可通过USB-C上发送8K分辨率。Turing的全新显示引擎支持在显示流水线中实施原生HDR处理。


此外,HDR流水线中还加入了色调映射。色调映射是一项在标准动态范围显示器上近似显示高动态范围图像的技术。Turing支持ITU-R建议书BT.2100标准定义的色调映射公式,能够避免不同的HDR显示器产生色彩偏移。Turing GPU还附带增强版NVENC编码器单元,能够以30FPS的帧速率支持H.265(HEVC)8K编码。新型NVENC编码器分别能在HEVC和H.264模式下节约高达25%和15%的比特率。Turing的新型NVDEC解码器已进行升级,现可支持解码HEVC 4:4:48/10/12位视频流;此外,其还可支持VP9 10/12位HDR。

Turing与Pascal以及快速x264软件编码器的新视频特性和视频质量比较


  • USB-C和VIRTUALLINK

在设计Turing GPU时针对USB Type-C™和VirtualLink™添加了硬件支持。VirtualLink专为满足当前和新一代VR头盔的连接需求而开发,采用一种全新的USB-C替代模式,旨在通过单个USB-C接口提供驱动VR头盔所需的供电、显示和数据传输条件。


VirtualLink可同时支持四通道高比特率3(HBR3)显示接口,并能与头盔实现超高速USB3连接,以便追踪运动。相比之下,USB-C仅支持四通道HBR3显示接口或两通道HBR3显示接口与两通道超高速USB3的组合。VirtualLink不仅能简化当前设置VR头盔的繁琐流程,还将为更多设备引入VR。单一接口解决方案可将VR引入仅能容纳单个小体积USB-C接口的小型设备而非当今的VR基础设施,因为后者需要的是能够配备多个接口的PC。



NVLINK改进SLI


在Pascal GPU架构之前,NVIDIAGPU将单个多输入输出(MIO)接口用作SLI桥接器,以允许第二个(第三或第四个)GPU将其最终渲染帧输出传输到以物理方式连接至显示器的主GPU。Pascal通过使用更快速的双MIO接口增强SLI桥接器,进而增加GPU间的带宽,实现更高分辨率输出,并为NVIDIA Surround提供多个高分辨率显示器。


Turing TU102和TU104 GPU采用NVLink而非MIO和PCIe接口来实现SLI GPU间数据传输。TuringTU102GPU具有两个x8第二代NVLink链路,而Turing TU104具有一个x8第二代NVLink链路。每个链路可在两个GPU之间的每个方向上提供25GB/秒的峰值带宽(50GB/秒的双向带宽)。TU102中的两个链路可在每个方向上提供50GB/秒的单向带宽,或100GB/秒的双向带宽。配备NVLink的Turing GPU可支持双路SLI,但不支持3路和4路SLI配置。


 

 

****************************************************************************************************************************************************************感谢对胖大牛的支持,本站致力于无偿分享IT产品与行业信息。部分文章未能与原作者取得联系,若涉及版权问题,烦请原作者联系我们修改或删除。
支付宝打赏 微信打赏

  Popular Tags

胖大牛-只为您的技术服务 张博 手机&微信:18521097376 邮箱:zb@109du.com 同时感谢Catfish提供源代码 GPU服务器:贝亘鑫
沪ICP备19040636号-1
Catfish(鲶鱼) Blog V 2.3.24