要点综述
继 2019 年英特尔® Agilex FPGA 家族(现已被广泛公认为业内性能出众的 7 纳米 FPGA)发布之后1,Hitek Systems 致力于在其自己的高性能加速器 (HiPrAcc*) 系列中采用英特尔 Agilex FPGA。在评估其当前的电路板设计和开发流程后,Hitek Systems 得出结论,认为实现开发流程的标准化,以最大限度提高可重用性并加快上市时间,可以更好地满足市场对采用 FPGA 的加速器日益增长的需求。
为此,Hitek Systems 集成了开源的 Open FPGA Stack (OFS) 硬件和软件基础架构。使用基础 OFS 硬件和软件组件,配合开源技术文档,有助于简化开发流程并提高 PCIe 加速器系列的可重用性和可移植性。
通过使用 OFS 基础架构,Hitek Systems 现已推出两个采用英特尔 Agilex 7 FPGA 的加速器平台,并将于 2023 年和 2024 年推出更多此类平台。
背景及挑战
Hitek Systems 是一家专门从事高端、先进、搭载 FPGA 的主板和开发平台、网络和前向纠错 (FEC) 知识产权 (IP) 内核、FPGA 固件、FPGA 设计服务、设备驱动程序以及应用程序编程接口 (API) 的公司,总部设在美国马里兰州日耳曼敦。Hitek Systems 自行开发所有产品,因此拥有灵活的业务模式,并可利用该模式来加快定制主板开发过程中的面市所需时间。
英特尔于 2019 年推出了英特尔 Agilex FPGA 系列。此后,英特尔 Agilex FPGA 家族不断扩展,在各种应用程序中实现从低到高的功耗和逻辑密度。英特尔 Agilex 7 FPGA 系列采用了业界性能出众的 FPGA,每瓦结构性能比 7 纳米 FPGA 竞品大约高 2 倍1。英特尔 Agilex 7 FPGA 和 SoC FPGA 目前提供 F、I 和 M 系列,分别针对广泛的带宽密集型、计算密集型和内存密集型应用。
2023 年,英特尔 Agilex FPGA 家族仍将提供业内出众的性能,并因其领先的性能和功耗而成为 FPGA 行业的主流产品。因此,对于采用英特尔 Agilex FPGA 的加速卡,特别是那些支持采用 oneAPI 的高级开发流程的加速卡,最终用户的需求最近有所增长。
然而,从头开始开发采用 FPGA 的定制主板非常复杂且非常耗时,尤其是在高性能 FPGA 打破 PCIe 卡性能边界的情况下。此外,由于不同的供应商 IP、工具、库,以及因制造商和 FPGA 家族而异的内置硬件(例如双倍数据速率 (DDR) 内存、数字信号处理和 I/O),将现有 FPGA 设计移植到不同供应商的 FPGA 或不同型号的 FPGA 也是一项非常困难的任务。
如果没有可重复使用的标准化基础架构,就需要为多个定制主板单独构建、开发和维护多个板级支持包 (BSP)。每款 FPGA 卡还需要定制 API 和软件工具,导致难以跨 FPGA 家族和工具版本进行管理和维护。这一系列的卡采用不同的 API、工具和版本控制,也需要高水平的客户支持。
为了利用最新推出、性能最出色 FPGA 技术,满足该市场的需求,并更快地将我们的解决方案推向市场,Hitek Systems 发现需要对其主板产品组合采用标准化、统一化的方法。
解决方案
为了帮助 FPGA 主板和工作负载供应商扩展规模并更快地将其解决方案推向市场,英特尔开发并以开源方式提供了 OFS 基础架构,这是基于英特尔 Agilex FPGA 的开发所需的重要基础工具。OFS 在一个开源 GitHub 存储库中提供了快速启动基于 FPGA 的开发所需的所有硬件和软件源代码、文档、参考示例和工具。该参考基础架构包含了主板开发人员可以修改或利用的所有必要组件。
OFS 基础架构提供了一种统一化的方法来构建和维护 Hitek Systems HiPrAcc 主板家族中的 BSP。该基础架构由 FPGA 接口管理器 (FIM)(通常称为“外壳”)和加速器功能单元 (AFU) 区域(用于工作负载开发的指定区域)组成。借助 OFS,主板或 FIM 开发人员可以利用开源基础架构或基础 FIM,根据目标应用或目标行业为其主板快速开发量身定制的 FIM。同样,OFS 包括一个开源软件框架,开发人员可以利用上传的和开源的内核驱动程序,来加速与通用框架的集成。OFS 还提供了其他功能,包括部分重新配置、oneAPI 等高级开发流程以及标准 Arm AMBA* 和 AXI 接口。OFS 使主板开发人员能够采用统一的 AFU 接口,从而使身为 AFU 开发人员的客户能够在不同的 FPGA 主板上利用其 IP 投资。
通过采用 OFS 基础架构和开发流程并利用所提供的基础 FIM,Hitek Systems 在 FPGA 家族和工具流程中实现了更高的标准化程度和可移植性,使我们能够通过进行更多跨平台重复使用来快速开发 BSP,同时也为我们的客户提供了统一且可预测的 AFU 设计体验。
成效
Hitek Systems 正在交付和开发一系列采用英特尔 Agilex 7 FPGA 的 HiPrAcc 高性能加速器,其目标应用是网络、计算和卡上存储。这些卡提供了多种基于 PCIe 的外形,包括薄型 (HHHL-SS)、全高 (FHHL-SS) 和 GPU 型 (FHHL-DS)。GPU 型卡可以直接放入任何支持 NVIDIA GPU 的服务器中。
HiPrAcc NC100 主板 | HiPrAcc NCS200 主板 |
---|---|
|
|
Hitek Systems 还在利用带有 R-tile 和 F-tile 的英特尔 Agilex 7 FPGA F-系列和 I-系列开发另外两款 HiPrAcc PCIe 卡。另外几款主板将于 2023 年底之前投入生产。
我们与英特尔合作并利用最近开源的 OFS,简化了 FPGA 支持包开发流程,特别是我们采用 PCIe 的 HiPrAcc 加速器卡。OFS 与我们的英特尔 Agilex FPGA PCIe 卡相结合,帮助我们的客户简化了 FPGA 应用开发中耗时、低级的复杂性。
如何开始使用 Open FPGA Stack 进行 FPGA 加速
FPGA 开发人员可以从 Hitek Systems 支持 OFS 的 HiPrAcc NC100 或 HiPrAcc NCS200 主板中选择,并使用开源文档和源代码开始构建自定义工作负载。
下表概述了开发人员如何使用 Hitek Systems 加速板开始进行基于 FPGA 的工作负载开发。
利用 FPGA 加速您的工作负载 |
|
---|---|
第 1 步:选择主板 |
Hitek Systems 的支持 OFS 的主板,HiPrAcc NC100 或 HiPrAcc NCS200。 |
第 2 步:评估 OFS 开源资源 |
Hitek Systems 将提供相应版本的 OFS 技术文档。 |
第 3 步:访问开源硬件和软件代码 |
Hitek Systems 将提供相应的 OFS 软件和硬件代码。这是 Hitek Systems 特有的 OFS 基本代码发行版(由英特尔提供)。 |
第 4 步:利用 RTL 或 C/C++ 开发工作负载(使用 oneAPI) |
遵循 OFS RTL 流程 或 OFS 支持编译 oneAPI 内核。利用 oneAPI 开发流程并使用 C/C++ 构建 FPGA 工作负载。 |