它们虽然都执行图形和计算任务,但就像是两种不同设计的发动机,虽然都能驱动汽车,但内部构造和工作原理完全不同。

下面我将从几个方面详细解释它们的异同。
核心概念:什么是流处理器?
要明确一个概念:“流处理器”这个术语是NVIDIA在2008年推出Tesla架构(GTX 200系列)时提出的营销和设计概念。 它指的是NVIDIA GPU中大量可以并行处理数据的小型、灵活的处理器核心。
而AMD则一直使用“流处理单元”(Stream Processing Unit, SPU)或“计算单元”(Compute Unit, CU)这样的术语,你可以把AMD的一个CU理解为一个“小工厂”,里面包含了多个“工人”(核心),而NVIDIA的一个SM(流式多处理器)更像一个高度集成化的“多功能工作站”。
设计哲学与架构差异
这是两者最根本的区别。

NVIDIA: SIMT (Single-Instruction, Multiple-Thread) 架构
NVIDIA采用的是“单指令,多线程”的架构。
- 组织单位: 流处理器被组织在 “流式多处理器”(Streaming Multiprocessor, SM) 中,一个SM是GPU调度和执行的基本单位。
- 核心特点:
- 硬件调度器: 每个SM内部都有一个强大的硬件调度器,它负责将大量的线程块(Thread Block)分配给SM内部的流处理器。
- 数量多,规模小: 每个SM包含一定数量的CUDA核心(就是我们常说的流处理器),以及数量较少但功能更强的张量核心(用于AI计算)、光线追踪核心(RT Core)和纹理单元。
- 灵活性: 这种架构非常灵活,能高效地处理各种类型的并行计算任务,无论是图形渲染还是通用计算。
- 编程模型: NVIDIA的CUDA编程模型非常成熟和普及,拥有庞大的开发者社区和生态系统。
你可以把NVIDIA的SM想象成一个指挥官(硬件调度器)带领着一群精锐士兵(CUDA核心),士兵们听从指挥,协同作战。
(简化的NVIDIA SM结构示意图)
AMD: SIMD (Single-Instruction, Multiple-Data) 架构
AMD采用的是“单指令,多数据”的架构。

- 组织单位: 流处理器被组织在 “计算单元”(Compute Unit, CU) 中,一个CU是AMD GPU调度和执行的基本单位。
- 核心特点:
- 软件调度: AMD的CU内部没有NVIDIA那样强大的硬件调度器,它更多地依赖软件编译器来将任务打包成“波次”(Wavefront,AMD的线程束),然后交给CU执行,这意味着驱动程序和编译器的优化对性能影响巨大。
- 核心数量多,功能统一: 每个CU包含多个流处理器核心,这些核心功能相对统一,数量通常比NVIDIA的SM里的CUDA核心要多。
- 波次执行: 它以64个线程为一组(称为Wavefront)进行同步执行,这意味着如果Wavefront中的某个线程因为等待数据(如纹理加载)而暂停,整个Wavefront都会被阻塞,这可能影响效率。
- 编程模型: AMD主要使用OpenCL和其自家的ROCm平台,近年来,ROCm发展迅速,尤其是在开源和数据中心领域,但生态规模仍不及CUDA。
你可以把AMD的CU想象成一个工厂车间,里面有很多功能相同的工人(流处理器核心),工头(软件编译器)将任务包(Wavefront)分发给整个车间,大家一起动手,完成同样的任务。
(简化的AMD CU结构示意图)
关键技术对比
| 特性 | NVIDIA (CUDA核心) | AMD (流处理器核心) |
|---|---|---|
| 架构模型 | SIMT (单指令,多线程) | SIMD (单指令,多数据) |
| 基本执行单元 | 流式多处理器 | 计算单元 |
| 调度方式 | 硬件调度器 (灵活性高) | 软件编译器 (依赖驱动优化) |
| 线程束大小 | 32个线程 (Warp) | 64个线程 (Wavefront) |
| 核心功能 | 功能分化:有专门的CUDA核心、RT Core、Tensor Core等。 | 功能相对统一:核心数量多,但专用核心较少(新架构已加入) |
| 编程生态 | CUDA (绝对优势,生态最成熟) | ROCm / OpenCL (开源,在特定领域发展迅速) |
| 内存结构 | L1缓存/共享内存统一管理 | L1缓存分为指令缓存和数据缓存,结构不同 |
| 光线追踪 | RT Core (第一代,非常成熟) | Ray Accelerator (新架构,性能正在追赶) |
核心误区:数量不能直接比较
这是最容易被误解的一点!
AMD流处理器的数量看起来远高于NVIDIA,但这并不代表AMD的流处理器就比NVIDIA的多。
- 原因在于架构设计:
- NVIDIA的CUDA核心设计更复杂、功能更强,一个CUDA核心可以处理更多类型的操作。
- AMD的流处理器核心设计更简单、更纯粹,数量多是为了通过“人多力量大”的方式来提升吞吐量。
一个形象的比喻:
- NVIDIA 像一个由少量“瑞士军刀”(CUDA核心)组成的团队,每个士兵都身兼数职。
- AMD 像一个由大量“螺丝刀”(流处理器核心)组成的团队,每个士兵只做一件事,但数量庞大。
你不能直接比较“瑞士军刀”和“螺丝刀”的数量来衡量团队的整体能力,最终的性能取决于整个架构的协同效率、任务类型和软件优化。
实际应用中的表现
由于架构不同,两者在不同场景下的表现也有所侧重:
-
游戏性能:
- 在传统光栅性能上,两者各有胜负,通常同代同档位的显卡性能非常接近,胜负手在于驱动优化和游戏引擎的针对性优化。
- 在光线追踪游戏上,NVIDIA凭借其成熟的第一代和第二代RT Core,目前拥有明显的性能优势。
- 在DLSS(深度学习超级采样)上,NVIDIA的Tensor Core和AI算法(DLSS 3的帧生成)优势巨大,能大幅提升游戏帧率和画质,AMD的FSR(FidelityFX Super Resolution)是开源的,适用性更广,但效果通常略逊于DLSS。
-
专业计算/深度学习:
- 这是NVIDIA CUDA生态的绝对主场,绝大多数深度学习框架(如TensorFlow, PyTorch)都对CUDA进行了深度优化,AI开发者首选NVIDIA显卡。
- AMD在科学计算、渲染(如Blender Cycles)等领域凭借其高性价比和优秀的FP32性能,具有很强的竞争力,随着ROCm的进步,AMD在AI领域的份额正在缓慢增长。
| NVIDIA 流处理器 | AMD 流处理器 | |
|---|---|---|
| 本质 | CUDA核心,是SIMT架构下的执行单元 | SPU核心,是SIMD架构下的执行单元 |
| 哲学 | 硬件调度,核心功能分化 | 软件调度,核心数量多、功能相对统一 |
| 优势 | 光线追踪、AI计算、成熟的CUDA生态 | 高性价比、优秀的传统图形性能、开源生态潜力 |
| 劣势 | 价格通常偏高 | 光追和AI性能相对较弱,软件生态依赖ROCm发展 |
| 如何选择 | 追求极致游戏体验(光追+DLSS)、AI开发、专业软件优化 | 追求高性价比的传统游戏性能、科学计算、开源爱好者 |
AMD和NVIDIA的流处理器是两种不同思路下的产物,没有绝对的优劣之分,它们都在不断进化,NVIDIA在专用硬件上越走越深,而AMD则在通用性能和性价比上持续发力,作为消费者,只需根据你的具体需求(游戏类型、专业软件、预算)来选择最适合你的产品即可。
