在今天这个信息技术飞速发展的时代,我们已经悄然进入了智能化社会。人脸识别、智能客服、个性化推荐等技术,早已融入我们的日常生活,成为不可或缺的一部分。

而这些“看得见”的智能应用背后,离不开一个核心支撑——算力。

算力,是驱动数字世界高效运转的底层引擎。

作为算力的核心承载者,CPU 和 GPU 扮演着至关重要的角色。那么,这两个名字只差一个字的计算核心,到底有什么不同?它们又各自承担着怎样的任务?

0 什么是算力?为何如此重要?

随着数据被列为新的生产要素,算力的重要性日益凸显。所谓算力(Computing Power)是指计算系统对数据的处理能力,通常由数据中心中的服务器集群完成,最终实现对外输出结果

算力的概念并不新。早在第一台机械计算机诞生之初,"算力"就意味着这些机械装置所具备的运算能力。随着半导体技术和集成电路的兴起,计算机进入芯片时代,

算力工具也从庞大的主机缩小到个人电脑(PC)乃至移动终端。

而今,人工智能和大数据的崛起极大推动了算力需求的激增——无论是训练深度神经网络,还是实时处理亿级数据,算力都是根本保障。

芯片,成为现代算力的核心载体。而谈论芯片的算力,绕不开 CPU 和 GPU。

1 CPU vs GPU: 概念

CPU(Central Processing Unit,中央处理器)被誉为计算机的“心脏”,负责执行程序指令、运算处理以及协调各硬件部件,是实现一切逻辑操作的总指挥。

为了适应各种复杂的数据处理场景,CPU 的设计极为复杂。它通常拥有多个核心,每个核心内包含算术逻辑单元、控制单元与高速缓存,

执行指令的流程遵循“取指、译码、执行、回写”的经典冯·诺依曼架构。

CPU 擅长处理逻辑复杂、任务多样的串行计算任务,比如运行操作系统、控制应用程序、处理事务型操作等

CPU 工作流程

然而,随着计算机的普及,人们对图形显示的要求不断提高,例如在进行复杂的三维建模时,需要处理大量的图形数据以呈现逼真的效果;在玩大型游戏时,

要求系统能够处理高分辨率的画面和复杂的游戏场景。尽管 CPU 内部采用了各种方法来加速指令执行,但随着任务的增多,CPU 的性能显得有些力不从心。

面对这个问题,能否考虑增加更多的 CPU 来解决呢?这固然是一种思路,但这涉及到相当高的成本,并且堆叠数量也不能保证完全解决计算能力不足的问题。

这时候聪明的开发者就提出了一个更巧妙的解决方案:既然 CPU 的计算能力有限,为什么不将计算单元堆叠在同一块芯片上,让它们处理大量运算的任务呢?于是,GPU 诞生了。

GPU(Graphics Processing Unit,图形处理器)最初诞生于图像和图形渲染的需求。相比 CPU,GPU 拥有数量庞大的并行计算单元,设计目标就是执行大量简单、重复的运算任务。

起初,它用于游戏渲染和视频播放,但在人工智能兴起后,人们意识到:GPU 的并行计算能力远不止于图像处理。

于是,通用 GPU(GPGPU)概念诞生,使得 GPU 被广泛应用于科学计算、数据分析和 AI 模型训练中,成为高性能计算的核心。


2 CPU vs GPU: “差”在哪里?

通过引入 GPU,计算机系统可以充分利用其强大的并行计算能力,加速图形和图像相关的计算任务。CPU 负责逻辑任务,而 GPU 来处理大量简单重复的计算任务,

这种不同类型的任务分配给不同类型的处理器的模式,大大提高了系统性能。那么,CPU 和 GPU 到底“差”在哪里呢?

2.1 架构组成

CPU 和 GPU 之间存在显著差异,是因为它们各自针对不同的目标和需求来设计,具体体现在:

GPU 基本架构

CPU 拥有较大的缓存单元以及复杂的逻辑控制单元,相比之下计算能力只是 CPU 很小的一部分。而 GPU 则拥有数量众多的计算单元和超长的流水线,但只有非常简单的逻辑控制以及较小的缓存单元。

2.2 设计理念

CPU 和 GPU 的设计理念也截然不同。首先,CPU 是基于低延迟(Low Latency)设计的

