雷竞技注册
工业文章

使云更强大:Xilinx fpga和自适应工作负载加速

2018年6月8日经过赛灵思公司

从历史上看,FPGA一直在挑战与之合作。为了打击这种声誉,Xilinx开发了可编程设备,简化 - 并加速了定制硬件开发的实现。

从历史上看,FPGA一直在挑战与之合作。为了打击这种声誉,Xilinx开发了可编程设备,简化 - 并加速了定制硬件开发的实现。公司正在以各种方式使用这些设备来加速计算密集型任务,包括卷积或矩阵乘法。

想象一下,能够通过获得超级计算技术来改善人们的生活。Xilinx的高级,以系统为导向的工作流程通过简化定制硬件加速的实现有助于实现这一目标。这种生态系统为应用程序设计人员打开了门口,以利用Xilinx可编程设备的功率,而无需大型硬件和逻辑设计开销。该范式挑战了整合FPGA级加速的先入为主态度,这需要昨天的FPGA开发瓶颈的噩梦。现在可以有效地集成了定制硬件加速 - 这是一种实用的策略,它已经用于导致破坏性,变化的社交转变的产品。

FPGA有应得的声誉,因为难以与之合作。在高级设计方法,全面的图书馆和高度集成的工具链之前,软件设计早期可以说是同样的。自定义逻辑设计落后于软件开发,因为其硬件焦点需要额外的合成,配件和时序的复杂性。随着时间的推移,该工具已赶上并与现代软件开发工作流程集成,并进行了经过的经过验证的IP的全面图书馆,具有进一步简化的设计。

图1所示。对于在Edge和云之间移动的工作负载,可重新配置的加速是必要的。

现在,基于FPGA的加速可以实际上被认为是软件设计师或系统架构师的另一个底层技术。这一能力在设计人员识别和利用提供的优势时,这种能力正在进入许多真实应用。在日常生活中,这种思维变化有多少影响?评估这一点的最佳方式是首先看看FPGA设计如何进展,然后仔细看看一些用例示例,探索开发人员如何集成FPGA加速。

FPGA设计进展

FPGA硬件设计人员能够通过使用底层电路的低级寄存器传输级别(RTL)描述来构建定制硬件加速器。在大多数情况下,这些硬件设计是使用原理图工具实现的,或者从像VHDL和Verilog这样的硬件语言的结构和行为架构描述中编译。此级别的设计需要工具,语言和同步设计实践的专家知识。即便如此,使用测试台的仿真,针对特定FPGA目标的定时,资源和电源的优化,以及其他IP的集成可以实现挑战。

Xilinx开发平台涵盖了硬件和软件角色

图2。Xilinx的开发平台涵盖了硬件和软件角色。

多年来,Xilinx开发了更高级的工具来在C/ c++或MATLAB环境中构建ip,在这些环境中,用户可以使用fpga在循环中加速计算密集型算法,如视频处理。如今,使用Xilinx SDAccel环境,软件开发人员可以在C/ c++或OpenCL(开放计算语言)代码中使用fpga加速库函数,用软件编程语言设计定制硬件。函数本身可以用C/ c++甚至RTL编写。RTL硬件功能可以打包,然后作为软件“c调用”功能访问。从软件设计的角度来看,它们的实现方式与使用#pragmas和intrinsics封装程序是一样的。

由于OpenCL提供了在异构平台上的通用执行机制,因此这种应用程序在CPU上运行,但能够使用任何加速器,无论FPGA,GPU还是DSP,无论是FPGA,GPU还是DSP,都没有系统设计师写入单件FPGA代码。

Sdaccel for OpenCl.

基于Xilinx基于云的计算硬件加速是Xilinx的软件可定义环境,Sdaccel for OpenCl..通过单一软件“驾驶舱”中的GPU和CPU编程经验,架构优化的编译器可实现灵活的,按需运行时可配置性,以实现利用Xilinx FPGA部分重新配置技术的解决方案。

