- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CPU、GPU、NPU、FPGA等芯片架构特点分析
1.? 概述
随着人工智能的热潮和AI算法的广泛应用,深度学习已成为当前AI研究的重点,在自动驾驶领域,环境感知、传感器融合、控制决策等等都会多少涉及到深度学习,而自动驾驶性能的优劣直接和AI算法相关,说白了就是深度学习算法的优劣。要想在面对海量数据的并行运算的同时做到高效、可靠,那就意味着承载AI算法的计算平台需要提供足够的性能加速,也就是AI芯片的算力要足够用,同时考虑其他因素,功耗还不能超标,能效比越高越好。在AI芯片领域,可供选择的,首先是需要一个CPU或者ARM内核来执行调度处理,然后大量的并行计算靠GPU、FPGA或者ASIC来完成,而ASIC里面有多种架构,谷歌的TPU、地平线BPU、寒武纪和华为都推出的NPU等。
之前看过一篇文章,关于GPU等AI芯片如何处理深度学习的,简单整理一下加深记忆。
CPU和GPU都属于通用芯片,不过GPU在近几年专门针对AI算法加强了并行计算单元,因此除CPU外,GPU、NPU、FPGA等芯片作为AI算法的硬件加速器在不同的应用场景和深度学习算法中发挥着各自的优势,且听一一道来。
在自动驾驶算法中,感知算法是作为一切自动驾驶控制处理的基础,环境感知中主要是靠摄像头和激光雷达,而且以摄像头视觉处理居多,因此以摄像头视觉深度学习算法中的人脸识别为例,其基本处理流程及对应功能模块所需的算力需求分布如下:
视觉算法中,先是摄像头获取图像,然后经过CPU或GPU进行预处理,也就是基本的判断识别和任务分配,然后就需要进行大量的数据计算分析,这时候GPU、NPU或者FPGA等AI芯片开始派上用场。之所以会这样,这就涉及到了作为通用芯片CPU和AI计算芯片GPU等的原理架构方面的区别了。
2.??CPU和GPU的原理/架构对比
CPU(CentralProcessing Unit)中央处理器,是一块超大规模的集成电路,主要逻辑架构包括控制单元Control,运算单元ALU和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。简单说,就是计算单元、控制单元和存储单元。
架构图如下所示:
CPU遵循的是冯·诺依曼架构,其核心是存储程序/数据、串行顺序执行。因此CPU的架构中需要大量的空间去放置存储单元(Cache)和控制单元(Control),相比之下计算单元(ALU)只占据了很小的一部分,所以CPU在进行大规模并行计算方面受到限制,相对而言更擅长于处理逻辑控制。
CPU无法做到大量数据并行计算的能力,但GPU可以。
GPU(GraphicsProcessing Unit),即图形处理器,是一种由大量运算单元组成的大规模并行计算架构,早先由CPU中分出来专门用于处理图像并行计算数据,专为同时处理多重并行计算任务而设计。
GPU中也包含基本的计算单元、控制单元和存储单元,但GPU的架构与CPU有很大不同,其架构图如下所示。
与CPU相比,CPU芯片空间的不到20%是ALU,而GPU芯片空间的80%以上是ALU。即GPU拥有更多的ALU用于数据并行处理。这就是为什么GPU可以具备强大的并行计算能力的原因。
从硬件架构分析来看,CPU和GPU似乎很像,都有内存、Cache、ALU、CU,都有着很多的核心,但是CPU的核心占比比较重,相对计算单元ALU很少,可以用来处理非常复杂的控制逻辑,预测分支、乱序执行、多级流水任务等等。相对而言GPU的核心就是比较轻,用于优化具有简单控制逻辑的数据并行任务,注重并行程序的吞吐量。
简单来说就是CPU的核心擅长完成多重复杂任务,重在逻辑,重在串行程序;GPU的核心擅长完成具有简单的控制逻辑的任务,重在计算,重在并行。
再来看一张NVIDIA公开的关于GPU的架构图
上图NVIDIAGPU拥有4个SM(streaming multiprocessor),每个SM有4*8=32个Core,一共有4*4*8=128个Core。再对比一下CPU的Haswell的Core微架构图,可以看到,其有20多种“执行单元”(ExecutionUnits),如ALU、FMA、FP add和FP mul等。每个“执行单元”用于处理不同的指令以 FP mul“执行单元为例”,一个CPU的Core中有2个,六核心的CPU有12个。所以在执行单元方面,128:12。
(仅做参考,此处GPU的Core并不可以和CPU结构图中的Core对等,它只能相当于CPU微架构中的一个“执行单元”。)
关于CPU和GPU可以比喻成:CPU是一个拥有多种功能的优秀领导者,其的强项在于“调度”而非纯粹的计算;而GPU则可以被看成一个接受CPU调度的“拥有大量计算能力”的员工。
总结GPU具有如下特点:
1)??多线程,提供了多
您可能关注的文档
最近下载
- 《我们班四岁了(第一课时)》课件.pptx VIP
- 银屑病关节炎早期识别与诊治专家共识解读.docx VIP
- 人教版四年级上册数学期中试卷及答案.docx VIP
- 系统健壮性分析课件.pptx VIP
- Power Up教材配套测试PU2期末测试卷答案.pdf VIP
- 农村公路病害识别图、日常巡查保养记录表、群众性养护日常保养常见问题与处治方式汇总.pdf VIP
- 2019医用输液泵和医用注射泵安全管理.docx VIP
- 儿童医院“十五五”发展规划方案(2026-2030年).docx
- 护理不良事件-课件.pptx VIP
- 危险化学品建设项目变更情形及审查要求、适用简易程序的建设项目种类.docx VIP
原创力文档


文档评论(0)