跳至主要内容

CPU 与 GPU:它们如何工作以及何时使用

了解 CPU 与 GPU 的差异、各自优势与应用场景,并了解如何为游戏、AI 等选择合适的处理器!
Tim Lu
Tim Lu

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续继续即表示您接受我们的 使用条款,我们的 隐私政策 ,并且您的数据存储在美国。

我们都听说过 CPU(中央处理器)和 GPU(图形处理器),但您知道它们在处理方式上的差异吗?虽然两者对现代计算都至关重要,但它们的设计目的并不相同。

在本指南中,我将拆解 CPU 和 GPU 的差异、使用场景以及不断演变的角色。

什么是 CPU?

CPU 常被称为计算机的“大脑”,是执行通用计算任务的中央单元。它针对管理复杂的顺序指令进行了优化,几乎涉及计算的各个方面,从处理应用程序到运行操作系统。应用程序包括从浏览器到聊天程序和电子邮件的一切。

CPU 在需要精确性和可靠性的任务上表现出色,例如执行算术运算、基于逻辑的决策,以及控制数据流。

Basic Von Neumann architecture

冯·诺依曼基本架构。作者供图。

现代 CPU 往往配备多核,使其能够同时执行多个任务(尽管规模不及 GPU)。它们还集成了诸如超线程与缓存层级等先进技术,以提升效率并在任务执行时降低延迟。

CPU 的工作原理

CPU 按顺序处理任务,遵循取指、译码、执行与存储的数据指令周期。这种逐步进行的方法带来高精度与高可靠性,使 CPU 非常适合单线程任务,如数据库查询、代码编译与复杂仿真。

尽管现代 CPU 在一定程度上能够多任务处理,但其真正优势在于处理对准确性与顺序性要求很高的复杂计算。

CPU 还具备健壮的错误处理机制,以避免数据损坏或逻辑错误地完成计算。

CPU 的特性

CPU 的典型特征是少量高主频的核心。每个核心在同一时间专注处理一个或少数几个线程,使其在需要强大算力但并行度有限的任务中效率极高。

CPU 的核心特征包括:

  • 主频: 以 GHz 计,决定核心每秒可执行的周期数,直接影响单线程任务的性能。
  • 缓存: CPU 集成了缓存(L1、L2、L3),用于存储经常访问的数据,从而减少从内存取数所需时间。
  • 指令集: CPU 使用复杂指令集(如 x86)来处理多样化任务,从数学计算到多媒体处理。

尽管 CPU 具备精准与通用的优势,但在高并行工作负载方面效率有限,例如训练大型机器学习模型或渲染高分辨率图形。对于这类任务,通常由 GPU 等专用处理器担纲。我们将在下一节看看原因。

什么是 GPU?

GPU 是一种专用处理器,针对并行处理或同时处理多组信息的任务进行了优化。

GPU 最初用于为电子游戏和可视化应用进行图像渲染,但现已发展为在多个领域中应用的强大工具,包括数据科学、机器学习、加密货币挖矿与科学仿真。其并行处理海量数据的能力使其成为高性能计算与AI 开发的关键。

GPU 的工作原理

GPU 具有成千上万个更小的核心,可独立执行简单任务,非常适合并行工作负载。

不同于注重精确与顺序性的 CPU,GPU 将大问题划分为更小的任务并行处理,然后聚合结果。这种架构使 GPU 在将相同指令反复应用于大型数据集的操作上表现出色。

例如,在渲染图像时,GPU 会将每个像素分配给单独的核心同时处理,从而显著加速操作。在机器学习中,这种并行性使其能够通过批处理数据并在众多核心上同时执行诸如矩阵乘法等计算,从而加快训练速度。

现代 GPU 还包括如Tensor Cores(用于 NVIDIA GPU)等专门为加速 AI 任务而设计的单元,使其在神经网络训练等任务上更高效。

GPU 的特性

概括而言,以下特性区分了 GPU:

  • 核心数量: GPU 可拥有成千上万个核心,从而处理极其庞大的并行工作负载。虽然这些核心单个算力弱于 CPU 核心,但合力输出巨大。
  • 主频: 与 CPU 相比,GPU 的主频更低。这种取舍使芯片能容纳更多核心,强调吞吐量而非单线程性能。
  • 内存带宽: GPU 配备高带宽内存(如 GDDR6 或 HBM),以应对并行处理对数据吞吐的高需求。
  • 可扩展性: 现代 GPU 支持多 GPU 组建,可将任务分配到多块 GPU 上以获得更高性能。

CPU 与 GPU 的差异

现在让我们聚焦 CPU 与 GPU 的具体差异。我们已讨论过的一个主要区别是串行与并行计算,但还有其他重要差别。

