谁是当今FPGA芯片性能之王?

      最后更新:2020-04-08 13:05:32 手机定位技术交流文章

      来源:内容由凯文·莫里斯的《电子期刊》中的“网络交换现场可编程门阵列”编辑,谢谢。

      英特尔本周(2019年9月)宣布,它已开始向提前进入市场的客户运送第一批新的安捷伦FPGA。这让我们进入了我们一直认为的两大FPGA供应商之间的“面对面”竞争阶段。早在2019年6月,Xilinx公司就推出了第一款“范思哲ACAP”FPGA。因此,在经历了“谁先上船”之后?在对“”进行了长时间且有争议的辩论后,两个竞争对手在大约两个月内开始销售他们相似的FPGA产品线。这意味着,与最近在其他流程节点上的竞争不同,这两家公司没有任何重要的时间来夺取设计胜利。他们都用一种新的、有利的技术夺取了设计的胜利,这是竞争对手没有的。

      然而,这一次,竞争的领域更大,中间商阿克罗尼公司声称,他们将在今年年底前推出第一批Speedster 7t现场可编程门阵列样品。对于开发团队来说,这意味着到今年年底,他们将有三种不同的高端FPGA产品可供选择——所有这些产品都使用相似的工艺技术,并且都具有独特的特性和能力。

      这将是一系列零件中的第一个,比较三个制造商的新高端FPGA系列。我们将比较底层工艺技术、现场可编程门阵列逻辑(LUT)结构本身、用于加速处理和联网的加固资源、存储器架构、芯片/封装/定制架构、输入输出资源、设计工具策略、每种产品独特新颖的特性和功能,以及营销策略。系好安全带,这将是一次激动人心的旅行。如果你是那种从巨大的FLOPS数字、疯狂的带宽和一些有史以来最有趣、最强大的半导体器件中获得快乐的人。

      竞争从通信转移到数据中心

      这一次,高端FPGA霸权的奖项发生了一些变化。过去,高端FPGA的最大市场是在网络领域,市场份额的变化也是如此。主要原因是看谁能赢得下一代家庭的设计,并从部署了新一轮有线和无线网络硬件的客户那里获得最丰富的设计。然而,5G时代改变了这一趋势。5G在当前的一波现场可编程门阵列技术到来之前就开始规模化了。因此,5G的第一轮主干设备是建立在前一代可编程逻辑的基础上。这些设备将会流向已经强大的5g生态系统,所以我们在激进的5G革命和新一代FPGA的诞生之间并不一致。在设计这些现场可编程门阵列的时候,5G的机制已经被很好地理解了。然而,不要低估5G或5G对现场可编程门阵列市场的重要性。当你今天使用手机时,你的电话有99%的可能性会通过一些FPGA。在5G,现场可编程门阵列将有更大的影响。

      随着新兴数据中心的快速扩张,这一事实形成了一个有趣的游戏,它主要针对人工智能工作负载。据估计,人工智能加速市场将在未来几年快速增长,这些设备价格昂贵且功耗预算低,将主要争夺数据中心市场,尽管三家供应商都声称提供有助于边缘/终端的解决方案。这些制造商已经非常明确地表示,抓住这些人工智能加速插座是一个优先考虑的问题,他们都围绕这一想法构建了自己的新芯片。这些因素的结合为三家公司在5G和人工智能加速领域的激烈竞争奠定了基础——这意味着这些设备需要具备强大的人工智能加速功能、强大的网络性能、部署这些超复杂芯片的强大开发工具以及巧妙的营销策略。

      让我们看看所有这些因素。

      三个现场可编程门阵列制造商工艺主键

      从底层工艺技术开始,Xilinx和Achronix的现场可编程门阵列系列均采用TSMC的7纳米工艺制造,而英特尔Agilex采用英特尔的10纳米工艺制造,具有相似的功能。不要被7/10命名法的差异所迷惑。我们很久以前就已经达到这种状态,半导体营销团队根据市场上听起来不错的东西来命名节点,而不是根据晶体管本身的任何可识别特征。根据我们的估计,TSMC的7纳米工艺大致相当于英特尔的10纳米工艺,使用这两种工艺的制造商基本一致。这意味着英特尔在工艺技术方面的长期领先优势似乎已经消失。然而,随着摩尔定律接近黄昏,硅工艺的竞争将不可避免地趋于平缓。

      从跳到最新的半导体制造节点,这三家制造商都取得了适度的进步。然而,这种跳跃可能不符合历史上的摩尔定律标准,因为在过去的几个节点中,每个新的过程更新所带来的增量收益一直在稳步下降。当FinFET技术出现时,每个人都得到一次性的暂时提升。现在,随着摩尔定律接近经济终点,我们很可能会看到边际收益递减趋势的继续。

      过去,由于晶体管尺寸的减小,每个新节点将带来更高的密度、更好的性能和更低的功耗,所有这些都是由晶体管尺寸的减小带来的。现在,制造商不得不在这三者之间进行权衡,即使是在他们喜欢的指标上,他们得到的回报也往往较小。与此同时,转移到新流程节点的非经常性成本继续呈指数级增长。这意味着FPGA公司的股份大幅上升,因为它们必须稳步增加投资,同时降低回报,以保持竞争力。这也意味着我们正在进入一个时代,在这个时代里,现场可编程门阵列本身的架构和特性、用于实现现场可编程门阵列的工具以及三家公司的营销战略将成为关键因素,而不是谁先进入新的流程节点的时机。

      三家现场可编程门阵列制造商的LUT结构和资源转换比较

      考虑到技术本质上是一种洗涤,让我们看看不同制造商提供的能力和特性。从最基本的FPGA功能——LUT结构开始。我们常常感慨,每个公司对LUT的计算都不一样,而且这种游戏随着每一代产品的升级而变得更加复杂。Xilinx和Achronix目前使用的LUTs类似于6输入,而英特尔的ALM基本上是8输入LUT。制造商或多或少地同意,我们可以将这些数字转换成一个等效的4输入LUT,系数为每个LUT 6 2.2个LUT 4和每个LUT 8 2.99个LUT 4。

      注:点击这篇公开发表的文章“手拉手教你在Xilinx FPGA中动态编辑LUT内容”,可以查看FPGA的内部结构。

      根据这一计算,Achronix Speedster 7t系列导线采用363K至2.6M LUT6s(相当于8K-5.76M LUT4),英特尔Agilex导线采用132K-912K ALM(相当于395K-2.7m LUT4),Xilinx Versal系列导线采用246K-984K CLB(相当于541K-2.2m LUT4)。每个供应商都声称拥有更好的体系结构,强调在某些特定应用或配置中增加逻辑密度、性能或可布线性的设计特性。目前,还不清楚任何一个制造商的LUT是否比其他制造商的LUT有明显的优势。

      然而,你能用FPGA做的只有一部分是由查找表的数量决定的。我们还必须考虑实际使用这些逻辑表的有意义百分比的挑战(我们将在设计工具中稍后讨论)以及有多少功能被加载到强化的逻辑块中,以便设计功能可以在最少参与LUT结构的情况下实现。根据您的设计,您可能会发现您可以在一个或另一个现场可编程门阵列中加载更多的功能——而不考虑LUT的数量。

      三家现场可编程门阵列制造商计算资源的比较

      FPGA擅长人工智能推理的主要原因是,由于可编程逻辑结构中交织着巨大的“DSP”块阵列,它可以并行完成大量的算术运算(主要是不同精度的乘法运算)。这使得现场可编程门阵列能够比传统的冯诺依曼处理器更有效地执行矩阵运算,如卷积。

      看看对人工智能推理至关重要的硬件乘法器,Achronix的可变精度乘法器可以产生41K int-8个单元,即82K int-4个单元。英特尔Agilex拥有2K-17K18x19乘法器,而Xilinx Versal则带来了约500 3K的“数字信号处理器引擎”,可能是“数字信号处理器58片”,包括27x24乘法器和新的硬件浮点功能。这种比较显然是“苹果对橘子对芒果”。至于哪种水果更适合你的应用,必须有一些“预防措施”。

      这三家供应商现在都为浮点运算提供了强有力的支持。Achronix的DSP模块使用了一种全新的架构,他们称之为“机器学习处理器”(MLP)。每个MLP包含多达32个乘法器/累加器(MAC)、24位整数模式和各种浮点模式,包括支持张量流的本机Bfloat16格式和块浮点格式。最重要的是,阿克罗尼克斯MLP公司将嵌入式内存块和算术单元紧密结合,使媒体访问控制操作可以在750兆赫运行,而无需通过现场可编程门阵列结构等待内存。

      英特尔还使用可变精度的数字信号处理器模块和硬件浮点(基本上就像它们多年来在现场可编程门阵列中提供的那样)。英特尔的浮点支持可能是这三种支持中最广泛和最成熟的。通过Agilex,他们引入了两种新的浮点模式,即半精度浮点(FP16)-AMP;块浮点(Bfloat16),他们还进行了结构调整,使他们的数字信号处理器操作更有效。

      Xilinx已将其先前的DSP48切片升级到DSP 58,可能是因为它们现在包括硬件浮点,并且其乘法器也已升级到27x24。因此,在这一代产品中,另外两家供应商也加入了英特尔提供硬件浮点支持的行列。对于Xilinx来说,这是一个倒置。塞林西早些时候声称,在FPGA中支持浮点不是一个好主意,因为浮点主要用于训练,而FPGA主要用于推理。

      在浮点格式中,Versal(最高2.1K乘法器)和Agilex(最高8.7K乘法器)支持FP32。这三个系列都支持半精度(FP16) -最高2.1K的范思哲乘法器,最高17.1K的Agilex乘法器,最高5.1K的Speedster乘法器。Bfloat16受Agilex(最高17.1千倍)和Speedster(最高5.1千倍)支持。对于FP24,Versal和Agilex可能会使用FP32单元,而Speedster支持高达2.6K的乘法器。Achronix Speedster还支持高达81.9K的块浮点乘法器。

      Xilinx还带来了一款新的软件可编程矢量处理器——一个高达400个1GHz+VLIW的阵列——SIMD矢量处理内核,具有硬计算和紧密耦合的内存。这为并行化复杂的向量运算和利用FPGA丰富的计算资源提供了一种更简单的编程模式。总的来说,这符合Xilinx在“厨房水槽”竞争策略上的明显“GPU/推理机”框。我们稍后将讨论这个问题。

      英特尔对阿奇龙MLP和Xilinx矢量处理器的回应是对旧流派的进化。他们指出,Agilex的数字信号处理器模块实现了与其他厂商的新数字信号处理器相同的功能,使用了一个公认的、众所周知的现场可编程门阵列设计和开发流程,并且不要求客户在设备的各种架构模块之间划分设计。如果你的团队有FPGA/RTL的设计专长,这是一件好事。如果您所在的应用程序是由软件工程师制作的数字信号处理器,Xilinx的软件可编程方法可能会有优势。

      三家现场可编程门阵列制造商的计算性能比较

      除了简单地计算乘数,我们还可以通过查看制造商声明的总理论性能来比较能力。但是有一点需要注意。这些说法被严重夸大,故意难以准确定义。制造商通常将芯片上乘法器的数量乘以这些乘法器的最大工作频率,以获得“XX TOPS或TFLOPS”的数量。显然,没有一个真实世界的设计会使用100%的可用乘法器,没有一个能达到这些乘法器的最大理论时钟频率,没有一个能保持这些乘法器以适当的速率提供输入数据,并且这些操作的精度因制造商而异。换句话说,这是一个可怕的衡量标准,但它是我们目前最好的比较标准。

      如果我们必须估计,我们会说,在现实世界的设计中,FPGA实际上可以达到理论最大值的50-90%。这比GPU好得多。例如,在现实世界中,GPU被认为只达到理论最大值的20%。

      如果我们计算一下由int8操作的TOPS数,Xilinx Versal排名第一,大约有171个TOPS,包括133个矢量处理器、12个数字信号处理器块和26个逻辑结构。Speedster紧随其后,拥有大约86个top,其中61个来自他们的MLP,25个来自他们的逻辑结构。Agilex以92个int8 TOPS排名第一,其中51个来自DSP模块,41个来自逻辑结构。从bfloat16 FLOPS来看,Agilex以40分领先,Versal以9分紧随其后,Speedster以8分位居第三。Speedster在块浮点运算方面有很大的优势,它有123个浮点运算,Agilex有41个,Versal有15个。

      这些数字都来自公司自己的数据表,正如我们提到的,这是理论上的最大值,在实际应用中不可能实现。Achronix的“可用”命题有一定的优势,因为他们的MLP是一个独特的设计,它旨在保持可变精度乘法运算在模块本身和运行在最大时钟速率,并可以完成最常见的人工智能推理操作,而没有往返逻辑结构。类似地,Xilinx的矢量处理器架构应该能够保持数据在算术流水线中平稳流动。话虽如此,我们还没有看到基准或参考设计以任何有意义的方式动摇这些公司。

      三家现场可编程门阵列制造商的片上布线带宽比较

      当然,使用所有这些LUT和乘法器需要您的设计实际上在您选择的芯片上布局布线,并满足时序要求。随着FPGA的发展,这已经成为一个越来越困难的挑战。单位线网络和逻辑路径扇出分布在巨大的芯片上,而布线资源有限,这使得传统的时序收敛成为一场噩梦。同步设计中的传统时序收敛技术一个接一个地碰壁,无法实现规模化。Xilinx和Achronix在他们的新一代FPGA中解决了这个问题,在传统的逻辑和布线结构中增加了片上网络。NoC从本质上改变了游戏规则,因为整个芯片不再需要在巨大的魔法融合中实现时间融合。现在,更小的同步块可以通过片上网络传输数据,减轻了传统布线结构的负担,并将原来庞大的设计自动化工具问题分解成更小、更易管理的块。

      几代人以前,英特尔采用了另一种方法——用大量称为超高性能寄存器的微小寄存器来铺设整个逻辑结构。这些寄存器允许对更长、更复杂的逻辑路径进行重定时和流水线操作,使得整个设计本质上是异步的。有趣的是,这也是Xilinx和Achronix使用NoC的净效果。每种方法都面临挑战,因为这两种方法都给芯片设计和我们使用的设计工具增加了很多复杂性。在英特尔的情况下,据报道,HyperFlex寄存器对逻辑架构能够实现的整体速度也有一些负面影响。英特尔表示,Agilex现场可编程门阵列中的HyperFlex架构是第二代产品,与上一代HyperFlex架构相比,它改进/增强了功能,可以提高性能并简化时序收敛。在Agilex取得进展后,我们将不得不等待,看看用户会报告什么。

      在两家NoC布线供应商中,Xilinx和Achronix声称通过他们的二维跨芯片AXI实现了最快的NoC。NoC中的每一行或每一列被实现为两个256位单向AXI信道,以2 Ghz工作,同时在每个方向上提供512 Gbps的数据流量。Speedster的NoC总共有197个端点,因此总带宽为27兆位/秒,比FPGA传统的逐位路由资源要少得多。据我们所知,Xilinx的Versal NoC性能尚未发布,但大约有28个端点,我们猜测大约为1.5 Tbps。

      这篇文章到此结束,但我们将在下周继续——看看这些FPGA系列带来的迷人而灵活的内存架构,每个系列独特的封装和定制功能,疯狂的SerDes IO功能,嵌入式处理子系统,设计工具流程等。

      原始地址:https://www . ee journal . com/article/high-end-FPGA-deactive-part-1/。

      全文已经完成。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/3901.html

          热门文章

          文章分类