从边缘到云的开发堆栈

图3。从边缘到云的开发堆栈。

该开发栈包括RTL、C/ c++和OpenCL编译器,以及用于加速开放软件框架(如用于机器学习、视频转码和大数据分析的框架)的运行时软件、驱动程序和应用程序库。

从硬件加速平台中抽象出来并创建一个架构,其中FPGA纯粹是一种加速资源,这使得性能具有内在的可伸缩性。利用此开发堆栈的应用程序设计,消除了传统上存在于硬件平台上的依赖软件,使加速器代码更容易重用和未来proof,因为它可以针对未来的FPGA资源,而无需进行重大重新设计。

FPGA加速的现实应用

对于系统设计师来说,用于工作负载加速的FPGA变得更加容易,科学家或SaaS用户甚至都不会意识到他们正在使用FPGA。例如,如果应用程序本身是特定于领域的开发环境,那么数据科学家可以通过FPGA加速编写算法并探索信息空间。

Caffe和Google的TensorFlow是机器学习框架的示例,它利用Xilinx FPGA来显着加速计算密集型任务,包括卷积或矩阵乘法。利用FPGA加速的其他软件框架包括用于视频转码的FFMPEG,GATK用于基因组学的GATK,以及流媒体分析的风暴。

图4。FPGA云加速会影响各种数据为中心的公司。中间列表示通过FPGA加速度的这些程序有多速度。

亚马逊网络服务

Amazon Web Services (AWS)是一个安全的云服务平台,它提供了将应用程序连接到计算、数据库和其他资源供应的能力。Amazon“弹性计算云”(EC2)的计算资源包括Intel和AMD的cpu、Nvidia的gpu、Xilinx的fpga。EC2支持强大的、可扩展的算法来加速“F1实例”,这些算法基于Virtex UltraScale+ fpga。开发人员利用这一资源来实现算法,如机器学习推理、视频转码、大数据分析或基因组分析,与替代方案相比,性能更高,成本更低。

edico基因组

然后,这些硬件加速功能被打包为软件api,或者作为按使用量付费的软件应用程序在AWS市场上提供。反过来,SaaS提供商将这些加速功能作为其软件产品的一部分。Edico genome就是这样一个开发基因组分析的公司。然后,基因组测序解决方案将使用埃迪科基于云的加速器,作为他们向世界各地医院提供服务的一部分。通过这种访问,Xilinx fpga可以提供帮助拯救生命并改善新生婴儿的结果通过提供定制硬件工作负载

注:在本文撰写期间,Edico Genome被基因组测序领域的领军企业Illumina公司收购。

Nimbix

Xilinx也与Nimbix合作是一位异构加速器云的领先提供商,即Nimbix云.很像AWS, OpenCL的例子可以从GitHub下载,允许开发人员立即编译它们,以熟悉开发流程。可以编写应用程序,编译可执行文件和加速器硬件模块,最后上传到FPGA集群进行数据处理。

该数据过程加速的一个清晰示例是视频编解码器加速,因为HEVC解码器可用于使用Xilinx Sdaccel环境的Nimbix-Powered Cloud上的设计者。硬件加速4K视频编解码器,如realitycodec来自NGCODEC,也可以在Amazon的AWS EC2 F1实例上提供。该编解码器利用多个Xilinx UltraScale + FPGA来提供超低的子帧延迟,旨在支持基于云的虚拟和增强现实应用程序。

百度的XPU.

数据中心工作负载时没有“killer app”。这意味着硬件适应性至关重要。FPGA提供数据中心所需的灵活性,以便随着事项改变时适应自定义加速器。出于这个原因,公司喜欢百度正在发布新的灵活组合的FPGA、CPU和GPU架构,比如XPU。XPU是基于Kintex UltraScale fpga的基于云的256核硬件加速器,专为数据中心加速服务而设计。该设计通常支持巨大的矩阵阵列数学,具有极高的带宽和低延迟,所有600MHz的核心围绕单个共享内存结构和外部DDR4内存银行集群。

