使用 Alveo 加速器卡 - 2022.1 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 简体中文

AMD/赛灵思开发了以 FPGA 为核心的 Alveo 系列 PCIe 数据中心加速器卡。每张 Alveo 卡都汇集了三大基本要素:用于加速的强大 FPGA、高带宽器件存储体,并通过高带宽 PCIe Gen3x16 链路与主机服务器连接。设计师可以选择多种不同的加速器卡,藉由甄选所需数量的可编程资源及其功能特性来满足多种多样的需求。以下是 Alveo U250 的模块框图。

虽然 FPGA 本质上属于空白器件,在上电时进行配置,但所有 Alveo 卡都随附有目标平台,以提供固件来配置该加速器卡,满足特定用途。此平台必需随赛灵思的 Xilinx Runtime (XRT) 一起安装、在安装期间或者在更改加速器卡配置时烧写到器件内。

在 AMD/赛灵思器件上,此平台由两个 FPGA 物理分区构成:Shell(壳)和User(用户)。Shell 分区属于静态区域,为平台提供基本的基础架构,如 PCIe 连接、开发板管理、传感器、时钟设置和复位。User 分区属于动态区域,其中包含名为 .xclbin 的用户编译的二进制文件,XRT 会在执行期间加载此文件。RTL 内核是由开发者创建的定制逻辑,编程到动态区域内。在本文档中,内核表示设计师实现到 Alveo 加速器卡的动态区域内的函数。

图 1. Alveo 模块框图

PCIe 接口用于主机与加速器卡之间的通信,以及在 Alveo 卡的器件存储器上进行往来主机的数据传输。此器件存储器充当全局存储器,可供主机和硬件加速器访问。Alveo 平台上包含的器件存储器有 PLRAM(小尺寸,快速访问,时延最低)、HBM(中等尺寸,中等访问速度,存在一定时延)和 DDR(大尺寸,访问速度较慢,高时延)。根据所选 Alveo 卡,其中可能包含 DDR 和/或 HBM。

以上所示模块框图对应的是 U250,其中包含 4 个 DDR 存储体(各含 16 GB 存储器)。Alveo 卡上的 FPGA 则进一步分割为多个超级逻辑区域 (SLR),用于协助超高性能设计架构。完成 RTL 内核的开发并将其实现到平台的动态区域内之后,您需要管理 SLR 和全局存储器的设计约束。

为进一步改善性能并尽可能减少 DDR 存储器访问,FPGA 具有大量小型的内部 RAM 块。这些块完全由编译器进行配置,以确保可在任务间创建缓冲以支持流水线式的计算。这样即可有效消除高速缓存需求,这也是 FPGA 的主要优势之一。

对于 FPGA 架构和 Alveo 卡,尚有诸多详细信息有待您探索学习,但这些信息作为简介已足矣。从设计基于 FPGA 的加速架构的角度,需要牢记的要点有:

  • 通过 PCIe 传输数据开销较高,即便使用 Gen3x16,时延也相当高。对较大量的数据传输,带宽容易成为系统瓶颈。
  • DDR4 与 FPGA 之间的带宽和时延显著优于 PCIe,但是从整体系统性能而言,访问外部存储器仍然成本较高。