跳至主要内容

GPU 与 CPU 之间有什么区别?

GPU 与CPU:有什么区别?

CPU(中央处理器)是一种硬件组件,是服务器中的核心通用计算单元。它负责处理操作系统和应用程序运行所需的各类计算任务。图形处理器(GPU)是一种类似的硬件组件,但由于其并行架构,其功能更为专业化。与普通 CPU 相比,它可以更高效地处理并行运行的复杂数学运算。虽然 GPU 最初是为了处理游戏和动画中的图形渲染任务而创建的,但如今其用途已远超于此,并成为机器学习推理中的主要芯片。

什么是 CPU?

中央处理器(CPU)是一种负责协调和处理设备上大多数通用计算任务的处理器。CPU 与存储和内存等不同组件进行通信,同时解释和管理计算机上运行的应用程序发出的指令。大多数 CPU 都是基于硅的微处理器,拥有支持多线程的多个内核,这使得它们能够同时处理多个任务的指令。它们的设计已从最初的多芯片配置演变为如今将整个 CPU 集成在单个 IC 计算机芯片上。

CPU 主要针对顺序处理进行了优化,这有助于处理涉及系统协调、数据处理或复杂逻辑的任务。虽然 CPU 的内核数量少于 GPU,但每个内核都功能强大,能够高效地处理任务。

什么是 GPU?

图形处理器(GPU)是一种专门的处理器,主要专注于需要并行处理的任务。最初,这些工作负载主要用于图形处理(因此得名),就像显卡上的处理器一样。然而,更现代的 GPU 硬件用于同时处理大量数据,使其成为图像处理和视频渲染等工作负载的有力补充。

GPU 包含的内核数量多于 CPU,这意味着它可以将复杂的任务拆分为许多较小的部分并并行运行。得益于这种架构,其并行处理能力优于 CPU,因此非常适合人工智能工作负载(包括机器学习和深度学习)等任务。任何需要分析可并行化的大型数据集或训练神经网络的任务,都能从其处理能力中受益。

GPU 常见于数据中心,用于加速 AI 模型的训练和推理过程。

GPU 和 CPU 之间的相似之处

CPU 和图形处理单元(GPU)都是使计算机正常工作的硬件单元。您可以把它们看作是计算设备的大脑。两者具有相似的内部组件,包括核心、内存和控制单元。

核心

GPU 和 CPU 架构都具有运行所有计算和逻辑函数的核心。处理器核心以二进制编码数据的形式从内存中获取指令。它对指令进行解码,并在称为指令周期的时间范围内通过逻辑门执行这些指令。21 世纪中期,CPU 只有单个核心,而如今,多核 CPU 和 GPU 已成为常态。

大多数现代 GPU 和 CPU 都包含多个处理核心,以便能够同时处理多任务工作负载。虽然 CPU 的核心数量通常较少,并且针对顺序处理进行了优化,但 GPU 拥有更多核心,并采用并行处理方式。尽管设计不同,但两者都利用这些核心来处理工作负载并支持正在运行的应用程序。

内存

CPU 和 GPU 每秒可完成数十亿次计算,并使用内部内存来提高处理性能。缓存是内置内存,便于快速访问数据。在 CPU 中,标签 L1、L2 或 L3 表示缓存安排。L1 最快,L3 最慢。内存管理单元(MMU)在每个指令周期内控制 CPU 核心、缓存与 RAM 之间的虚拟内存到物理内存的映射。GPU 使用专用的 VRAM 作为存储介质,并配备 L1 和 L2 缓存。

这些存储层级结构有助于处理器在大规模移动数据的同时管理海量任务。许多现代工作负载(如机器学习任务、人工智能应用和视频渲染)都依赖高速内存,这意味着 CPU 和 GPU 必须能够协同处理高强度的运算任务,且不产生延迟。

控制单元

控制单元根据处理单元在时钟周期内产生的电脉冲频率,对处理任务进行同步协调。频率更高的 CPU 和 GPU 通常性能更佳,尽管并行处理能力对性能的影响更为关键。但是,由于 CPU 和 GPU 在组件设计和配置上存在差异,因此二者各自适用于不同的场景。

控制单元是核心组件,负责在处理神经网络训练、深度学习或涉及大数据集等高强度工作负载时指挥缓存和寄存器等内部单元协同工作。高效的协调机制可确保系统不会负载过重。

CPU 与 GPU 的主要区别

计算机图形和动画技术的出现带来了首批计算密集型工作负载,而消费级 CPU 的设计初衷并非是处理这些任务。例如,电子游戏动画需要应用程序处理数据以显示数百万个像素,每个像素都有其独特的颜色、光照强度和运动状态。当时,在 CPU 上进行 3D 渲染所需的几何数学计算会导致性能问题。

硬件制造商开始认识到,卸载常见的面向多媒体的任务可以减轻 CPU 的压力并提高性能。如今,GPU 工作负载在处理机器学习和人工智能等多种计算密集型应用程序时,效率高于 CPU。

