大型高性能混凝土
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和计算机视觉应用。
- HES-US-440-独立板与外置PCIe x8电缆连接,包含最大的Xilinx Virtex Ultrascale设备,拥有前所未有的550万个逻辑单元,DDR4内存高达64GB的两个模块和快速RLDRAM。它专门用于加速非常复杂的算法,或者那些可以从算法内核的大量复制实例中受益的算法。
- HES-XCKU11P-DDR4-可直接安装在用于HPC/HFT的服务器内部的薄型外形尺寸板,带有PCIe x16。包括Kintex UltraScale+,它属于最佳性价比/功率平衡FPGA系列。两个QSFP-DD可以提供高带宽和低延迟通信(高达400 Gbps)。
HES-XCVU9P-QDR | HES-XCVU9P-ZU7EV | HES-US-440 | HES-XCKU11P-DDR4 | |
逻辑单元 |
250万 | 250万 | 550万年 | 653,000 |
数字信号处理 |
6840 | 6840 | 2880 | 2928年 |
片上内存 |
75.9 Mb BlockRAM 270 Mb超内存 |
75.9 Mb BlockRAM 270 Mb超内存 |
88.6MB块内存 | 21.1 Mb BlockRAM 22.5 Mb UltraRAM |
片外RAM |
432 Mb QDR-II(3倍144 Mb) 或在*-DDR版本中: 32 Gb DDR4(2x 16Gb) 144MB QDR-II |
32GB DDR4(2x 16GB) 2x 576Mb RLD3 |
32GB DDR4(2x 16GB) 1152 Mb RLD3 (2x 576Mb) |
SODIMM DDR4内存插槽 512 Mb闪存2x 64 kb I2C EEPROM |
主机接口 |
PCI Express x16第3代 | PCI Express x8第3代 Zynq UltraScale + XCZU7 |
PCI Express x8第2代 Zynq-7000,XC7Z100 |
PCIe x16第3代终结点或PCIe x8第4代终结点 2x QSFP-DD(总容量400Gbps) |
主机接口
通过PCIe将FPGA加速器板与主机工作站连接并非易事,如果从头开始连接,则需要广泛的硬件设计知识。软件开发人员需要一个随时可用的硬件平台,而不涉及低级硬件集成。了解这种使用模型,Aldec提供原轴接口,隐藏底层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 Proto AXI主机接口模块和软件堆栈
- 用于RTL仿真的AXI总线功能模型(BFM)
- Riviera-PRO高性能HDL模拟器
- 参考设计、技术文档、教程和白皮书
- 集成服务