CPU 即中央处理单元,是一种硬件组件,它是服务器的核心计算单元。它负责处理操作系统和应用程序运行所需的各类计算任务。图形处理单元(GPU),是一种与 CPU 类似,但更专业的硬件组件。与普通 CPU 相比,它可以更高效地处理并行运行的复杂数学运算。最初的 GPU 专用于处理游戏和动画中的图形渲染任务,不过现在它们的用途已远超于此。
GPU 和 CPU 之间的相似之处
CPU 和图形处理单元(GPU)都是使计算机正常工作的硬件单元。您可以把它们看作是计算设备的大脑。两者具有相似的内部组件,包括核心、内存和控制单元。
核心
GPU 和 CPU 架构都具有运行所有计算和逻辑函数的核心。核心以数字信号(比特)的形式从内存中提取指令。它对指令进行解码,并在称为指令周期的时间范围内通过逻辑门来进行运行。CPU 最初只有一个核心,而现在多核 CPU 和 GPU 很常见。
内存
CPU 和 GPU 每秒可完成数百万次计算,并使用内存来提高处理性能。缓存是内置内存,便于快速访问数据。在 CPU 中,标签 L1、L2 或 L3 表示缓存安排。L1 最快,L3 最慢。内存管理单元(MMU)控制每个指令周期的 CPU 核心、缓存和 RAM 之间的数据移动。
控制单元
控制单元同步处理任务并确定处理单元产生电脉冲的频率。频率越高的 CPU 和 GPU 性能越好。但是,这些组件的设计和配置在 CPU 和 GPU 中有所不同,使二者的适用领域不同。
主要区别:CPU 和 GPU
计算机图形学和动画设计的出现后,产生了第一批计算密集型工作负载,而 CPU 的设计初衷并非是处理这些工作负载。例如,电子游戏动画需要应用程序处理数据以显示数千个像素,每个像素都有自己的颜色、亮度和移动方式。当时 CPU 上的几何数学计算导致了性能问题。
硬件制造商开始认识到,卸载常见的面向多媒体的任务可以减轻 CPU 的压力并提高性能。如今,与 CPU 相比,图形处理单元(GPU)工作负载处理一些计算密集型应用(比如机器学习和人工智能)时更高效。
功能
CPU 和 GPU 之间的主要区别在于它们的功能。没有 CPU,服务器就无法运行。CPU 处理服务器上所有软件正常运行所需的所有任务。另一方面,GPU 支持 CPU 执行并发计算。GPU 可以更快地完成简单和重复的任务,因为它可以将任务分解成更小的部分然后并行完成。
设计
GPU 擅长通过多个核心或算术逻辑单元(ALU)进行并行处理。GPU 核心不如 CPU 核心强大,内存也更少。CPU 可以在不同的指令集之间快速切换,而 GPU 只是获取大量相同的指令并高速进行推送。因此,GPU 功能在并行计算中起着重要作用。
区别示例
为了更好地理解,请考虑以下类比。CPU 就像一家大型餐厅的主厨,他必须要确保给数百个汉堡翻面。即使主厨可以亲自做,但这并不是利用时间的最佳方式。在主厨完成这项简单但耗时的任务时,所有厨房中的操作都可能停止或延缓。为了避免这种情况,主厨可以让初级助手同时翻汉堡。GPU 更像是一个有十只手的初级助手,可以在 10 秒钟内翻 100 个汉堡。
何时使用 GPU 而不是 CPU
需要注意的是,CPU 与图形处理单元(GPU)之间的选择不是非此即彼的关系。云中的每个服务器或服务器实例都需要 CPU 才能运行。但是,某些服务器还将 GPU 用作联合处理器。特定工作负载更适合在配备 GPU 的服务器上运行,这些 GPU 可以更高效地执行某些功能。例如,GPU 非常适合浮点数计算、图形处理或数据模式匹配。
下面是一些应用程序,在这些应用程序中,使用 GPU 可能比使用 CPU 更有用。
深度学习
深度学习是一种人工智能(AI)方法,用于教计算机以受人脑启发的方式处理数据。例如,深度学习算法可以识别图片、文本、声音和其他数据中的复杂模式,从而生成准确的见解和预测。基于 GPU 的服务器可为机器学习、神经网络和深度学习任务提供高性能。
高性能计算
术语高性能计算是指需要极高计算能力的任务。下面是一些示例:
- 您需要快速、大规模地运行地球科学模拟和地震处理
- 您需要规划财务模拟,以识别产品组合风险、对冲机会等
- 您需要在医学、基因组学和药物发现领域构建预测性、实时性或回顾性的数据科学应用程序
自动驾驶汽车
要开发及部署高级驾驶辅助系统(ADAS)和自动驾驶汽车(AV)系统,您需要高度可扩展的计算、存储、网络和分析技术。例如,您需要数据收集、标注和注释、地图开发、算法开发、模拟和验证方面的功能。如此复杂的工作负载需要基于 GPU 的计算机系统的支持才能高效运行。
区别摘要:CPU 和 GPU
| CPU | 图形处理单元(GPU) |
功能 | 处理服务器主要处理功能的通用组件 | 擅长并行计算的专业组件 |
处理 | 专为串行指令处理而设计 | 专为并行指令处理而设计 |
设计 | 更少、更强大的核心 | 核心比 CPU 多,但功能不如 CPU 核心强大 |
最适合 | 通用计算应用程序 | 高性能计算应用程序 |