而 GPU 则是基于高通量(High Throughput)设计的

总的来说,CPU 拥有数量相对少(一般不超过两位数)但能力更强的核心,能够更快地处理单个任务,因而它尤其适合处理串行任务和逻辑控制等类型的工作。

相比之下,GPU 拥有成百上千核,虽然每个核心运算能力较低,但可以将复杂任务分解成非常多的子任务再并行处理。

串行处理过程


并行处理过程

一句话总结:CPU 善于“深度思考”,GPU 擅长“体力劳动”。


2.3 适用场景

CPU 与 GPU 二者的设计目的并不一样,因而适用的场景也截然不同。CPU 更擅长一次处理一项任务,而 GPU 则可以同时处理多项任务。

可以将 CPU 和 GPU 比作两种运输工具:


在 AI 模型训练、图像处理、科学模拟等并行需求高的场景中,GPU 优势明显。而在日常办公、控制系统等需逻辑判断的任务中,CPU 更胜一筹。

CPU 与 GPU 处理任务对比

综上所述,CPU 是个集各种运算能力的大成者。它的优点在于调度、管理、协调能力强,并且可以做复杂的逻辑运算,但由于运算单元和内核较少,只适合做相对少量的运算。

GPU 无法单独工作,它相当于一大群接受 CPU 调度的流水线员工,适合做大量的简单运算。CPU 和 GPU 在功能上各有所长,互补不足,通过相互配合使用,实现最佳的计算性能


3 CPU vs GPU: 演进与发展

技术的不断更新推动着计算机领域的快速发展,而在这个不断演进的过程中,CPU 和 GPU 也在持续发展。在过去的几十年里它们在各自的领域取得了显著的突破,

为计算机应用提供了更高的性能和效率。这不仅推动了数字化时代信息技术的发展,也为各个领域带来了新的可能性。

3.1 CPU: 扬长避短,稳步前进

自 1971 年第一款商用 CPU Intel 4004 诞生以来,CPU 已走过半个世纪。从早期 4 位处理器到如今十几核的高性能芯片,

CPU 的体积缩小、能效提升,但其核心逻辑结构和职责始终如一——稳扎稳打,重逻辑、广适应

换句话来说,CPU 的功能和使用场景并没有发生较大的改变,无非是在能耗、性能以及可靠性上面不断地优化。

如今的 CPU 在数据处理、设备调度、软件执行等方面依然不可或缺,是整个系统的“大脑中枢”。

3.2 GPU 加速应用遍地开花

GPU 的演化更像是一场革命。

GPU 不再只是图形加速器,更成为通用计算平台的中坚力量。

3.3 大模型与向量数据库

近年来,AI 大模型如 GPT-3、GPT-4 的兴起,引爆了对算力的极致需求。以 GPT-3 为例,训练规模达到 1750 亿参数,动用超千张 A100 GPU 持续训练逾一个月。

而这场大模型浪潮,也带动了一个“新宠”的崛起——向量数据库

向量是 AI 感知世界的“通用语言”。图像、声音、文本等信息,都会被转换成向量进行理解与处理。向量数据库正是专门用于存储与检索这些向量的工具。

但问题也随之而来:如何在亿级向量中快速完成相似性搜索?传统 CPU 难以胜任,GPU 的并行计算优势再次显现:

正如 NVIDIA CEO 黄仁勋在 2023 GTC 大会所言:“向量数据库是构建专有大模型的关键组件。”

但是,向量数据库本身的性能也是一个问题,说到底与大模型的结合只是其应用的一部分,它本质上还是一个数据搜索和分析的工具,

如果性能满足不了用户需求,同样也会被淘汰。于是乎,开发者们又想起了 GPU。

在向量数据库中,最核心的功能在于向量相似性搜索,即在一个海量的数据中找到和某个向量最相似的向量,它的计算量十分庞大,

而这恰好是 GPU 所擅长的,利用 GPU 的并行计算能力可以加速向量相似性搜索,显著提高查询速度,降低延迟。

4 CPU 与 GPU,缺一不可

CPU 和 GPU 并非替代关系,而是互为补充、各展所长:

在数字经济蓬勃发展的今天,只有合理协作、深度融合,才能释放出最大的算力潜能。

未来,无论是元宇宙、自动驾驶,还是通用人工智能,CPU 与 GPU 都将继续书写算力的传奇篇章。