功能

CPU 和 GPU 之间的主要区别在于其功能。没有 CPU,服务器或其他机器便无法运行。CPU 负责处理所有软件正常运行所需的各项任务。相比之下,GPU 通过执行并发计算来辅助 CPU。GPU 可以更快地完成简单和重复的任务,因为它可以将任务分解成更小的部分然后并行完成。

设计

GPU 擅长利用多个核心或算术逻辑单元(ALU)进行并行处理。GPU 核心的性能通常弱于 CPU 核心,且内存容量较小,不过高端 GPU 配备了容量巨大的 VRAM。虽然 CPU 能够快速在不同的指令集之间切换,GPU 则是接收大量相同的指令并以极高的速度进行处理。因此,GPU 功能在并行计算中起着重要作用。

区别示例

为了更好地理解,请考虑以下类比。CPU 就像一家大型餐厅的主厨,他必须要确保给数百个汉堡翻面。即使主厨可以亲自做,但这并不是利用时间的最佳方式。在主厨完成这项简单但耗时的任务时,所有厨房中的操作都可能停止或延缓。为了避免这种情况,主厨可以让初级助手同时翻汉堡。GPU 更像是一个有十只手的初级助手,可以在 10 秒钟内翻 100 个汉堡。

何时使用 GPU 而不是 CPU

需要注意的是,CPU 和图形处理单元(GPU)之间的选择不是非此即彼的决策。例如,云中的每台服务器或服务器实例都需要 CPU 才能运行。但是,某些服务器还将 GPU 用作联合处理器。特定工作负载更适合在配备 GPU 的服务器上运行,这些 GPU 可以更高效地执行某些功能。例如,GPU 非常适合执行浮点数运算、图形处理或数据模式匹配任务。

下面是一些应用程序,在这些应用程序中,使用 GPU 可能比使用 CPU 更有用。

深度学习和机器学习

深度学习是一种人工智能(AI)方法,用于教计算机以受人脑启发的方式处理数据。例如,深度学习算法可以识别图片、文本、声音和其他数据中的复杂模式,从而生成准确的见解和预测。基于 GPU 的服务器可为机器学习、神经网络和深度学习任务提供高性能。

高性能计算

“高性能计算”一词是指需要极高计算能力的任务。下面是一些示例:

  • 您需要快速、大规模地运行地球科学模拟和地震处理
  • 您需要规划财务模拟,以识别产品组合风险、对冲机会等
  • 您需要在医学、基因组学和药物发现领域构建预测性、实时性或回顾性的数据科学应用程序

基于 GPU 的计算机系统更适合处理此类可并行化的高性能计算任务。

自动驾驶汽车

要开发及部署高级驾驶辅助系统(ADAS)和自动驾驶汽车(AV)系统,您需要高度可扩展的计算、存储、网络和分析技术。例如,您需要数据收集、标注和注释、地图开发、算法开发、模拟和验证方面的功能。如此复杂的工作负载需要基于 GPU 的计算机系统的支持才能高效运行。

媒体处理与计算机图形学

与仅依赖 CPU 相比,GPU 在处理实时图形工作负载时更具优势。视频编辑或大规模流媒体编码与转码任务都受益于 GPU 的并行处理能力。由于 GPU 能够通过并行处理同时管理多项计算,因此它处理视觉数据的速度和效率远高于 CPU。

差异摘要:CPU 与GPU

 

CPU

图形处理单元(GPU)

职能

一种处理计算机主要处理功能的通用组件

擅长并行计算的专业组件

处理

专为串行指令处理而设计

专为并行指令处理而设计

设计

更少、更强大的核心

核心比 CPU 多,但功能不如 CPU 核心强大

最适合

通用计算应用程序

高性能计算应用程序、游戏与富媒体、机器学习以及人工智能

AWS 如何支持您的 CPU 和 GPU 服务器需求?

Amazon Web Services(AWS)提供 Amazon Elastic Compute Cloud(Amazon EC2),是功能最广泛、最深入的计算平台。它拥有 500 多个实例,您可以选择最新的处理器、存储、联网、操作系统和购买模型,以帮助您最大限度地满足工作负载需求。

下面是 Amazon EC2 提供的一些亮点:

  • 通用实例在计算、内存和网络资源之间实现了平衡。您可以选择配置 2 到 192 个虚拟 CPU 的实例。
  • 基于 GPU 的实例提供图形处理单元(GPU),可提供额外的计算能力。在每个实例中,您最多可以获得 8 个 GPU。
  • 对于机器学习工作负载,专用的 AI 加速器(如 Trainium 和 Inferentia)可能比常规 GPU 实例更适用。

立即创建免费账户,开始使用 AWS 上的服务器实例。

Browse all cloud computing concepts

Browse all cloud computing concepts content here:

正在加载
正在加载
正在加载
正在加载
正在加载

Did you find what you were looking for today?

Let us know so we can improve the quality of the content on our pages