琳琅满目的 XPU,到底是什么?

 头条123   2025-01-13 00:20   1879 人阅读  0 条评论
琳琅满目的 XPU,到底是什么?

正在 AI 突起的那几年来,年夜家常常会看到“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 有多种封拆体例,偶然将 I/O 或内寄存正在统一个封拆中,尔后二者被称为微节制器单位 (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 界说,而且该内存是持续可寻址的。而触及到多处置器时,普通内存界说也是也是分歧的。可是能够设想,正在数据流引擎中,分歧性其实不那末主要,由于数据会从一个加快器间接传到另外一个加快器。

若是你对数据集停止分区,那分歧性会成为停滞,你需求对比和更新数据,并会占用分外的运算周期。以是我们需求,也必需斟酌分歧的内存布局,究竟结果可用的内存就那末点。也许能够拜候相邻的内存,但也会很快耗尽,然后没法实时拜候。以是必需正在设想中加以了解,并且是要正在了解架构的环境下往设想它。

我们还需求更初级此外笼统层。有些框架能够将已知收集映照或编译到方针硬件上,比方正在一组初级内核或 API,它们将正在软件仓库中利用,并终究由神经收集的映照器利用。正在底层,你能够正在用分歧范例的硬件,那由你想要实现的方针来决议。归正就是用分歧的硬件,分歧的 PPA ,实现了不异的功用。

而那会给编译器带来很年夜的压力。首要的题目是你将来要若何对加快器停止编程?你是不是弄了个像初代 GPU 那样串正在一路的硬连线引擎?或你是不是构建了具有本身指令集的小型可编程引擎?此刻你必需零丁对那些工具停止编程,并将那些引擎中的每个都与数据留连接起来,然后履行使命。

一个处置器具有全部指令集的某个子集,另外一个处置器具有一个分歧的子集,它们都将同享节制流的某些堆叠部门,编译器得领会它的库并停止映照。

结论

实在处置器的架构并没有改动,它们依然遵照曩昔 40 年来一向遵守的法则。变的是芯片的机关体例,它们此刻包括年夜量异构处置器,那些芯片按照各自的使命,对内存和通讯停止优化。每一个芯片都对处置器机能、优化方针、所需的数据吞吐量和数据流做出了分歧的挑选。

每一个硬件供给商都但愿将本身的芯片与其他芯片辨别开来,品牌推行比议论内部手艺细节要轻易很多。厂商给本身的芯片起了“XPU”的名字,并将它与特定范例的利用联络起来,但“XPU”其实不是关于某个特定硬件架构的名字。

本文地址:https://www.toutiao123.net/news/30832.html
版权声明:本文为原创文章,版权归 头条123 所有,欢迎 本文,转载请保留出处!
 相关文章  关键词:琳琅 满目的 目的 XPU