英特尔本周(2019年9月)宣告,他们已经开始向早期进入市场的客户出货第一批新的Agilex FPGA。这让我们进入了我们历来认为的两大FPGA供应商之间的竞争 "头敌人 "阶段。早在2019年6月份,Xilinx公司就出货了他们的第一款 "Versal ACAP "FPGA,因此,在经历了 "谁先出货?"的漫长而有争议的辩论之后,事实证明,这两家竞争对手在大约两个月内就开始出货他们的同类FPGA产品线。这意味着,与最近其他的工艺节点上的争夺第一不同的是,两家公司都没有什么主要的韶光来打劫设计上的胜利,都因此一种新的、上风的、没有被对手竞争的技能来打劫设计上的胜利。
不过,这一次,竞争的领域更大了,中间商Achronix公司声称,他们将在今年年底前推出首批Speedster 7t FPGA样品。对付开拓团队来说,这意味着到今年年底,将有三款差异化的高端FPGA产品供他们选择--都是采取类似的工艺技能,并且都具有独特的特性和能力。
这将是多部分系列中的第一篇,对这三家厂商的新高端FPGA系列进行比较。我们将从底层工艺技能、FPGA逻辑(LUT)构造本身、加速处理和网络化的硬化资源、内存架构、芯片/封装/定制化架构、IO资源、设计工具策略、每个产品的独特和新颖的特性和能力以及营销策略等方面进行比较。系好安全带,这将是一次令人愉快的旅程。呃,如果你是那种从巨大的FLOPS数、猖獗的带宽和一些有史以来最有趣的、能力最强的半导体器件中得到快感的人。
竞争领域从通信转移到数据中央这一次,高端FPGA霸主之争的奖项发生了一些变革。过去,高端FPGA最大的市场是在网络领域,市场份额的变革也是如此,紧张是看谁能从支配新一轮有线和无线网络硬件的客户中,以新一代家族的设计胜出,得到最丰富的设计胜出。然而,5G的推出机遇改变了这一动态。5G在当前的FPGA技能浪潮到来之前就开始了规模化,因此,5G的第一轮骨干器件都是建立在上一代可编程逻辑上。这些器件将流向已经强大的5G生态系统,因此我们在5g的彻底革命和新一代FPGA的出身之间并没有保持同等。这些FPGA在设计的时候,对5G的机理已经相称理解。不过,不要鄙视FPGA对5G的主要性,或者说5G对FPGA市场的主要性。当你本日利用手机的时候,大概有99%的概率,你的通话会通过一些FPGA。到了5G,FPGA的影响会更大。
这一事实与新兴的数据中央加速市场的快速扩展---紧张是针对AI事情负载的数据中央加速市场的快速扩展形成了有趣的博弈。据估计,未来几年内,AI加速市场将急剧增长,而这些设备--价格不菲,功耗预算不高--将紧张争夺该市场的数据中央部分,只管这三家厂商都声称要供应能帮助到边缘/端点的办理方案。这些厂商都非常明确地表示,捉住这些AI加速插座是一个优先考虑的问题,他们都环绕着这个想法来架构他们的新芯片。这些成分的结合为这三家公司在5G和AI加速领域的激烈竞争奠定了根本--这意味着这些设备须要具备强大的AI加速功能、强大的网络性能、强大的开拓工具来支配这些超繁芜的芯片,以及狡猾的营销策略。
我们来看看所有这些成分吧?
三家FPGA厂商工艺PK从底层工艺技能入手,Xilinx和Achronix的FPGA系列都是在台积电7nm工艺上制造的,而英特尔Agilex则是在能力附近的英特尔10nm工艺上制造的。不要被7/10命名法的差异所迷惑。我们很早以前就已经达到了这样的境界:半导体营销团队根据市场上听起来很好听的东西来命名节点,而不是从晶体管本身的任何可辨识的特色中得出。根据我们的估计,台积电的7nm和英特尔的10nm工艺大致相称,而利用这两种工艺的厂商基本上都赞许。这意味着,英特尔在制程技能上长期以来的领先上风彷佛已经化为泡影,但是,随着摩尔定律的薄暮附近,硅制程上的竞争领域不可避免地会趋于平缓。
三家厂商都能从跳转到最新的半导系统编制程节点上得到适度的提升。然而,这种跳转可能达不到历史上的摩尔定律标准,由于在过去的几个节点上,每一次新工艺更新带来的增量效益都在稳步低落。当FinFET技能涌现时,每个人都得到了一次性的暂时性的提升,而现在,随着摩尔定律即将到来的经济终点,我们很可能会看到边际回报递减的趋势的延续。
在过去,由于晶体管尺寸的缩小,每一个新节点都会带来更高的密度、更好的性能和更低的功耗,而这统统都是由于晶体管尺寸的缩小而带来的。而现在,厂商不得不在这三者之间进行权衡,纵然在他们所青睐的指标上,也每每会得到较小的回报。与此同时,转移到新工艺节点的非常常性本钱连续呈指数级攀升。这意味着FPGA公司的短长关系急剧上升,由于他们必须以不断降落的收益来稳定地增加投资,以保持竞争力。这也意味着我们正在进入一个时期,在这个时期,FPGA本身的架构和特性、用于实现FPGA的工具以及三家公司的营销策略将成为关键成分,而不是谁前辈入新的工艺节点的机遇。
三家FPGA厂商LUT构造及折合伙源比拟考虑到工艺技能实质上是一种洗涤,我们来看看各厂商供应的能力和特点。先从最基本的FPGA功能开始--LUT构造。我们常常感慨,每个公司对LUT的打算办法都不一样,而且随着每一代产品的更新换代,这种博弈变得更加繁芜。Xilinx和Achronix目前利用的是类似于6输入的LUT,而Intel的ALM基本上是8输入的LUT。厂商们或多或少都赞许,我们可以用每LUT6的2.2个LUT4s和每LUT8的2.99个LUT4s的系数将这些数字转换为等量的4输入LUT。
注:FPGA内部构造可点击查看本公众年夜众号文章《手把手教你动态编辑Xilinx FPGA内LUT内容》。
根据这一打算,Achronix Speedster 7t系列以363K至260万LUT6s(折算成800K-576万LUT4等效)领跑,Intel Agilex以132K-912K ALM(折算成395K-270万LUT4等效),而Xilinx的Versal系列则以246K-984K CLB(折算成541K-220万LUT4等效)。每家厂商都流传宣传自己的架构更胜一筹,强调了在某些特定运用或配置中可能提高逻辑密度、性能或可路由性的设计特性。目前我们还不清楚任何一个厂商的LUT是否比其他厂商的LUT有明显的上风。
然而,你能用一个FPGA做的事情只有一部分是由LUT数量决定的。我们还必须考虑到实际利用这些LUT中的一个故意义的百分比的寻衅(我们将在稍后的设计工具中谈论),以及在硬化的逻辑块中装入多少能力,使设计能力可以在LUT构造中以最小的参与度来实现。根据你的设计,你可能会创造你可以在一个或另一个FPGA中装入更多的功能--与LUT数量无关。
三家FPGA厂商打算资源比拟FPGA善于于AI推理的紧张缘故原由是,由于在可编程逻辑构造中交织着巨大的 "DSP "块阵列,可以并行完成大量的算术运算(紧张是乘法运算,以不同的精度进行乘法运算)。这使得FPGA能够比传统的冯-诺依曼处理器更有效地实行矩阵运算,如卷积等。
再看对AI推理至关主要的硬件乘法器,Achronix公司的可变精度乘法器可以产生41K int-8个单元,即82K int-4个单元。英特尔Agilex有2K-17K 18×19的乘法器,而Xilinx Versal则带来了大约500-3K的 "DSP引擎",大概是 "DSP58 slice",个中包括27×24的乘法器和新的硬件浮点能力。这种比较显然是 "苹果对橙子对芒果",至于哪种水果更适宜你的运用,想必有些 "把稳事变"。
这三家厂商现在都供应了对浮点的硬支持。Achronix公司的DSP块采取了全新的架构,他们称之为 "机器学习处理器"(MLP)。每个MLP最多包含32个乘法器/累加器(MAC),4-24位整数模式,以及各种浮点模式,包括原生支持Tensorflow的Bfloat16格式以及块浮点格式。最主要的是,Achronix MLP将嵌入式内存块与算术单元紧密地耦合在一起,使MAC操作可以在750 MHz的频率下运行,而无需通过FPGA构造等待内存。
英特尔还利用了可变精度DSP块与硬件浮点(基本上就像他们多年来在FPGA中供应的那样)。英特尔的浮点支持可能是三者中最广泛、最成熟的。通过Agilex,他们推出了两种新的浮点模式,即半精度浮点(FP16)&块浮点(Bfloat16),并且他们还进行了架构调度,使他们的DSP操作更加高效。
Xilinx已将其以前的DSP48 Slice升级到DSP58 –大概是由于它们现在包括硬件浮点,并且其乘法器也升级到了27×24。因此,在这一代产品中,其他两家供应商也加入了Intel供应硬件浮点支持的事情。对付Xilinx而言,这是一个反转。赛灵思此前声称,FPGA中的浮点支持不是一个好主张,由于浮点紧张用于演习,而FPGA则紧张针对推理。
在浮点格式方面,Versal(最高2.1K乘法器)和Agilex(最高8.7K乘法器)支持FP32。所有三个系列都支持半精度(FP16)--Versal最多2.1K乘法器,Agilex最多17.1K乘法器,Speedster最多5.1K乘法器。Bfloat16由Agilex(最高17.1K乘法器)和Speedster(最高5.1K乘法器)支持。对付FP24,Versal和Agilex大概会利用FP32单元,而Speedster最高支持2.6K的乘法器。Achronix Speedster还支持高达81.9K的乘法器,用于块浮点。
Xilinx还带来了一种新的软件可编程矢量处理器---由高达400个1GHz+VLIW-SIMD矢量处理内核组成的阵列,具有硬打算和紧密耦合存储器。这为并行化繁芜的向量运算和利用FPGA丰富的打算资源供应了更大略的编程模式。总的来说,这符合Xilinx明显的 "厨房水槽 "竞争策略上的 "GPU/推理引擎 "框。我们稍后再来谈谈这个问题。
英特尔对Achronix MLP和Xilinx矢量处理器的回答是老派的进化。他们指出,Agilex的DSP块实现了与其他厂商的新DSP功能相同的功能,利用的是既定的、广为人知的FPGA设计开拓流程,而且不须要客户在器件的各个架构块之间进行设计分割。如果你的团队拥有FPGA/RTL设计专业知识,这是一件好事。如果你所处的运用是由软件工程师来做DSP,那么Xilinx的软件可编程方法可能会有上风。
三家FPGA厂商打算性能比拟除了大略地皮算乘法器,我们还可以通过看厂商流传宣传的总理论性能来比较能力。不过这里有一点要把稳的是。这些流传宣传严重浮夸了,并故意难以准确定义。厂商常日是通过将芯片上的乘法器数量乘以这些乘法器的最大事情频率来得出 "最高XX TOPS或TFLOPS "的数字。很显然,没有一个现实天下的设计会100%地利用可用的乘法器,没有一个能达到这些乘法器的最大理论时钟频率,也没有一个能保持这些乘法器以适当的速率供应输入数据,而且这些操作的精度因厂商而异。换句话说,这是一个很恐怖的度量,但这是我们目前最好的比较标准。
如果非要估计的话,我们会说FPGA在现实天下的设计中可以实际达到理论最大值的50-90%。这比GPU要好得多,比如说GPU在现实天下中被认为只能达到理论最大值的10-20%。
如果我们将int8操作的TOPS数字推算出来,Xilinx Versal以约171个TOPS位居榜首,个中包括133个向量处理器、12个DSP块和26个逻辑构造。Speedster紧随其后,约有86个TOPS,个中61个来自他们的MLP,25个来自逻辑构造。Agilex以92个int8 TOPS排名第一,个中51个来自于DSP块,41个来自于逻辑构造。从bfloat16 FLOPS来看,Agilex以40个领先,Versal以9个紧随其后,Speedster以8个位居第三名。Speedster在块浮点运算方面有很大的上风,有123个FLOPS,Agilex以41个紧随其后,Versal以15个位居第三位。
这些数字均来自公司自己的数据表,并且正如我们提到的,这是理论上的最大值,在实际的实际运用中不可能达到。Achronix的“可用”主见具有一定的优点,由于它们的MLP是独特的设计,旨在将可变精度乘法运算保持在模块本身内,并以最大时钟速率运行,而无需来回逻辑构造即可完成最常见的AI推理操作。同样,Xilinx的矢量处理器架构该当能很好地保持数据在算术管道中流畅地流动。话虽如此,但我们还没有看到一个基准或参考设计以任何故意义的办法动摇了这些公司的说法。
三家FPGA厂商片内布线带宽比拟当然,利用所有这些LUT和乘法器须要让你的设计在你选择的芯片中实际布局布线并知足时序哀求。随着FPGA的发展,这已经成为一个越来越难的寻衅。单bit线网和逻辑通路扇出在巨大的芯片上扩散,而布线资源有限,这使得传统的时序收敛成为一场噩梦。在同步设计上实现时序收敛的传统技能一个接一个地碰钉子,未能实现规模化。Xilinx和Achronix在其新一代FPGA中办理了这一问题,在传统的逻辑和布线构造的根本上增加了片上网络(NoC)。NoC实质上改变了游戏规则,由于全体芯片不再须要在一个巨大的神奇汇流中实现时序收敛。现在,更小的同步块可以通过NoC通报数据,减轻了传统布线构造的包袱,并将原来巨大的设计自动化工具问题分解成更小的、可管理的块。
几代人以前,英特尔已经采取了另一种方法-用称为“ HyperFlex寄存器”的大量微型寄存器铺砌全体逻辑构造。这些寄存器许可对更长,更繁芜的逻辑路径进行重新定时和流水线处理,从而使全体设计本色上变得异步。有趣的是,这也是Xilinx和Achronix利用的NoC的净效果。每种方法都面临寻衅,由于这两种方法都会给芯片设计和我们利用的设计工具增加大量繁芜性。在英特尔的案例中,据宣布,HyperFlex寄存器对逻辑架构可以实现的整体速率也有一些负面影响。英特尔表示,Agilex FPGA中的HyperFlex体系构造是第二代,与上一代HyperFlex体系构造比较具有改进/增强功能,可以提高性能并简化时序收敛。在Agilex取得进展之后,我们将不得不拭目以待,看看用户报告了什么。
在进行NoC布线的两家供应商中,Xilinx和Achronix中,Achronix声称通过其二维跨芯片AXI实现了最快的NoC。NoC中的每一行或每一列都实现为两个事情在2 Ghz的256位单向AXI通道,同时在每个方向上供应512 Gbps数据流量。Speedster的NoC统共有197个端点,产生27 Tbps的聚合带宽,比FPGA的传统按位布线资源少了很多。据我们所知,Xilinx的Versal NoC性能尚未发布,但是大约有28个端点,我们预测大约是1.5 Tbps。
好了,本文就到此为止,但是下周我们将连续进行下去–看看这些FPGA系列带来的迷人而灵巧的存储器架构,每个系列的独特封装和定制功能,猖獗的SerDes IO功能,嵌入式处理子系统,设计工具流程等。
原文地址:https://www.eejournal.com/article/high-end-fpga-showdown-part-1/。
全文完。