巴拉巴

 找回密码
 立即注册

站内搜索

搜索
热搜: 活动 交友 discuz
查看: 12|回复: 0

主题二:GPU和CPU芯片谁更复杂

[复制链接]

4

主题

6

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2023-7-19 21:30:32 | 显示全部楼层 |阅读模式
在20世纪80年代,由于传统的CPU没有专门为图形处理优化的结构,所以在图形处理方面表现很弱。但是随着计算机的普及,游戏图形的不断进化,人们对图形的需求越来越高,为了满足游戏行业的高性能需求,于是在这个时期就诞生了GPU。
图1:来源于华西证券

  • 应用场景
GPU具有高度并行特征,能够为工作负载提供加速。GPU中的ALU具有较多的浮点运算单元,能够大量执行数学计算,加上GPU的寄存器的速度和处理器的速度也很快,从寄存器读写数据数据没有延时。
所以能够满足计算密集型应用的要求,适合深度学习和人工智能推理、科学计算、数值计算等领域。
CPU倾向于程序控制、顺序执行,通常有多个处理核心、高速缓存层次和复杂的指令集体系结构,适合通用计算和广泛的应用领域。

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

图2:数据来源于英伟达官网
图3:数据来源于英伟达官网AMD EPYC™ 9754:大约有820亿个晶体管
图4:来源于知乎两者的架构设计目标不是一样的。从设计角度来说,CPU的架构比GPU的架构复杂。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理,这就使得CPU的内部结构很复杂。
图5:来源于知乎GPU面对的是类型高度统一的、相互依赖的大规模数据,顶级的GPU可能在硬件规模上更大,而顶级的CPU在架构和设计上可能更复杂。
图6:来源于知乎

  • GPU架构
一个CPU通常包含控制单元、算数逻辑单元、寄存器和数据缓存及总线5个组件,组件之间相互配合,相互执行各种各样的任务。
1.并行架构
GPU采用了并行架构,能够同时执行多个计算任务,能够实现高效的并行计算。
2.多线程
能够提供了多核并行计算的基础结构,且核心数非常多,可以支撑大量数据的并行计算,处理神经网络数据远远高效于CPU。
3. 浮点运算能力高
GPU的控制相对简单,且不需要很大的Cache,大部分晶体管可被用于各类专用电路和流水线,计算速度因此大增,拥有强大的浮点运算能力。
4. 响应方式
GPU响应方式采用的是批处理机制,就是任务先排好队,挨个挨个的处理。

  • CPU架构
1.浮点计算
CPU是第多才多艺的,它除了负责整形运算,还负责像媒体解码、硬件解码这种指令集,需要控制和负责的事情比较多,CPU工作主要是顺序执行,浮点计算能力没有GPU的强。
2.响应方式
CPU要求的是实时响应,对单任务处理的速度要求很高。
3.小结
GPU芯片和CPU芯片没有绝对的谁更强,谁更弱的说法,它们在不同的领域和不同的应用上,都是王者,大家根据自己的需求进行挑选,适合自己的就是最好的。如果有什么不了解的地方,欢迎私信我们,一起来探讨。


来源:http://www.yidianzixun.com/article/0pmRobV2
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 返回顶部