
网络研讨会注册:使用英特尔Agilex FPGA的计算存储网络研讨会
BittWare在线研讨会:使用Intel® Agilex™ FPGA的计算存储:让加速更贴近数据 现在按需观看!加速NVMe存储意味着移动计算,例如
当算法包括 "转角 "时,采用HBM2存储器的FPGA比GPU芯片快。这是因为FPGA可以将转角操作与计算重叠,从延迟的角度来看是 "免费 "的。我们使用一个二维FFT来演示该技术,并在下面提供源代码。为了保持 "公平",该代码使用了一个GPU也支持的数据类型。FPGA可以很容易地处理任何数据类型。
BittWare之前使用英特尔的OpenCL编译器为FPGA创建了一个2D FFT内核。我们现在重写了该代码,以利用英特尔的oneAPI编程模型,特别是其DPC++编程语言。我们在520N-MX卡上实现了类似的性能。英特尔正在宣传oneAPI是需要GPU或FPGA加速的应用程序的最佳工具链。
二维FFT经常出现在FPGA IP库中,因此一般不是程序员自己实现的。然而,并行硬件上的二维FFT的常见实现策略涉及一个 "转角 "或 "数据转置 "步骤,这在CPU和GPU上构成了一个主要的性能瓶颈。
我们在这个演示中强调的见解是,FPGA的实现可以在计算的同时进行数据转置,从延迟的角度来看,这几乎是 "免费 "的。
GPU不能做同样的事情,因为GPU架构内部没有足够的内存,在不触及HBM2/GDDR6内存的情况下对中间结果进行流水线处理。
我们不在同一时钟周期内启动16个一维FFT。相反,我们把它们的起始点错开,每个都是一个复数元素。这样做使我们能够将一维FFT的结果编入转角逻辑。
我们需要等待四个一维FFT的输出,以便能够将转置的数据以32字节的方式写入HBM。
BittWare的开发团队使用RTL(Verilog和VHDL)、HLS(主要是C++)、OpenCL,以及现在的DPC++。 我们以前发表过一份白皮书,对RTL与HLS进行了比较。这个项目是我们第一次有机会比较OpenCL与DPC++。
我们很高兴地报告,从用于FPGA的OpenCL代码转移到用于FPGA的DPC++很容易。针对FPGA和HBM2封装存储器的调整与OpenCL版本非常相似。 在主机上的数据移动很简单。我们甚至从NumPy中调用了我们的2D FFT内核,我们从未尝试过使用OpenCL版本。
我们正在使用512个M20K存储器(占MX2100的12.5%)。
为FPGA实现的FFT的长度通常在比特流编译时设置。
我们实现了我们自己的一维FFT(而不是使用某人的FPGA IP库)。一维FFT是radix 2和全流水线的。它不是原地的。
二维FFT性能将始终受到HBM2带宽的限制。因此,我们的重点是找到一种能够使HBM2带宽最大化的算法。这也意味着我们可以使用HBM2带宽基准来精确估计FFT性能。
批次1实现的HBM2峰值性能,在同一设备上有两个独立的内核,是291GBytes/Sec。当管道/批处理时,峰值带宽可以达到337GBytes/Sec。
我们很高兴能够将我们的2D FFT从OpenCL版本快速移植到oneAPI。虽然为支持HBM2的FPGA卡优化方法的工作已经完成,但它仍然为基于OpenCL的用户提供了一条极好的途径,使其能够在BittWare硬件上迁移到oneAPI,并且影响最小。
在FPGA上使用HBM2可以在某些应用中获得一些明显的优势,比如我们在这里看到的。如果你想了解更多关于我们介绍的代码的信息,请通过下面的表格联系我们,询问是否有货,或者了解更多关于BittWare的520N-MX FPGA卡。
你可以通过填写这个表格来申请开放源代码的TAR文件。 你将收到的代码具有开放源码的传奇色彩。
我们把OneAPI 2D FFT编译成一个Linux动态链接的共享对象库。只要输入 "cmake . "就可以创建这个库。
我们从一个简单的NumPy脚本中调用该库,该脚本创建一些输入数据,然后验证或绘制输出。输入 "python runfft.py "可以看到一个图形。
上面的软件是在Centos 8上用英特尔OneAPI工具Beta 10版本测试的,使用的是BittWare 520N-MX卡,该卡承载了MX2100 FPGA。为该卡发布的OpenCL板支持包也允许OneAPI工作
"*"表示必填项目
BittWare在线研讨会:使用Intel® Agilex™ FPGA的计算存储:让加速更贴近数据 现在按需观看!加速NVMe存储意味着移动计算,例如
BittWare网络研讨会采用下一代英特尔® Agilex™ FPGA的高性能计算,采用巴塞罗那超级计算中心的应用实例,现在可以点播(包括录制的内容)。
白皮书 BittWare的Loopback应用说明和实例简介 BittWare的Loopback实例演示了几件事:如何将Xilinx CMAC完全应用于
BittWare合作伙伴IP查询处理单元(QPU) 建立FPGA驱动的加速器,以PCIe Gen4的速度查询、分析或重新格式化存储或流式数据!Eideticom的查询