Bittware 提供 Open FPGA Stack (OFS) 和支持英特尔® oneAPI 的加速卡

BittWare 利用 Open FPGA Stack (OFS) 在其 FPGA 解决方案上提供 oneAPI 支持。

概览

  • OFS 包含英特尔® oneAPI Accelerator Support Package (ASP),使开发人员能够利用 FPGA 可重编程性的优势,并且通过使用 oneAPI,可以选择利用熟悉的编程语言(例如,C/C++)和开发环境(例如,Visual Studio 和 Eclipse)。

  • BittWare 提供领先的基于英特尔® Agilex™ 7 FPGA 的加速卡,通过 OFS 和 oneAPI 的支持,实现 RTL 和 C/C++ 开发流程。

  • BittWare 现已推出两款支持 oneAPI 的 OFS 主板 – IA-840f 和 IA-420f PCIe* 加速器。

  • BittWare 提供带有可下载代码的 oneAPI 使用示例,包括从 OpenCL* 移植到 oneAPI 的高性能计算 (HPC) 应用程序。

author-image

作者

要点综述

二十多年来,BittWare 一直致力于开发采用英特尔 FPGA 的基于 FPGA 的加速板解决方案。在最近向最新英特尔® Agilex™ 7 FPGA 的迁移中,BittWare 希望在其 FPGA 解决方案上提供 oneAPI 支持。为此,BittWare 转向 Open FPGA Stack (OFS) 及其提供的开源 oneAPI Accelerator Support Package (ASP),以支持在其基于英特尔 Agilex FPGA 的平台上编译高级设计 (HLD) 应用程序内核。

背景及挑战

英特尔于 2019 年推出了英特尔 Agilex 7 产品家族。此后,英特尔 Agilex 产品家族不断扩展,涵盖多种低功耗到高功耗 FPGA 以及适用于各种应用的逻辑密度。英特尔 Agilex 7 FPGA 系列是原始版本的高性能英特尔 Agilex FPGA 家族。该 FPGA 系列采用了业界性能最高的 FPGA,每瓦结构性能比同类竞品最新一代 FPGA 提高约 2 倍1。全新英特尔 Agilex FPGA 功能更强大、功耗更低,并包含 PCIe* 4.0 和 5.0 等 I/O 功能,面向广泛的带宽、计算和内存密集型应用。

这些性能改进为 BittWare 的客户带来了更好的价值,无论是提高边缘设备的每瓦性能,还是提升数据中心的计算密度。对于高性能计算 (HPC) 应用,与通用加速器相比,FPGA 带来了应用定制,可以更好地将工作负载与芯片相匹配。英特尔与 BittWare 开展合作,使用 oneAPI 将 HPC 工作负载从巴塞罗那超级计算中心移植到 IA-840f 卡,实现了 233 倍的提速。在 BittWare 的使用下一代英特尔 Agilex FPGA 的高性能计算点播网络研讨会中,该项目有专题介绍。

BittWare 还提供高级编程工具的资源,例如带有可下载示例代码的白皮书。这些资源展示了高级工具如何加速开发过程,同时利用英特尔 Agilex 7 FPGA 的高性能。

oneAPI 等工具提供了一种并行编程语言,实现了 FPGA 开发的抽象化,从而缩短启动和调试时间。与 NVIDIA 的 CUDA* 或 AMD ROCm* 相比,oneAPI 提供了一种实现 SYCL 的并行编程语言 Data Parallel C++ (DPC++)。不过,英特尔发布的 oneAPI 解决方案不仅适用于 GPU,还适用于 CPU、FPGA 和 VPU 的统一编程环境、工具集和库。

通过利用 oneAPI,不太熟悉 FPGA 编程的开发人员可以受益于 FPGA 特有的灵活且可重新编程的架构,同时使用熟悉的设计语言(例如,C/C++)和开发环境(例如,Visual Studio 或 Eclipse)。通过 oneAPI 使用高级设计流程还可以提高跨架构(即,CPU、GPU、FPGA 和主板供应商)工作负载的可移植性。

BittWare(母公司为 Molex)是英特尔的长期合作伙伴,从事企业级 FPGA 硬件加速产品的设计和制造,使客户能够以较低的风险更快地部署其解决方案。20 年来,BittWare 作为 FPGA 加速行业的市场领导者,已从最早的英特尔 Stratix® 和英特尔 Arria® FPGA 迁移到最新的英特尔 Agilex 产品家族。在开发最新版本的“IA”系列英特尔 Agilex FPGA 主板时,他们寻求利用 OFS 基础设施在其平台上启用 oneAPI 开发流程。