架构与设计

CPU 采用数量较少但更强大的核心,优化于单线程与顺序处理。这些核心具有先进的控制单元、更大的缓存(L1、L2,有时还有 L3),并支持 x86-64 或 ARM 等复杂指令集。

相对地,GPU 拥有海量较小的核心,专为处理并行任务而设计。这些核心遵循 SIMD(单指令多数据)模型,即同一操作同时应用于多个数据点。

A comparison of the GPU and CPU architecture

GPU 与 CPU 架构对比。图片来源。

性能与效率

可以想见,架构差异会直接影响性能。

凭借高主频与先进的指令处理,CPU 擅长低延迟、需要高精度和逻辑运算的任务。例如操作系统管理、数据库查询与运行应用线程。得益于指令解码与分支预测能力,CPU 也更通用,并能高效切换多样化工作负载。

如前所述,GPU 在并行性为关键的任务中表现优异。其可同时处理多条数据流的能力,使其在高吞吐操作(如视频编码、科学仿真与神经网络训练)中不可或缺。以深度学习为例,GPU 加速矩阵乘法与反向传播,与 CPU 相比可大幅缩短训练时间。

相应的权衡在于工作负载的性质:CPU 在顺序任务上优于 GPU,而 GPU 则在数据密集的并行任务上占优。

功耗

由于核心数量众多且并行处理强度大,GPU 通常耗电更高,而 CPU 的功耗通常更低。

高端 GPU 在满载时可消耗数百瓦功率,尤其是在训练机器学习模型或渲染 4K 图形等高强度操作期间。此外,其对高内存带宽的需求也会进一步增加功耗。

CPU 的动态电压与频率调节(DVFS)、低功耗状态(C-states)以及高效散热机制,使其能够在性能与功耗之间取得良好平衡。这使 CPU 更适合对电池续航或低热量输出有要求的设备,如笔记本与移动设备。

成本与可获得性

CPU 在消费设备中广泛可得,且通常更为实惠。其广泛的适用性与市场渗透率使其对消费者而言相对便宜。入门级 CPU 价格可低于 100 美元,而用于服务器或工作站的高性能型号可能高达数千美元。

GPU,尤其是高性能型号,更为昂贵,常见于工作站、游戏系统与高性能计算环境。游戏用的消费级 GPU 价格范围约为 200 至 1000 美元,而数据中心或科研用的专用 GPU,如 NVIDIA 的 A100 或 AMD 的 Instinct 系列,价格可能高达数万美元。

下表提供了 CPU 与 GPU 的详细对比,便于一目了然地了解差异:

 

CPU(中央处理器)

GPU(图形处理器)

主要功能

用于顺序任务的通用处理

专注并行处理与数据密集型任务

架构

较少但更强大的核心,优化单线程性能

成千上万更小、更简单的核心,优化并行性

处理模型

串行执行:逐个处理任务

并行执行:同时处理多个任务

核心数量

消费级 CPU 通常为 4–64 核

高性能 GPU 可达数千核心

主频

更高主频(最高约 ~5 GHz)

较低主频(约 ~1–2 GHz)

优势

精确性、顺序任务、通用性与逻辑运算

大规模运算(如矩阵计算)的高吞吐

应用场景

运行操作系统、应用逻辑、数据库

图形渲染、机器学习、科学计算

功耗

核心更少且能效设计,功耗更低

核心密度高且带宽需求大,功耗更高

内存带宽

较低,通常优化延迟

更高,优化吞吐(如 GDDR6、HBM)

成本

相对实惠且广泛可得

更昂贵,尤其是高性能型号

应用

笔记本、台式机、服务器、移动设备

游戏系统、工作站、HPC 环境、AI 负载

灵活性

对多样任务具备广泛兼容性

针对需要并行性的特定工作负载进行优化

CPU 的使用场景

我们简要讨论一些更具体的 CPU 使用场景:

  • 通用计算: CPU 非常适合日常任务,如上网浏览、使用办公应用以及日常电脑使用。大多数计算机的工作负载都基于 CPU。
  • 单线程应用: 需要单线程处理的任务(如某些金融计算)更适合使用 CPU。其他单线程应用包括文字处理器、浏览器与音乐应用。
  • 操作系统管理: CPU 处理关键系统进程,管理输入、输出与后台任务,确保系统稳定运行。

GPU 的使用场景

