三强争霸高端FPGA(一)

2019-11-12 15:55:41 来源: 互联网
      英特尔在早前宣布,他们已开始将其第一批新的Agilex FPGA交付给抢先体验的客户。这使得最大的两家FPGA供应商之间竞争进入到了“正面交锋”阶段。Xilinx于6月份交付了他们的第一款“ Versal ACAP”FPGA,因此,在经历了一场漫长而有争议的“谁能首先交付?”之战之后。事实证明,这两家竞争公司都可以在大约两个月内,开始交付其可用来与对手对标的FPGA产品线。这意味着,与其他凭借第一时间引入先进节点来提升性能的竞争不同,这两家公司都没有足够的时间去利用一种新的、更先进的技术来赢得设计上的胜利。
 
      不过,这次竞争的领域扩大了,新玩家Achronix声称他们将在今年年底之前交付其新型Speedster 7t FPGA的首批样品。对于开发团队而言,这意味着到今年年底,将有三款完全不同的高端FPGA产品可供选择——所有这些产品都采用类似的工艺技术,并且均具有独特的功能。 
 
      本篇文章是比较这三家供应商的新高端FPGA系列的多部分系列中的第一部分。我们将研究底层的工艺,FPGA逻辑组织(LUT)本身,用于加速处理和联网的强化资源,存储器架构,芯片/封装/定制架构,I/O资源,设计工具策略,每个产品的独特和新颖的特性和功能,以及营销策略。如果您是可以从大量FLOPS,疯狂的带宽或是从设计过的一些有趣,功能强大的半导体器件中获得乐趣的人,那么,这对你来说将是一次令人兴奋的旅行。
 
      注意事项–英特尔和Achronix都参与其中,并提供了本文的信息。Xilinx没有回应我们对信息的请求。
 
      这一次,高端FPGA的霸主地位有所改变。过去,高端FPGA最大的市场是在网络方面,市场份额的变化也是如此,这主要取决于谁可以为部署最新一轮的有线和无线网络客户的产品提供最丰富的设计,,谁就可以取得较大的市场份额。然而,5G推出的时机已经改变了这一动态。在当前的FPGA技术浪潮到来之前,5G就已经开始加速扩展。因此,第一轮5G的主干网是建立在上一代可编程逻辑上的。这些器件将融入一个已经很强大的5G生态系统,因此,我们无法确定5G的彻底革命和新一代FPGA的诞生之间是否保持了一致。这些FPGA的设计已经充分理解了5G的机制。但是,不要低估FPGA对5G的重要性,或者5G对FPGA市场的重要性。今天,当你使用手机时,你的通话有99%的可能是通过FPGA进行的。有了5G,FPGA的影响会更大。
 
      随着数据中心加速(主要是针对AI工作负载)这一新兴市场的快速扩展,这一现象引起了人们的兴趣。据估计,人工智能加速市场将在未来几年中飞速发展,因而这三家供应商都将以其令人印象深刻的性价比和更高的能效来争夺这些设备的大部分市场份额,并声称他们提供的解决方案可以一直延伸到边缘/端侧。这些供应商中的每一个都非常清楚地意识到占领这些AI加速卡插槽是当务之急,并且他们都围绕这个想法设计了新芯片。 
 
      让我们看看所有这些因素吧?
 
      从底层工艺技术来看,Xilinx和Achronix FPGA系列在基于TSMC 7nm而设计,而Intel Agilex则采用了性能相近的Intel 10nm工艺。不要被7/10命名差异所迷惑。不要被7/10的命名法差异所混淆。我们很早以前就曾指出,半导体行业的营销团体根据市场上听起来不错的东西来命名节点,而不是从晶体管本身的任何可识别的特征中推导出它们。据我们估计,TSMC的7nm和Intel10nm是大致相当的工艺,使用这两种工艺的厂商基本一致。这意味着英特尔在工艺技术方面长期保持的领先地位似乎已经消失,不过,当我们接近摩尔定律的瓶颈时,硅加工领域的竞争升级是不可避免的。
 
      当推进到最新的半导体工艺节点,这三个供应商都获得了适度的推动。然而这种推进已不可能达到摩尔定律的历史标准,因为在过去几个工艺节点的新流程更新所带来的收益增量一直在稳步下降。每个人从FinFET技术问世中都获得了一次临时性的推动,现在,随着摩尔定律即将在经济层面上终结,我们可能会发现边际收益递减趋势将一直延续。
 
      在过去,随着晶体管尺寸的减小,每个新工艺节点都让晶体管的密度大量提升,并获得更好的性能和更低的功耗。现在,供应商必须在这三者之间进行权衡,并且即使在他们偏爱的指标上,通常也只能得到较小的回报。同时,转移到新工艺节点的non-recurring费用继续呈指数级增长。这意味着FPGA公司所承担的风险急剧上升,这是因为为了保持竞争力,他们需要不断投资才能获取不断减少的收益。这也意味着我们正在进入一个新时代,FPGA本身的架构和功能、FPGA工具以及这三家公司的营销策略将成为影响收益的关键因素,而不是谁将率先使用新的制程工艺。
 
      考虑到工艺技术实际上是一种洗礼,让我们看一下每个供应商产品的功能和特性。从最基本的FPGA功能– LUT结构开始。我们经常感叹每个公司对LUT的计算都不一样,而且这个游戏每一代都变得更加复杂。Xilinx和Achronix当前使用的是6输入LUT,而Intel的ALM本质上是8输入LUT。厂商或多或少地同意我们可以使用2.2 LUT4s per LUT6,,和2.99 LUT4s per LUT8将不同的LUT转换为等价的4输入LUT。
 
      根据这方法一计算,Achronix Speedster 7T系列包括从363K到2.6M LUT6(相当于800K到5.76M的等效LUT4)领先业界,Intel Agilex系列包括132K到912K 的ALM(相当于395K到2.7M的等效LUT4),Xilinx的Versal系列产品包含了约246K到984K CLB(可换算成541K到2.2M的等效LUT4)。每个供应商都声称自己的体系结构优越,着重强调了可以提高某些特定应用或配置中的逻辑密度,性能或可布线性的设计功能。目前,我们尚不清楚任何供应商的LUT是否明显优于其他任何供应商的LUT。
 
      但是,FPGA可用资源不仅取决于LUT的数量。还必须考虑以下挑战:被有效使用LUT的百分比(我们将在稍后讨论设计工具时进行讨论),以及集成到逻辑模块中的强化功能的数量,这些功能允许以最小的方式实现设计功能LUT结构的参与。根据您的设计,您可能会发现更多内容被塞入一个或多个FPGA中,而这些内容和LUT数量无关。
 
      FPGA“擅长”人工智能推理的主要原因是其可以并行完成大量的算术运算(主要是各种精度的乘法累加),这要归功于编织在可编程逻辑结构中的存在大量"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模块(基本上就像它们已经提供了多年的功能一样)。英特尔的浮点支持也许是三者中最广泛和最成熟的。借助Agilex,他们推出了两种新的浮点模式,即半精度浮点(FP16)和块浮点(Bfloat16),并且进行了架构调整,以使其DSP运算更加高效。 
 
      Xilinx已将其以前的DSP48 Slice升级到DSP58 ——大概是因为它们现在包括了硬件浮点,并且其乘法器也升级到了27×24。因此,在这一代产品中,另外两家供应商也加入了英特尔的行列,提供支持浮点运算的硬件乘法器。对于Xilinx而言,这是一个逆转。赛灵思此前声称,FPGA中实现浮点硬件乘法器不是一个好主意,因为浮点运算主要用于训练,而FPGA则主要针对推理应用。 
 
      就可用的浮点格式而言,Versal(最多2.1K乘法器)和Agilex(最多8.7K乘法器)都支持FP32格式。这三个系列均支持半精度(FP16)——Versal最多可支持2.1K乘法器,Agilex最多可支持17.1K乘法器,Speedster最多可支持5.1K乘法器。Agilex(最多17.1K乘法器)和Speedster(最多5.1K个)支持Bfloat16。对于FP24格式浮点乘法,Versal和Agilex可能会使用FP32单元,而Speedster则具有高达2.6K的乘法器。Achronix Speedster还支持多达81.9K的块浮点乘法器。
 
      Xilinx还带来了一种新的软件可编程矢量处理器——高达400个1GHz+VLIW-SIMD矢量处理核心阵列,具有增强计算和紧密耦合的内存。这为并行化复杂的向量运算并利用FPGA丰富的计算资源提供了更为简单的编程模型。总体而言,是在Xilinx的“kitchen sink”竞争策略上选中了“GPU /推理引擎”。稍后我们将详细讨论这一点。
 
      英特尔对Achronix MLP和Xilinx矢量处理器的回应是老派的演变。他们指出,Agilex DSP模块实现了与其他供应商的新DSP功能相同的功能。可以利用已建立并充分理解的FPGA设计开发流程,并且不需要客户在器件的各个体系结构中去划分他们的设计。如果您的团队具有FPGA/RTL设计专业知识,这是一件好事。但如果你的应用需要由软件工程师来开发DSP,Xilinx的软件可编程方法可能有优势。
 
      除了简单地计算乘数外,我们还可以通过查看供应商关于理论性能的声明来比较这些能力。但有一点需要注意,这些说法被严重夸大了,而且很难精确定义。供应商通常通过将芯片上的乘法器数目乘以这些乘法器的最大工作频率来得出一个数,得出一个"最多XX TOPS或TFLOPS"的数字。显然,现实世界中的设计不会使用到100%的乘法器,没有任何一个设计能够达到这些乘法器的最大理论时钟速率,也没有一个设计能够以适当的速率持续为这些乘法器提供输入数据,并且这些乘法运算的精度因供应商而异。
 
      如果必须估算的话,我们可以说FPGA在实际设计中可以实际达到其理论最大值的50-90%。这要比GPU更好,后者被认为在现实世界中只能达到其理论最大值的10-20%。
 
      在推测INT8操作的TOPS数量时,如果我们将其矢量处理器中的133个TOPS包含在内,则Xilinx Versal以大约171个TOPS位居榜首。12个来自其DSP块,26个来自其逻辑结构。Speedster紧随其后,有大约86个TOPS,其中61个来自他们的MLP模块,25个来自他们的逻辑结构。Agilexint8操作最大值为92个TOPS,其中51个来自DSP块,41个来自逻辑结构。从Bfloat16格式的TFLOPS来看,Agilex以40个领先,Versal以9个紧随其后,Speedster以8个垫底。Speedster在块浮点操作上上获得了很大的优势,但是,它有123个TFLOPS,其次是Agilex的41个和Versal的15个。
 
      这些数字均来自公司自己的数据表。正如我们所提到的,它们是理论上的最大值,在实际的实际应用中是不可能达到的。Achronix宣称的“可用性”具有一定的价值,因为它们的MLP是独特的设计,旨在将可变精度乘法运算维持在模块本身内进行,并以最大时钟速率运行,而无需数据往返于逻辑结构即可完成AI推理中最常见的操作。同样,Xilinx的矢量处理器体系结构应能很好地保持数据平稳地流经算术单元。也就是说,我们还没有看到基准或参考设计以任何有意义的方式来证明这些公司的声称。
 
      当然,要使用所有这些LUT和乘法器,就需要让您的设计实际布局和布线并满足所选芯片的时序要求。随着FPGA的发展,这已成为越来越困难的挑战。单比他网络和逻辑路径通过有限的路由资源分布在巨大芯片上,这使传统的时序收敛逐渐变成一场噩梦。用于在同步设计上实现时序收敛的常规技术均遇到了障碍,无法扩展。Xilinx和Achronix都通过添加覆盖传统逻辑和路由结构的片上网络(NoC)在新一代FPGA中解决了这一问题。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功能,嵌入式处理子系统,设计工具流程等。
责任编辑:sophie

相关文章