解决方案

BittWare 为了确保他们的主板支持 oneAPI 开发流程,利用了最新的开源 FPGA 开发资源和基础设施 - OFS。OFS 是首个完全开源的完整硬件和软件基础设施,包括可组合的硬件代码和上传到 kernel.org 的内核代码,以支持 FPGA 开发人员的协作社区。

OFS 基础设施由 FPGA 接口管理器 (FIM)(通常称为“外壳”)和加速器功能单元 (AFU) 区域(用于工作负载开发的指定区域)组成。使用 OFS,主板开发人员可以利用开源基础设施,根据目标应用或行业为其主板快速开发量身定制的 FIM。同样,OFS 包括一个开源软件框架,开发人员可以利用上传的和开源的内核驱动程序,来加速与通用框架的集成。OFS 基础设施通过提供快速开发 FPGA 加速系统的强大方法,来满足 FPGA 加速板和工作负载的需求。所提供的 OFS 硬件和软件基础设施可以按原样使用或进行快速定制,以满足新的、动态的市场需求。

英特尔提供的 oneAPI base toolkit 包括编译器和运行时环境。编译器将 SYCL 内核或 FPGA 应用代码转换为硬件电路。该硬件电路需要额外的逻辑来与运行时和 FPGA 主板外设进行通信。OFS 在 oneAPI ASP 中提供了此额外的逻辑。oneAPI ASP 包含在开源 OFS GitHub 存储库中,并且是在 OFS 支持的平台上编译和运行 HLD 应用程序内核所必需的。此外还提供了相应的技术文档,其中包括在 OFS 平台上设置英特尔 oneAPI base toolkit 的快速入门指南。

BittWare 使用提供的开源 OFS 存储库和文档,只需进行少量额外修改,即可在其英特尔 Agilex 设备上实施 oneAPI 设计流程(非 RTL)。

结果

BittWare 是第一个向市场推出英特尔 Agilex FPGA F 系列的公司。下表列出了使用 OFS 基础设施和 oneAPI ASP 开发的两个主板。

IA-420f PCIe 卡

IA-840f PCIe 卡

  • FPGA: 英特尔 Agilex 7 FPGA、AGF014
  • 应用:高级分析、人工智能、云计算、工厂自动化和高性能计算
  • 网络: QSFP-DD 1x200 Gbps
  • 内存: 2 Gb flash、2 个 8 GB DDR4 SDRAM
  • 外形: HHHL、单插槽
  • PCIe: 4.0 x16
  • 支持 oneAPI:
  • FPGA: 英特尔 Agilex 7 FPGA、AGF027
  • 应用:高级分析、人工智能、云计算、工厂自动化和高性能计算
  • 网络:3x QSFP-DD 3x200 GbE
  • 内存: 2 Gb 闪存、3 个 32 GB DDR4 SDRAM、2 个支持 32 GB DDR4 的 DIMM
  • 外形:FH¾L、双插槽
  • PCIe: 4.0 x16
  • 支持 oneAPI:

让我们的客户能够使用提供轻松开发流程的强大芯片是一个成功的公式,特别是由于最新一代英特尔 Agilex FPGA 家族能够提供如此高的性能提升。我们对 oneAPI 的使用已证明它有助于一系列用户在更快地进入市场的同时保持高性能。

BittWare 副总裁 Craig Petrie

如何开始利用 OFS 进行 FPGA 加速

FPGA 开发人员可以从 BittWare 的 IA-420f 或 IA-840f 支持 OFS 的主板中进行选择,并使用开源文档和源代码开始构建其自定义工作负载。

下表概述了开发人员如何使用 BittWare 加速板开始基于 FPGA 的工作负载开发。

利用 FPGA 加速您的工作负载

第 1 步:选择主板

BittWare 的支持 OFS 的主板 IA-420fIA-840f

第 2 步:评估 OFS 开源资源

BittWare 将提供相应版本的 OFS 技术文档。

第 3 步:访问开源硬件和软件代码

BittWare 将提供相应的 OFS 软件和硬件代码。这是 BittWare 的 OFS 基础代码的特定发行版(由英特尔提供)。

第 4 步:利用 RTL 或 C/C++ 开发工作负载(使用 oneAPI)

遵循 OFS RTL 流程

OFS 支持编译 oneAPI 内核。利用 oneAPI 开发流程并使用 C/C++ 构建 FPGA 工作负载。