关键词:流多处理器、GPU架构、CUDA、GPU 编程、并行计算
-
A history of NVidia Stream Multiprocessor -
https://fabiensanglard.net/cuda/ -
9000 字,阅读 30 分钟,播客 15 分钟
-
超 20 万台GPU集群的LLM稳健训练方案:ByteRobust 双平面架构实现97% ETTR,热更新恢复加速11.04倍 -
Fake Runs, Real Fixes!复用GRM的AI加速器微架构分析方法:15%All-Gather和4%LLM性能提升 -
Arm Mali GPU 四大微架构概述
本文聚焦 2006-2018 年 NVIDIA 流多处理器(SM)的 6 代架构演进,核心围绕“统一架构+技术迭代”驱动 GPU 性能颠覆式提升。本文涉及的 GPU 架构包括从 2006 年的 Tesla 到 2018 年的 Turnig:
Year Arch Series Die Process Enthusiast Card
===========================================================================
2006 Tesla GeForce 8 G80 90 nm 8800 GTX
2010 Fermi GeForce 400 GF100 40 nm GTX 480
2012 Kepler GeForce 600 GK104 28 nm GTX 680
2014 Maxwell GeForce 900 GM204 28 nm GTX 980 Ti
2016 Pascal GeForce 10 GP102 16 nm GTX 1080 Ti
2018 Turing GeForce 20 TU102 12 nm RTX 2080 Ti
2006 年 Tesla 架构打破传统分层设计,以 SIMT 技术实现顶点、片段等内核统一处理,奠定 SM 基础。后续 Fermi、Kepler、Maxwell、Pascal、Turing 架构持续革新,工艺从 90nm 精进至 12nm,核心数从 128 增至 4352,算力从 345.6 Gflops 飙升至 13.45 flops。
关键创新包括 Fermi 的 float64 支持与 C++特性集成、Maxwell 的能效优化与核心对齐设计、Turing 的 Tensor/光追核心融合及独立线程调度。
同时,CUDA 编程模型的推出与升级,配合内存子系统(如 GDDR5X/GDDR6X)迭代,作者基于 CUDA,实现了一个“光线追踪器”,实现了从 101 秒到 150 毫秒的 700x 加速效果。
整体呈现出架构创新、工艺进步与算力提升的协同演进,彰显 NVIDIA SM 在 GPU 并行计算领域的持续引领地位。
本文目录
-
本文目录 -
关键问题 -
问题 1:从“统一架构”到“多核心分化”,Turing 架构是否违背 Tesla 的创新初衷? -
问题 2:核心数与算力倍增的背后,NVIDIA SM 架构是否存在不可回避的设计取舍? -
问题 3:700x 加速与 13.45 Tflops 的峰值,能否证明 SM 架构创新已触及算力增长天花板? -
一、2006 年前的 GPU 设计困境:功能模块绑定的技术瓶颈 -
二、Tesla 架构(2006):统一架构与 SIMT 技术的奠基之路 -
三、Fermi 架构(2010):float64 支持与 C++ 特性的突破升级 -
四、Kepler 架构(2012):能效比优化与 SMX 设计的性能飞跃 -
五、Maxwell 架构(2014):核心对齐与极致能效的架构革新 -
第一代 Maxwell 架构 -
第二代 Maxwell 架构 -
六、Pascal 架构(2016):16nm 工艺与 GDDR5X 内存的协同提升 -
七、Turing 架构(2018):张量核心、光追核心与独立线程调度的创新 -
未来展望:Ampere 架构与 7nm 工艺的潜在突破 -
参考文献
交流加群请在 NeuralTalk 公众号后台回复:加群
关键问题
问题 1:从“统一架构”到“多核心分化”,Turing 架构是否违背 Tesla 的创新初衷?
Tesla 架构以“统一 SM 替代分层单元”打破传统设计,成为后续 20 年 GPU 基础,而 Turing 架构却引入 Tensor、光追核心形成多核心分化,这一“回归式”设计是否与当初的统一化创新逻辑相悖?其背后是技术妥协还是更高维度的突破?
Turing 架构的多核心分化并非违背 Tesla 初衷,而是更高维度的突破。
-
Tesla 的核心创新是用统一 SM 替代分层单元,解决传统设计的负载平衡难题,其本质是 “打破功能割裂”; -
而 Turing 引入 Tensor 和光追核心,是在统一 SM 基础上新增专属功能模块,并未抛弃统一调度逻辑。
作者提到,Turing 仍延续 SM 的核心执行模型,同时通过多核心分化适配 AI 计算、实时光追等新场景,是对 “统一架构” 的补充而非否定。这种设计既保留了 Tesla 奠定的灵活调度优势,又通过功能模块化满足复杂算力需求,属于技术演进中的精准创新,而非妥协。
问题 2:核心数与算力倍增的背后,NVIDIA SM 架构是否存在不可回避的设计取舍?
从 Tesla 的 128 核心/345.6 Gflops 到 Turing 的 4352 核心/13.45 Tflops,每代架构均以核心数、工艺迭代实现算力倍增,但 Kepler 移除硬件调度、Maxwell 减少核心数等设计,是否牺牲了部分灵活性?这些取舍对长期性能提升的制约如何?
SM 架构的性能倍增确实伴随设计取舍,但并非不可回避的制约,而是基于场景需求的优化平衡。
-
Kepler 移除硬件调度改用软件方案,虽增加调度逻辑复杂度,却换来了 28nm 工艺下更多 SM 的集成,实现 2x 性能提升; -
Maxwell 减少核心数至 128 个(对齐 warp 尺寸),看似核心缩减,实则优化了 die 分区,节省面积与功耗,让 Gen2 版本能集成 24 个 SMM,算力达 6060 Gflops。
这些取舍并非牺牲灵活性,而是通过 “能效优先”“结构优化” 换取更大的整体性能空间,每代架构的算力倍增数据(从 345.6 Gflops 到 13.45 Tflops)已证明,这些取舍是推动长期提升的必要选择。
问题 3:700x 加速与 13.45 Tflops 的峰值,能否证明 SM 架构创新已触及算力增长天花板?
依托 SM 架构演进与 CUDA 优化实现 700x 加速,Turing 架构达到 13.45 Tflops 峰值,但工艺已逼近 12nm,多核心整合复杂度提升,后续架构能否延续“每代性能倍增”的节奏?SM 架构的创新路径是否面临技术瓶颈?
现有峰值数据不足以证明 SM 架构触及增长天花板。
-
从工艺来看,Turing 的 12nm 并非终点,文中提到 Intel 已实现 7nm 工艺,NVIDIA 后续 Ampere 架构可依托 7nm 进一步缩小 SM 尺寸、集成更多核心; -
从架构创新来看,Turing 的独立线程调度、CUDA 核心超标量设计,以及内存子系统从 GDDR5X 到 GDDR6X 的迭代(带宽提升 43%),仍有持续优化空间; -
从硬件扩展来看,SM 已实现 Tensor 与光追核心的融合,未来可针对更多场景新增专属模块。
历史数据显示,SM 架构从 Tesla 到 Turing 保持每代性能倍增,结合工艺进步与架构创新的协同,后续仍能延续增长节奏,尚未触及技术瓶颈。
一、2006 年前的 GPU 设计困境:功能模块绑定的技术瓶颈
在 2006 年之前,NVIDIA 的 GPU 设计与渲染 API 中的逻辑阶段紧密绑定。
以 G71 芯片为核心的 GeForce 7900 GTX 显卡,主要由三个部分构成:
-
顶点处理单元(8 个):是图形处理器(GPU)的核心功能模块之一,主要负责图形渲染流程中 “顶点阶段” 的计算处理,是将 3D 模型 “转化” 为屏幕可见图像的关键环节。 -
片段生成单元(24 个):是早期 NVIDIA GPU 中的核心功能模块之一,主要作用是生成图形渲染所需的 “片段”(Fragment,可理解为屏幕像素的 “前身”),是传统 GPU 按渲染流程分层设计中的关键环节。 -
片段合并单元(16 个):是一个在数据处理、多媒体处理、信号分析等技术领域中常见的功能模块,核心作用是将分散的 “数据 / 信息片段” 整合为完整、连续的目标内容,以解决 “片段化数据无法直接使用” 的问题。
前面提到:2006 年前,NVIDIA GPU的设计始终与渲染 API 的逻辑阶段深度绑定,怎么理解?
比如 GeForce 7900 GTX搭载的G71芯片,就专门划分了顶点处理单元、片段生成单元与片段合并单元,每个硬件模块仅负责对应API阶段的任务。
这种设计的核心局限在于,硬件性能的平衡完全依赖对渲染负载的预判:
-
设计师必须提前判断哪类API阶段会成为瓶颈,才能决定各模块的规模配比; -
一旦实际场景中各阶段的负载与预判不符,就会出现部分模块满负荷运行、部分模块闲置的资源浪费问题。
而当 DirectX 10 引入“几何着色器”这一新阶段后,这一设计的矛盾被彻底激化。几何着色器的核心作用是将点、线等简单几何图元转换为三角形,但其实际使用率却存在极大不确定性——不同游戏、不同场景对它的依赖程度差异悬殊,既可能仅零星调用,也可能需要它承担大量几何处理工作。
面对这种“无法预判的负载需求”,工程师根本无法合理分配硬件资源:
-
若为几何着色器单独增设大量模块,可能面临多数场景下的资源闲置; -
若不增设或少量增设,又可能在高依赖场景中形成性能瓶颈。
至此,“与 API 阶段绑定”的传统设计已无法适配新的渲染需求,GPU 架构的全面变革已成为必然趋势。
二、Tesla 架构(2006):统一架构与 SIMT 技术的奠基之路
为解决架构复杂度不断攀升的问题,NVIDIA 于 2006 年推出了“统一架构”——Tesla 架构。
在 G80 芯片中,不再有“不同功能模块划分”的概念。流多处理器(SM)取代了此前所有的功能单元,因为它能够无差别地运行顶点着色器、片段着色器和几何着色器的“内核程序”。负载均衡会通过“根据流水线需求切换每个 SM 所运行的内核程序”自动实现。
“我们几乎彻底抛弃了 NV30/NV40 架构的整个着色器体系,从零开始打造了一个全新的通用处理器架构(即 SIMT),同时还引入了新的处理器设计方法。”
——乔纳·阿尔本(Jonah Alben,NVIDIA 高管)(摘自 extremetech.com 的采访)
如今,“着色器单元”(Shader Unit)不再仅支持 SIMD,而是升级为“核心”(Core)——每个核心每时钟周期可执行一条整数指令或一条 32 位浮点(float32)指令。SM 接收的线程会以 32 个为一组,称为“线程束”(warp,GPU 中的基本调度单位,一组同时被调度执行的线程)。
理想情况下,一个线程束中的所有线程会在同一时钟周期执行相同的指令,只是处理不同的数据(这也正是 SIMT 名称的由来)。多线程指令单元(MT,Multi-threaded Instruction Unit)负责在线程束的指令指针(IP,Instruction Pointer,指示当前执行指令位置的指针)趋同或分歧时,启用或禁用相应线程。
SM 中还配备了两个 SFU(Special Function Unit,特殊功能单元),用于处理复杂的数学计算,如平方根的倒数(inverse square root)、正弦(sin)、余弦(cos)、指数(exp)以及倒数(rcp)。这些 SFU 同样每时钟周期可执行一条指令,但由于仅有两个 SFU,线程束的执行速度会降低至原来的 1/4。此外,该架构不支持硬件级 64 位浮点(float64)运算,只能通过软件模拟实现,这会大幅降低执行速度。
只有当 SM 能够通过“始终拥有可调度的线程束”来隐藏内存延迟(内存延迟指从发出内存访问请求到获取数据的时间间隔),并且线程束中的线程不会出现“分歧”(即控制流保持一致,所有线程执行相同的指令路径)时,SM 才能发挥最大性能。
4KB 大小的寄存器文件(RF,Register File,用于存储线程运行时的状态和数据的高速存储区域)是线程状态的存储载体。如果线程占用过多栈空间,会减少可同时处于“在飞”(in-flight,指已启动但尚未完成执行的状态)状态的线程数量,进而导致性能下降。
Tesla 架构的旗舰芯片是基于 90 纳米制程的 G80,该芯片被用于 GeForce 8800 GTX 显卡。两个 SM 会与一个纹理单元(Texture Unit,负责处理纹理贴图,为 3D 物体表面添加细节纹理的硬件单元)和一级纹理缓存(Tex L1 Cache)捆绑在一起,构成一个“纹理处理器集群”(TPC,Texture Processor Cluster)。
-
G80 芯片包含 8 个 TPC,官方标称拥有 128 个核心,浮点运算性能可达 345.6 Gflops(每秒十亿次浮点运算)[3]。 -
8800 GTX 显卡在当时极为畅销,获得了极高的评价,深受有能力购买的用户喜爱。它的性能如此强劲,以至于在发布 13 个月后,仍稳居市场最快 GPU 之列。
与 Tesla 架构一同推出的,还有 NVIDIA 的“统一计算设备架构编程语言”(CUDA C)——它是 C99 标准的超集。对于通用图形处理器(GPGPU,General-Purpose Graphics Processing Unit,指将 GPU 用于非图形渲染的通用计算任务)爱好者而言,这无疑是个好消息:他们终于有了替代方案,无需再通过 GLSL(OpenGL Shading Language,OpenGL 的着色器语言)着色器和纹理来“曲线利用”GPU 的计算能力。
尽管本节重点讨论了流多处理器(SM),但它只是 GPU 系统的“一半”。SM 需要获取存储在 GPU 内存中的指令和数据才能运行。
为避免运算停滞,GPU 并未像 CPU 那样,通过大量缓存和指令预测来“避免”内存延迟;相反,GPU 会“接纳”内存延迟——通过让内存总线饱和(即最大化内存数据传输速率),来满足数千个线程的输入/输出(I/O)需求。以 G80 芯片为例,它通过 6 条双向 DRAM(动态随机存取存储器)内存通道,实现了高内存吞吐量。
上图想要表达 GPU 通过饱和内存总线来【接纳】内存延迟,而 CPU 则通过大容量缓存和预测逻辑来隐藏内存延迟。
三、Fermi 架构(2010):float64 支持与 C++ 特性的突破升级
Tesla 架构是一次“冒险之举”,但最终被证明是极为成功的决策。它的成功程度远超预期,成为了未来 20 年 NVIDIA GPU 的架构基石。
“自那以后,我们确实对架构进行了多次重大改进(Fermi 架构是一次重大的系统架构变革,Maxwell 架构则是处理器设计层面的又一次重大调整),但我们在 G80 芯片中引入的基本架构框架,即便到如今(帕斯卡架构时代)依然核心地位稳固。”
——乔纳·阿尔本(Jonah Alben)(摘自 extremetech.com 的采访)
2010 年,NVIDIA 发布了基于全新 Fermi 架构的 GF100 芯片。其内部结构在《Fermi 白皮书》[4]中有详细描述。
Fermi 架构的执行模型依然围绕“32 线程组成的线程束”展开,线程束会被调度到 SM 上执行。不过,得益于 40 纳米制程工艺的进步,NVIDIA 将 SM 的各项性能指标提升了 2 倍甚至 4 倍。如今,一个 SM 配备两组 16 核 CUDA 核心阵列,能够同时调度两个“半线程束”(half-warp,即 16 个线程)。由于每个核心每时钟周期可执行一条指令,一个 SM 每时钟周期可完成一个线程束的指令执行——性能达到了 Tesla 架构 SM 的 4 倍。
SFU 的数量也有所增加,但增幅不及 CUDA 核心(仅翻倍),由此可推断,这类特殊功能指令的使用率当时并不高。
Fermi 架构特点还有:
-
对 64 位浮点(float64)运算提供了“半硬件支持”——通过两个 CUDA 核心协同工作来完成 64 位浮点运算。 -
此外,GF100 芯片的 32 位算术逻辑单元支持单时钟周期整数乘法(而 Tesla 架构的 ALU 为 24 位,无法实现这一性能); -
同时,其 32 位浮点(float32)流水线从 IEEE 754-1985 标准升级到了 IEEE 754-2008 标准 -
并支持融合乘加(FMA,Fused Multiply-Add,一种将乘法和加法合并为一步执行的运算方式,比传统的“先乘后加”更高效、精度更高)——相比 Tesla 架构中使用的 MAD(Multiply-Add,普通乘加运算),精度有显著提升。
从编程角度来看,Fermi 架构的“统一内存系统”(Unified Memory System,让 CPU 和 GPU 能够访问同一块内存区域,无需在两者之间频繁拷贝数据)使得 CUDA C 能够支持 C++的部分特性,例如类对象(object)和虚函数(virtual methods),但不支持异常处理(exceptions)。
由于纹理单元(Texture Unit)如今已整合到 SM 内部,“纹理处理器集群”(TPC)的概念随之消失,取而代之的是“图形处理器集群”(GPC,Graphics Processor Cluster)——每个 GPC 包含 4 个 SM。
此外,SM 还新增了一个“多态引擎”(Polymorph Engine),其负责顶点提取、视口变换和曲面细分的硬件单元顶点提取即从内存中读取顶点数据;视口变换即将顶点坐标转换到屏幕坐标系;曲面细分即增加模型的多边形数量,提升画面细节。
Fermi 架构的旗舰显卡是 GeForce GTX 480,其搭载的 GF100 芯片官方标称拥有 512 个核心,浮点运算性能可达 1345 Gflops[5]。
四、Kepler 架构(2012):能效比优化与 SMX 设计的性能飞跃
2012 年,NVIDIA 发布了以天文学家开普勒(因“行星运动三大定律”闻名)命名的 Kepler 架构。与以往一样,《GK104 白皮书》[6]为我们揭示了该芯片的内部细节。
在 Kepler 架构中,NVIDIA 通过“降低时钟频率”以及“将核心时钟与显卡时钟统一”(此前两者频率比为 2:1),大幅提升了芯片的能效比(性能与功耗的比值)。
理论上,这些调整会导致性能下降。但得益于以下两点,NVIDIA 不仅避免了性能损失,还优化了架构设计:
-
一是制程工艺缩减至 28 纳米(相比 Fermi 的 40 纳米,在相同芯片面积下可集成更多晶体管); -
二是移除了硬件调度器,改用软件调度。
“下一代流多处理器”(SMX,Next Generation Streaming Multiprocessor)的性能极为强劲——几乎所有组件的数量都实现了 2 倍或 3 倍增长。
SMX 配备 4 个线程束调度器,每个调度器每时钟周期可处理一个完整的线程束(相比 Fermi 架构“每次处理半线程束”的设计有显著提升),整个 SMX 包含 196 个核心。每个调度器支持“双重分发”(double dispatch)——如果线程束中的第二条指令与当前正在执行的指令相互独立(即无数据依赖),则可同时分发该指令。不过,这种双重调度并非总能实现,因为每两列分发器会共享一列 32 核的执行单元。这种设计使得调度逻辑更为复杂(后续章节会进一步探讨),但 SMX 每时钟周期最多可执行 6 条线程束指令,性能达到了 Fermi 架构 SM 的 2 倍。
Kepler 架构的旗舰显卡是 NVIDIA GeForce GTX 680,其搭载的 GK104 芯片包含 8 个 SMX,官方标称拥有 1536 个核心,浮点运算性能可达 3250 Gflops[7]。此时芯片的内部结构已极为复杂,以至于示意图中的标注不得不省略(否则会过于杂乱)。
值得注意的是,经过彻底重新设计的内存子系统(运行频率高达 6GHz),使得内存控制器的数量从 6 个减少到 4 个,但仍能满足性能需求。
五、Maxwell 架构(2014):核心对齐与极致能效的架构革新
2014 年,NVIDIA 发布了其第十代 GPU 架构——Maxwell。
第一代 Maxwell 架构
《GM107 白皮书》[8]指出,第一代 Maxwell 架构的核心目标是“极致能效比与卓越的每瓦性能”(每瓦性能指单位功耗所能提供的计算性能)。其面向的消费级市场主要是“受功耗限制的设备”,如笔记本电脑和小型台式机(SFF PC,Small Form Factor PC,体积小巧的台式计算机)。
Maxwell 架构的一个重大决策是:放弃 Kepler 架构中“SMX 包含非 2 的幂次个 CUDA 核心(196 个)且部分核心共享”的设计,回归到“按半线程束(16 个线程)调度”的模式。这是该系列架构中首次出现“SM 核心数量少于前代”的情况——Maxwell 架构的 SM 仅包含 128 个核心。
将核心数量“与线程束大小(32 个线程)对齐”(128 是 32 的整数倍),优化了芯片的分区设计,从而节省了芯片面积并降低了功耗。
2014 年的一个 SMM 所含的核心数(128 个),就相当于 2006 年一整块 GTX 8800 显卡的核心数。
第二代 Maxwell 架构
第二代 Maxwell 架构(其细节在《GM200 白皮书》[9]中有描述)在保持第一代能效比优势的同时,显著提升了性能。
由于制程工艺仍停留在 28 纳米(未进一步缩减),NVIDIA 的工程师无法依靠“单纯的晶体管微型化”来提升性能。但“每个 SMM 核心数量减少”使得 SMM 的体积更小,这意味着在同一块芯片上可以集成更多的 SMM。第二代 Maxwell 架构的芯片集成的 SMM 数量是 Kepler 架构的 2 倍,而芯片面积仅增加了 25%。
此外,Maxwell 架构的改进还包括:
-
简化了调度逻辑(减少了调度决策的冗余计算),降低了计算延迟,从而提升了线程束的占用率(线程束占用率指 SM 中正在运行的线程束数量与最大可支持线程束数量的比值,越高表示 SM 利用率越高); -
同时,内存时钟频率也提升了 15%。
观察 Maxwell 架构 GM200 芯片的框图,已经会让人感到“眼花缭乱”,但作为“GPU 爱好者”,我们仍会努力去理解它。第二代 Maxwell 架构的旗舰显卡是 NVIDIA GeForce GTX 980 Ti,其搭载的 GM200 芯片包含 24 个 SMM,官方标称拥有 3072 个核心,浮点运算性能可达 6060 Gflops[10]。
六、Pascal 架构(2016):16nm 工艺与 GDDR5X 内存的协同提升
2016 年,NVIDIA 推出了 Pascal 架构。《GP104 白皮书》[11]给人的感觉是“似曾相识”——因为 Pascal 架构的 SM 与 Maxwell 架构的 SMM 在结构上完全一致。
尽管 SM 本身没有变化,但 16 纳米制程工艺的应用带来了两大提升:一是芯片上可集成更多的 SM;二是浮点运算性能再次实现翻倍。
Pascal 架构的另一大重大改进在于内存系统——它基于全新的 GDDR5X 显存(GDDR5X 是 GDDR5 显存的升级版,拥有更高的带宽和速度)构建。
-
该内存系统配备 8 个内存控制器,数据传输速率可达 10 Gbps(千兆位每秒); -
256 位的内存接口(内存接口宽度决定了单位时间内可传输的数据量,宽度越大,带宽越高)使得内存带宽提升了 43%,有效减少了线程束的“饥饿感”(即线程束因无法及时获取内存数据而等待的情况)。
Pascal 架构的旗舰显卡是 NVIDIA GeForce GTX 1080 Ti,其搭载的 GP102 芯片包含 28 个 TSM(此处应为笔误,实际为 SM,Pascal 架构的流多处理器),官方标称拥有 3584 个核心,浮点运算性能可达 11340 Gflops[12]。
七、Turing 架构(2018):张量核心、光追核心与独立线程调度的创新
2018 年,NVIDIA 发布了 Turing 架构,并称其为“十多年来最重大的架构飞跃”[13]。
Turing 架构的“图灵 SM”:
-
不仅新增了专门用于 AI 计算的“张量核心”(Tensor Cores,用于加速深度学习中的张量运算,如矩阵乘法) -
还加入了专门用于光线追踪的“光线追踪核心”(Raytracing Cores,用于加速光线追踪计算,如光线与物体的相交检测)
这种“功能分区”的设计,让人联想到 Tesla 架构之前的“分层架构”(即按渲染阶段划分模块),这再次印证了“历史总是在重演”。
除了新增核心,Turing 架构还带来了三大重要特性:
-
第一,CUDA 核心实现了“超标量”(Superscalar,指处理器可在一个时钟周期内执行多条独立指令)设计,能够并行执行整数指令和浮点指令。如果你经历过 1996 年,这可能会让你联想到英特尔(Intel)当时的“突破性”Pentium 架构(Pentium 架构首次在 x86 处理器中实现了超标量设计)。
-
第二,全新的 GDDR6X 显存子系统(GDDR6X 是 GDDR6 显存的升级版,带宽更高)配备 16 个内存控制器,数据传输速率可达 14 Gbps。
-
第三,线程束中的线程不再共享同一个指令指针(IP)。得益于 Volta 架构中首次引入的“独立线程调度”(Independent Thread Scheduling,每个线程拥有独立的指令指针,可独立执行不同的指令路径),SM 能够灵活地调度线程束中的单个线程,无需再迫使线程尽快“趋同”(即回到同一条指令路径)。
Turing 架构的旗舰显卡是 NVIDIA GeForce RTX 2080 Ti(原文误写为 GTX 2080 Ti,实际为 RTX 系列,因 RTX 系列首次支持光线追踪),其搭载的 TU102 芯片包含 68 个 TSM(此处应为 SM,Turing 架构的流多处理器),官方标称拥有 4352 个核心,浮点运算性能可达 13.45 Tflops(每秒万亿次浮点运算,1 Tflops = 1000 Gflops)[14]。
原文未提供该芯片的框图,因为它看起来会像一个“模糊的绿色斑点”(内部结构过于复杂,标注后会杂乱不清)。
未来展望:Ampere 架构与 7nm 工艺的潜在突破
下一代 GPU 架构代号为“Ampere”(安培架构,以物理学家安培命名),传闻将于 2020 年晚些时候发布。
由于英特尔(Intel)已通过其 Ice Lake 处理器证明,7 纳米制程工艺(7nm Process,相比 12 纳米制程,可在更小的芯片面积上集成更多晶体管)仍有发展空间,因此 NVIDIA 无疑会利用这一制程工艺,进一步缩小 SM 的体积,并再次实现性能翻倍。
未来值得关注的是:如今 NVIDIA 的芯片已包含三种用途不同的核心(CUDA 核心、张量核心、光线追踪核心),其后续发展方向会是怎样?我们是否会看到“完全由张量核心构成”或“完全由光线追踪核心构成”的芯片?
我对此充满好奇,期待答案揭晓。
参考文献
-
Revisiting the Business Card Raytracer https://fabiensanglard.net/revisiting_the_businesscard_raytracer/index.html -
Fermi: The First Complete GPU Computing Architecture https://fabiensanglard.net/cuda/fermi-the_first_complete_gpu_architecture.pdf -
NVIDIA GeForce 8800 GTX (techpowerup.com) https://www.techpowerup.com/gpu-specs/geforce-8800-gtx.c187 -
Fermi (GF100) whitepaper https://fabiensanglard.net/cuda/Fermi_Compute_Architecture_Whitepaper.pdf -
NVIDIA GeForce GTX 480 https://www.techpowerup.com/gpu-specs/geforce-gtx-480.c268 -
Kepler (GK104) whitepaper https://fabiensanglard.net/cuda/nvidia-gtx-680.pdf -
NVIDIA GeForce GTX 680 https://www.techpowerup.com/gpu-specs/geforce-gtx-680.c342 -
Maxwell Gen1 (GM107) whitepaper https://fabiensanglard.net/cuda/GeForce-GTX-750-Ti-Whitepaper.pdf -
Maxwell Gen2 (GM200) whitepaper https://fabiensanglard.net/cuda/GeForce_GTX_980_Whitepaper.pdf -
NVIDIA GeForce GTX 980 Ti https://www.techpowerup.com/gpu-specs/geforce-gtx-980-ti.c2724 -
Pascal (GP102) whitepaper https://fabiensanglard.net/cuda/GeForce_GTX_1080_Whitepaper.pdf -
NVIDIA GeForce GTX 1080 Ti https://www.techpowerup.com/gpu-specs/geforce-gtx-1080-ti.c2877 -
Turing (TU102) whitepaper https://fabiensanglard.net/cuda/Turing-Architecture-Whitepaper.pdf -
NVIDIA GeForce GTX 2080 Ti https://www.techpowerup.com/gpu-specs/geforce-rtx-2080-ti.c3305
-
从GPU谈异构,这是ARM处理器架构师的趣谈 -
硬件视角下 LLM 推理加速综述(第三篇):各硬件平台加速方法之算子优化、异构协作、同构协作 -
HeteroLLM:利用移动端 SoC 实现 NPU-GPU 并行异构 LLM 推理!以 高通8 Gen 3的NPU GPU为例

