大规模高性能计算
FPGA加速已成为解决当今前沿计算问题的关键推动者。神经网络深度学习、数据挖掘、云计算或科学研究只是传统服务器计算能力不足的几个领域,尽管消耗了大量的能量。最近,FPGA技术的巨大进步为其在高性能计算应用领域的应用打开了大门。
Aldec的可扩展的FPGA加速器是大型HPC应用的理想选择。今天的一代FPGA加速板具有低功耗,Xilinx®Ultrascale™FPGA提供卓越的计算能力,其功耗效率是基于gpu的加速板无法达到的。
FPGA加速器
- HES-XCVU9P-QDR—可直接安装在数据中心服务器内部的低规格PCIe x16成形因子板。在这个板FPGA配合高带宽QDR-II+存储器提供高吞吐量的算法加速。
- HES-XCVU9P-ZU7EV-主板与单独的主机接口芯片Xilinx Zynq UltraScale+ XCZU7和另一种FPGA Xilinx UltraScale+ XCVU9P完全为用户的应用程序指定。它的逻辑资源包含大量的DSP块(6840),使其成为理想的DSP和计算机视觉应用。
- 他-我们- 440-独立板与外置PCIe x8电缆连接,包含最大的Xilinx Virtex Ultrascale设备,拥有前所未有的550万个逻辑单元,DDR4内存高达64GB的两个模块和快速RLDRAM。它专门用于加速非常复杂的算法,或者那些可以从算法内核的大量复制实例中受益的算法。
- HES-XCKU11P-DDR4-可直接安装在用于HPC/HFT的服务器内部的低规格x16成形因子板。包括Kintex UltraScale+,属于性价比最高的FPGA家族。两个QSFP-DD可以提供高带宽和低延迟通信(高达400gbps)。
HES-XCVU9P-QDR | HES-XCVU9P-ZU7EV | 他-我们- 440 | HES-XCKU11P-DDR4 | |
逻辑单元 |
250万年 | 250万年 | 550万年 | 653000年 |
DSP模块 |
6840 | 6840 | 2880 | 2928年 |
片上内存 |
75.9 Mb BlockRAM 270 Mb UltraRAM |
75.9 Mb BlockRAM 270 Mb UltraRAM |
88.6 Mb BlockRAM | 21.1 Mb BlockRAM 22.5 Mb UltraRAM |
片外RAM |
432 Mb QDR-II (3x 144 Mb) 或*-DDR版本: 32gb DDR4 (2x 16Gb) 144 Mb QDR-II |
32GB DDR4 (2x 16GB) 2 x 576 mb RLD3 |
32GB DDR4 (2x 16GB) 1152 Mb RLD3 (2x 576Mb) |
SODIMM DDR4内存插槽 512mb闪存2x 64kb I2C EEPROM |
主机接口 |
PCI Express x16第3代 | PCI Express x8第3代 Zynq UltraScale + XCZU7 |
PCI Express x8第2代 XC7Z100 zynq - 7000 |
PCIe x16 gen3终端或PCIe x8 gen4 2x QSFP-DD(总容量400Gbps) |
主机接口
通过PCIe将FPGA加速板与主机工作站连接起来并不是件简单的事情,如果从头开始将需要大量的硬件设计知识。软件开发人员需要一个随时可用的硬件平台,而不涉及底层的硬件集成。理解这样一个使用模型,Aldec提供他Proto-AXI接口,隐藏底层PCI Express实现细节,节省开发时间。用户接收到基于AMBA AXI标准的HES Proto-AXI IP-core,并将加速算法内核桥接到上位机的PCIe总线上。
HES Proto-AXI经过了优化,可以实现主机和HES板之间传输的高于2gb /s的高数据吞吐量。它提供了一个易于使用的内存映射接口,用于与计算设备集成,并且它也可以很容易地转换为流的AXI接口。采用包含适当控制器的HES Proto-AXI,并通过相同的AXI接口提供内存访问,也有助于使用DDR3、DDR4或QDR-II等外部板载内存
快速集成
可以使用Xilinx High Level Synthesis (HLS)或类似工具将算法直接从C转换到FPGA,然后轻松地与HES Proto-AXI基础设施集成。此外,所提供的高级C API很容易在Linux或Windows操作系统上使用,不需要开发低级PCIe驱动程序。
一个基于Xilinx Vivado HLS工具的HPC设计流程示例,将软件语言C直接编译为硬件描述语言HDL,并在FPGA中运行。该流程分为五个阶段,正如您将看到的,它与Aldec HPC平台组件很好地集成在一起。
转换
要加速的程序或算法分为两部分——一部分指定加速,另一部分在主机上运行。这样的分区可以根据分析的结果来进行,分析表明C代码的计算强度很大。接下来,使用Xilinx Vivado HLS工具将C转换为Verilog或VHDL RTL代码,这些代码适合于进一步的自动处理(在FPGA中合成和实现)。用户应该选择在RTL代码中包含AMBA AXI接口,这将是下一阶段所需要的。
集成
一旦HDL代码可用,它需要与连接到AMBA AXI端口的Aldec HES Proto-AXI集成。使用HDL编辑器工具,如Aldec的Riviera-PRO就足够了。同时,打算在主机上运行的主要应用程序被修改为通过HES Proto-AXI API使用FPGA将算法函数的调用替换为对应的调用。
模拟
在使用FPGA加速板运行整个项目之前,您可以通过使用Aldec的高性能来验证它是否存在任何集成/连接错误Riviera-PRO模拟器和大型高性能计算解决方案中包含的HES原型- axi仿真模型。
配置
最后一个阶段是使用Xilinx Vivado环境自动合成和实现,该环境为您的主应用程序生成FPGA位流和配置文件。
运行
Aldec提供了运行时环境,使FPGA加速板的使用更加直观。安装了PCI Express设备驱动程序,并在与程序链接的Proto-AXI API库中包含了加速器板管理功能。当您在主机上启动主应用程序时,FPGA是自动配置的,因此不需要任何FPGA操作或编程的特殊知识,因此它对软件开发人员是一个非常方便的环境。
主要特点
- 选择几种FPGA加速板,以匹配项目要求
- 支持多板配置的可伸缩性
- 支持FPGA热重构
- 集成了FPGA开发和验证环境
解决方案内容
- hess - hpc FPGA加速板
- HES原型axi主机接口模块和软件栈
- 用于RTL仿真的AXI总线功能模型(BFM)
- Riviera-PRO高性能HDL模拟器
- 参考设计,技术文档,教程和白皮书
- 集成服务