主题二:GPU和CPU芯片谁更复杂
1. 前言
在20世纪80年代,由于传统的CPU没有专门为图形处理优化的结构,所以在图形处理方面表现很弱。但是随着计算机的普及,游戏图形的不断进化,人们对图形的需求越来越高,为了满足游戏行业的高性能需求,于是在这个时期就诞生了GPU。



2.展开讲解
应用场景
GPU具有高度并行特征,能够为工作负载提供加速。GPU中的ALU具有较多的浮点运算单元,能够大量执行数学计算,加上GPU的寄存器的速度和处理器的速度也很快,从寄存器读写数据数据没有延时。
所以能够满足计算密集型应用的要求,适合深度学习和人工智能推理、科学计算、数值计算等领域。

CPU倾向于程序控制、顺序执行,通常有多个处理核心、高速缓存层次和复杂的指令集体系结构,适合通用计算和广泛的应用领域。

CPU芯片包含的晶体管数量(举例)
我们这里拿NVDIA H100和AMD EPYC™ 9754举例:
从晶体管数量来看,顶级的GPU通常包含更多的晶体管。

NVDIA H100:大约有800亿个晶体管


AMD EPYC™ 9754:大约有820亿个晶体管


两者的架构设计目标不是一样的。从设计角度来说,CPU的架构比GPU的架构复杂。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理,这就使得 CPU的内部结构很复杂。


GPU面对的是类型高度统一的、相互依赖的大规模数据,顶级的GPU可能在硬件规模上更大,而顶级的CPU在架构和设计上可能更复杂。


GPU架构
一个CPU通常包含控制单元、算数逻辑单元、寄存器和数据缓存及总线5个组件,组件之间相互配合,相互执行各种各样的任务。

1.并行架构
GPU采用了并行架构,能够同时执行多个计算任务,能够实现高效的并行计算。

2.多线程
能够提供了多核并行计算的基础结构,且核心数非常多,可以支撑大量数据的并行计算,处理神经网络数据远远高效于CPU。

3. 浮点运算能力高
GPU的控制相对简单,且不需要很大的Cache,大部分晶体管可被用于各类专用电路和流水线,计算速度因此大增,拥有强大的浮点运算能力。

4. 响应方式
GPU响应方式采用的是批处理机制,就是任务先排好队,挨个挨个的处理。

CPU架构

1.浮点计算
CPU是第多才多艺的,它除了负责整形运算,还负责像媒体解码、硬件解码这种指令集,需要控制和负责的事情比较多,CPU工作主要是顺序执行,浮点计算能力没有GPU的强。

2.响应方式
CPU要求的是实时响应,对单任务处理的速度要求很高。

3.小结
GPU芯片和CPU芯片没有绝对的谁更强,谁更弱的说法,它们在不同的领域和不同的应用上,都是王者,大家根据自己的需求进行挑选,适合自己的就是最好的。如果有什么不了解的地方,欢迎私信我们,一起来探讨。