我们也简要回顾一些 GPU 的特定使用场景:

  • 图形与视频处理: GPU 专为渲染高质量图形而设计,在游戏、视频编辑与图形密集型应用中不可或缺。这得益于其并行处理能力,正如本文多次提到的。许多图形强度高的游戏需要足够强劲的 GPU 才能流畅运行且不卡顿。
  • 机器学习与 AI: GPU 常用于训练机器学习模型并快速处理大型数据集,以满足 AI 算法的高性能需求。由于计算量庞大,涉及神经网络的项目尤其需要 GPU。因为许多计算可并行完成,GPU 是复杂的机器学习的重要组成部分。
  • 数据科学与科学计算: GPU 可加速数据科学中的大规模计算与矩阵运算,对数据密集型分析与仿真非常有价值。计算张量、图像分析与卷积层等任务需要巨量算力。例如,Polars 提供了 GPU 引擎用于加速查询。

CPU 与 GPU 的未来

CPU 与 GPU 的算力与复杂性都在持续增长!它们的未来将体现在计算能力的提升与使用的更广泛化。

CPU 适配更多核心

CPU 正在增加核心数量以满足现代多任务需求。这既提升其串行计算能力,也通过多线程提供一定的并行计算能力。

CPU 发展的部分趋势包括:

  • 核心数提升: 消费级 CPU 现常见 8–16 核,而服务器级处理器可达 64 核或更多。通过同时多线程(SMT)与超线程等技术,这提升了并行计算能力。
  • 异构架构: 现代 CPU(如英特尔 Alder Lake 系列或 ARM 的 big.LITTLE 设计)将高性能核心与高能效核心结合,以同时优化功耗与任务表现。
  • 与专用单元集成: CPU 越来越多地在芯片上直接集成加速器,如 AI 推理引擎或图形处理单元,以提升特定工作负载的性能。

GPU 向通用计算演进

GPU 正在演进以处理通用任务,使其在数据密集型操作上日益多才多艺。NVIDIA 与 AMD 等厂商正投资于与硬件解耦的软件生态(如 CUDA、ROCm),以扩展 GPU 在图形之外的适用性。

许多机器学习工具包现在都能够使用 GPU。诸如TensorFlow 与 PyTorch 的框架现已原生支持 GPU 加速,显著缩短计算时间。

专用处理单元

计算的未来并不局限于 CPU 与 GPU。专用处理器的兴起(如 TPU 与 NPU)反映出对特定任务硬件日益增长的需求:

  • 张量处理器(TPU): 由谷歌开发,TPU 专为加速神经网络计算而设计。与 GPU 不同,TPU 重点面向矩阵密集型操作,并针对大规模 AI 任务进行优化。若想了解更多,请阅读关于TPU 与 GPU的文章。
  • 神经处理单元(NPU): 广泛用于移动设备与边缘计算,NPU 专为处理图像识别、语音处理与自然语言理解等 AI 相关任务而构建,同时将功耗降到最低。
  • FPGA 与 ASIC 的进展: 现场可编程门阵列(FPGA)与专用集成电路(ASIC)也因其可针对特定应用进行定制而受到青睐,如加密货币挖矿、网络报文处理与实时分析。

结论

CPU 与 GPU 各自为计算带来独特的优势:CPU 擅长通用与精确任务,而 GPU 在并行处理与数据密集型工作负载中大放异彩。了解这些差异,有助于数据科学家、玩家与专业人士做出明智的硬件选择。

如果您想探索 GPU 如何为深度学习模型提供动力,请查看Introduction to Deep Learning with PyTorch。若希望更广泛地理解 AI 技术及其应用,AI Fundamentals 学习路径提供了全面概览。要更深入了解机器学习背后的机制,请参阅课程Understanding Machine Learning。

FAQs

GPU 能替代 CPU 来处理日常计算任务吗?

不,GPU 不能替代 CPU。虽然 GPU 在并行处理任务上表现出色,但它们缺乏 CPU 在通用任务中提供的多功能性与单线程性能。

我何时应同时使用 CPU 和 GPU?

混合使用可以通过结合两类处理器的优势来实现最佳性能,例如在视频编辑与神经网络等任务中。

为什么机器学习与 AI 更常用 GPU 而不是 CPU?

机器学习与 AI 任务通常涉及处理大型数据集并同时运行大量计算。GPU 具有高核心数与并行处理能力,能够远比 CPU 更快地完成这些任务。

除 CPU 与 GPU 外,是否有用于特定任务的专用处理器?

是的,还有如 TPU(张量处理器)等专用处理器,用于处理机器学习等特定工作负载。TPU 结合了 CPU 与 GPU 架构的要素,以优化特定类型数据处理的性能。

Tim Lu

作者

Tim Lu

我是一名数据科学家,擅长空间分析、机器学习和数据管道。曾使用过 GCP、Hadoop、Hive、Snowflake、Airflow 等数据科学/工程相关流程与工具。

主题