小白网-奉贤部落-奉贤免费信息发布平台

查看: 61|回复: 0

npu是什么意义啊和cpu(NPU是什么意义)

[复制链接]

2万

主题

0

回帖

8万

积分

论坛元老

Rank: 8Rank: 8

积分
88256
发表于 2025-7-26 12:57 | 显示全部楼层 |阅读模式
在AI兴起的这几年,在高通、苹果、三星、麒麟、联发科、谷歌的SOC上,人们经常会看到“TPU、IPU、NPU”这样的名字他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。这些“XPU”有什么区分?真的有这么多分歧的架构吗?还是厂商的概念营销?
为了回答这个题目,SemiEngineering收集了大量业内助士的定见,并整理成书面形式他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。原文链接:https://semiengineering.com/what-is-an-xpu.我们对此停止了精简和整理,但文章内容仍然很硬核他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。做好心理预备,现在就起头吧!
来历aita
从CPU及其成长来看,这些“xpu”大多不是实在的处置器他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。机械进修加速器是处置器的一种,可是它的处置部件是多种多样的他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。它们更像是GPU,是履行特别工作负载的加速器,有很多品种型他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
处置器的本质可以归结为三点他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。最初,回到指令集架构(ISA):首先,界说做什么,然后是I/O和内存(支持ISA和它试图完成什么)他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。未来我们会看到比曩昔两三年更多的创新和变化他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
很多新架构并不是单个处置器,而是分歧范例的处置器或可编程引擎的组合,它们存在于同一个SoC或系统中,将软件使命分派给分歧的硬件或可灵活变化的可编程引擎他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。一切这些处置器可以同享一个公共的API,可是它们的履行域是分歧的他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。在这个条理上,确切存在各类范例的分歧架构他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
但现真相况是,“XPU”的名字大部分都是营销类的,这些名字和缩写同时指的是两件事:一是用来诠释处置器的架构,比如SIMD(单指令大都据),二是界说它所寻址的利用段他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。是以,它可以用来界说处置器架构,也可以用作品牌称号,如“张量处置单元(TPU)”他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。究竟厂商命名的不是单个处置器,而是他们的架构他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
40年前,命名的题目要简单很多他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。首先是大师最熟悉的中心处置器(CPU)他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。虽然它有很多进化版本,但根基上都是冯诺依曼架构和图灵的完整处置器他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。每个都有分歧的指令集,以进步处置效力他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。在阿谁年月,人们对复杂指令集(CISC)和精简指令集(RISC)的优弱点停止了普遍的会商他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
后来RISC-V的出现给ISA带来了很多关注他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。ISA界说了处置器针对界说的使命停止优化的水平,人们可以检察ISA并起头计较周期他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。例如,假如一个ISA有本机指令而且运转在1GHz,我们可以将其与另一个ISA处置器停止比力他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。后者完成一样的功用能够需要两条指令,但频次都是1.5GHz,孰强孰弱不言而喻他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
CPU的封装方式有很多种,偶然IO或内寄存在同一个封装中,后两者称为微控制器单元(MCU)他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。当调制解调器变得风行时,数字信号处置器(DSP)出现了他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。它们之间的区分在于,它们利用哈佛架构将指令总线和数据总线分隔,而且它们中的一些还利用SIMD架构来进步数据处置效力他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
指令和数据的分手是为了进步吞吐量(虽然确切限制了自编程等边沿编程)他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。凡是这里的鸿沟条件不是计较,而是I/O大概内存他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。行业的焦点已经从进步计较才能转移到确保有充足的数据来连结计较和保持性能他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
当单个处置器性能没法继续提升时,将多个处置器毗连在一路他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。他们凡是还利用同享内存来连结每个处置器和全部处置器集群的图灵完整性他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。法式的任何部分在哪个内核上履行都无关紧急,归正成果是一样的他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
下一个严重成长是图形处置单元(GPU)的出现他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。GPU打破常规,由于每个处置单元或流水线都有自己的内存,不能在处置单元外寻址他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。由于内存巨细是有限的,只能履行那些能放入内存的使命,所以使命自己是有限的他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
对于某些范例的使命,GPU很是强大,可是它们的流水线很是长,这就致使了提早和不肯定性他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。这些流水线答应GPU单元延续处置数据,但假如要革新流水线,效力会大打折扣他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
GPU和后来的GPU (GPGPU界说了一种编程范式和软件栈,这使得它们比之前的加速器更轻易利用他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。多年来,有些工作已经专业化了他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。有运转持续法式的CPU,有专注于图像显现的图形处置器,把我们带入一个高度并行的天下他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。后者利用很多小型处置单元来履利用命(包括当前的机械进修使命)他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
有没有什么架构法则可以用来诠释一切的新架构?是的,也许片上收集(NoC)是一个得当的界说他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。在曩昔,处置器阵列凡是经过内存或牢固的收集拓扑结构(网状或环形)毗连,而NoC使散布式异构处置器可以以更灵活的方式停止通讯他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。在未来,他们可以不用记忆来交换他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
现在的NoC是针对数据的,而未来的NoC也可以发送号令、告诉等数据,可以扩大到加速器不但仅交换数据的范畴他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。加速器或集群的通讯要求能够与CPU或标准SoC的通讯要求分歧,但NoC不会将设想职员限制在一个子集内他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。它们可以经过满足分歧加速器的特别通讯要求来优化和进步性能他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
架构区分处置器的另一种方式是检察它们针对特定运转情况的优化他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。例如,不异的软件能够运转在云和微型物联网装备上,但分歧情况下利用的架构完全分歧他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。它们对性能、功耗、本钱、在极端条件下运转的才能等都有分歧的要求他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
这能够是由于对低提早的需求,也能够是由于功耗的缘由,一些原本针对云计较的软件现在逐步投入到装备的端到端操纵中他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。虽然是分歧的硬件架构,可是大师自然都希望有不异的软件栈,这样软件便可以在两种场所下运转他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。云需要供给灵活性,由于它可以运转分歧范例的利用法式,而且有很多用户他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。这要求办事器硬件针对利用停止优化,而且可以供给分歧的范围他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
而机械进修使命也有自己的要求他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。当利用神经收集和机械进修构建系统时,您需要利用软件框架和通用软件仓库,以便收集可以被编程和映照到硬件他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。然后,从PPA的角度来看,您可以使软件顺应分歧的硬件他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。这鞭策了“使分歧范例的处置和处置器顺应各类硬件”的需求他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
这些要求由利用法式界说他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。例如,就像一家公司设想了一个用于图形操纵的处置器,他们优化并加速了图形跟踪,并履行图形重排等操纵,以及矩阵乘法等其他蛮力部分,以加速机械进修他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
内存拜候对于每个架构来说都是一个特别的题目,由于当你构建一个加速器时,最重要的方针是尽能够长时候地连结它的满负荷他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。您必须将尽能够多的数据传输到ALU,以便它可以吞吐尽能够多的数据他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
他们有很多配合之处他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。它们都有当地存储器和用于通讯的片上收集他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。每个履行算法的处置器都在处置一小块数据,这些操纵由运转在CPU上的操纵系统来调剂他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
对于硬件设想师来说,辣手的部分在于使命猜测他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。虽然在某些层面会有类似的操纵范例,但人们正在研讨分歧层面的差别他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。为了处置神经收集,需要几品种型的处置才能他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。这意味着你需要以某种方式处置神经收集的一部分,然后你能够需要在另一层停止另一次处置操纵他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。而且数据移动和数据量也是层层变化的他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
你需要为处置流水线建立一整套分歧的加速器,了解和分析算法,界说优化流程是一项触及完整架构的使命他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。就像基因组测序一样,你能够需要做一些处置,但你不能用单一范例的加速器来加速一切他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。CPU负责治理履行流水线,设备履行流水线,履行DMA,做决议他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
能够会触及到分区履行的题目他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。没有一个处置器可以针对每个使命停止优化——FPGA、CPU、GPU、DSP都不可他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。芯片设想者可以建立一系列包括一切这些处置器的芯片,但客户利用的困难在于,他们必须肯定系统的每个部分将在哪些处置器或CPU上运转他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。在FPGA上?还是在GPU上?
但不管若何,总有一个CPU在里面他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。CPU负责履行法式中不法则的部分,CPU的通用性有自己的上风他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。另一方面,假如是特别的数据结构大概数学运算,CPU就不可了他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。究竟CPU是通用处置器他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。不是什么都优化,也没有出格擅长的项目他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
在笼统层改变之前,硬件/软件鸿沟由ISA界说,存储器是持续可寻址的他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。说到多处置器,一般的内存界说也是分歧的他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。可是可以设想,在数据流引擎中,分歧性并不是那末重要,由于数据会间接从一个加速器转移到另一个他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
Speeder7T FPGA结构图
假如对数据集停止分区,分歧性会成为一个障碍,需要对数据停止比力和更新,还需要额外的操纵周期他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。是以,我们需要而且不能不斟酌分歧的记忆结构他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。究竟可用的内存就那末一点点他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。也答应以拜候相邻内存,可是很快就会用完,然后就不能实时拜候了他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。所以在设想中一定要了解,要用对架构的了解来设想他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
我们还需要更高条理的笼统他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。有些框架可以将已知的收集映照或编译到方针硬件上,比如一套底层的内核或API,它们会在软件栈中利用,终极被神经收集的映照器利用他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。在底部,您能够利用分歧范例的硬件,这是由您想要实现的方针决议的他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。不管怎样说,分歧的硬件和分歧的PPA实现了不异的功用他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
而这样会给编译器很大压力他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。最首要的题目是你未来若何给加速器编程?你有一个像原始GPU一样的硬连线引擎吗?还是已经用自己的指令集搭建了一个小型的可编程引擎?现在你要把这些工具别离编程,把这些引擎的每一个都和数据流毗连起来,然后履利用命他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
一个处置器具有全部指令集的子集,而另一个处置器具有分歧的子集,它们将同享控制流的一些堆叠部分他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。编译器必须晓得它的库并映照它他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
结论
谷歌tpu
究竟上,处置器的架构并没有改变,它们仍然遵守着曩昔40年来一向遵守的法则他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。改变的是芯片的机关方式他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。它们现在包括大量异构处置器他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。这些芯片按照各自的使命优化内存和通讯他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。每个芯片针对处置器性能、优化方针、所需的数据吞吐量和数据流做出分歧的挑选他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
每个硬件供给商都想把自己的芯片和其他芯片区分隔来,品牌推行比议论内部技术细节要轻易很多他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。制造商将他们的芯片命名为“XPU”,并将其与特定范例的利用法式相关联,但“XPU”不是关于特定硬件架构的称号他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
就像谷歌称自己的公用集成电路(ASIC)为TPU(张量处置单元)张量处置单元/处置器,但现实上TPU指的并不是具体的硬件架构他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|小白网-奉贤部落-奉贤免费信息发布平台  

GMT+8, 2025-11-12 00:18 , Processed in 0.340313 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表