百度的混合云平台提供支持人工智能、机器学习、大数据分析和云计算服务的基础设施。微软Azure他们还提供了基于fpga的可配置云,通过他们的Azure服务器来支持web上数据量的激增,使用户能够了解这些信息,并支持他们自己的基于云的服务的大量开销。

高性能和加速度

Xilinx基于云计算的加速对硬件开发和计算业务模式都产生了颠覆性的影响。高性能计算不需要在云连接的智能设备上现场完成;相反,数据可以发送到基于云的硬件加速服务进行分析。

想象一下,作为一个例子,一个虚构的“星际跋涉”三级机构,手持医学分析装置McCoy博士用于诊断患者。而不是具有小型水电站的功率漏极的大型昂贵的超级计算机,该装置仅需要传感器,网络连接,人机界面,以及对工作负载加速服务的订阅来查看结果。可伸缩性意味着联邦可以支付McCoy博士在30秒内使用“Gold”服务在30秒内获得结果,而不是在正常订阅时两分钟。数据分析也可以在此模型下分散。加速度不必在中心位置发生;相反,它可以在不同的物理位置传播,也许在减少一些这些位置的降低的冷却成本。

虽然fpga现在是云的一部分,但重要的是不要忽视它们的特殊特性,以便理解它们在何时何地能够实现良好的加速。例如,fpga工作在门级,这意味着总线宽度、系数精度和顺序到并发处理的程度都是可以争取的。cpu和gpu没有提供这种灵活性。这使得神经网络、滤波器组和矩阵操作等应用程序在每个阶段都有最佳的精度。因此,一个只需要14位的过程在乘法运算中获得了恰好14位的精度,而不是32位或64位。

内存访问可以通过定制的硬件接口进行打包,从而提高内存访问效率和数据库大小——例如,将10位像素打包到内存32位宽的外部视频帧缓冲区中。其他好处包括可以通过更小的内部内存FIFO缓冲区将数据管道直接从一个加速器流到下一个加速器,并避免功耗大、性能消耗大的外部总线访问。

自适应工作负载加速的未来

FPGA加速的未来是什么?Xilinx正在革新fpga的底层技术,优化其设备,使其更好地用于神经网络的实现自适应计算加速平台(一顶帽子)。ACAP具有所有正常分布式存储器,DSP块和FPGA的逻辑,具有多芯SOC,所有由芯片(NOC)连接到一个或多个硬件适应性计算引擎。

产品家族中的第一个产品是珠穆朗玛峰(Everest)(2019年面向客户推出),该产品基于台积电7nm工艺技术开发,将为终端、边缘和云应用提供支持。这将使应用程序能够使用神经网络处理基因组测序等工作负载,其工作速度是目前FPGA加速速度的20倍以上,从而在基因组学、机器视觉、视频转码、数据分析和通信等领域带来巨大的技术进步。因为该平台将提供无与伦比的性能每瓦特效率。该技术非常适合5G应用,将加速未来云服务平台的发展。

软件和系统开发人员都想要结果,而设计过程必须太快进展,以便在低级努力中允许设计师的时间肯定会成为一系列项目延迟技术戏剧。研究人员和科学家需要他们创新的新解决方案来蒙上快速。Xilinx的完整硬件加速生态系统使FPGA级性能可通过几年前梦寐以求的方式访问。既然这一技术是主流的,应该考虑FPGA加速,以便任何基于云的应用程序。Xilinx FPGA现在携带高性能,低功耗和高度集成的设计,直接进入开发人员手中的所有优点。

行业文章是一种内容的形式,允许行业合作伙伴分享有用的新闻,消息和技术,所有关于电路读者的行为编辑内容并不适合。雷竞技注册所有行业文章都受到严格的编辑准则,目的是提供读者有用的新闻,技术专业知识或故事。在行业文章中表达的观点和意见是合作伙伴的观点,不一定是关于电路或其作家的所有人。雷竞技注册