通过使用开放式 FPGA 堆栈 (OFS) ,BittWare 在其 FPGA 解决方案上提供对 oneAPI 的支持。
概 览
OFS 包括一个英特尔 oneAPI 加速器支持包 (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) 应用。
要点综述
20 多年来,BittWare 一直在开发基于英特尔 FPGA 的加速板解决方案。最近,在迁移到 Agilex 7 FPGA 的过程中,BittWare 希望在其 FPGA 解决方案中提供对 oneAPI 的支持。
为此,BittWare 采用了开放式 FPGA 堆栈 (OFS) 及其提供的开源 oneAPI 加速器支持包(ASP),以便在其基于英特尔 Agilex FPGA 的平台上编译高级设计 (HLD) 应用内核。
背景挑战
英特尔于 2019 年推出了英特尔 Agilex 7 产品家族。从那时起, Agilex 家族不断扩展,增添了多种功率和逻辑密度不同的 FPGA,适用于各种应用。Agilex 7 FPGA 系列属于高性能英特尔 Agilex FPGA 家族,该系列集成了业界性能最高的 FPGA,结构性能功耗比比竞争对手的最新一代 FPGA 高出约两倍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 提供了一种并行编程语言 Data Parallel C++ (DPC++),用于实现 SYCL。然而,英特尔发布的 oneAPI 解决了统一编程环境、工具集和库,不仅适用于 GPU,还适用于 CPU、FPGA 和 VPU,如 Gaudi/Gaudi2 AI 处理器。
通过使用 oneAPI,不太熟悉 FPGA 编程的开发人员可以使用熟悉的设计语言(如 C/C++)和开发环境(如 Visual Studio 或 Eclipse),并从 FPGA 特有的灵活可重编程架构中获益。开发人员还可以通过 oneAPI 使用高级设计流,从而提高了跨架构工作负载的可移植性。
BittWare 的母公司 Molex 是英特尔的长期合作伙伴,致力于设计和制造企业级 FPGA 硬件加速产品,帮助客户更快、更安全地部署解决方案。作为 FPGA 加速行业 20 年来的市场领军企业,BittWare 已经从最早的英特尔 Stratix 和英特尔 Arria FPGA 迁移到最新的 Agilex 产品家族。在开发最新版本的“IA”系列 Agilex FPGA 主板时,他们试图利用 OFS 基础设施在其平台上实现 oneAPI 开发流程。
解决方案
为了确保他们的主板支持 oneAPI 开发流程,BittWare 利用了最新的开源 FPGA 开发资源和基础设施 OFS。OFS 是第一个完全开源的完整硬件和软件基础设施,包括可组合的硬件代码和上传到 kernel.org 的内核代码,以实现 FPGA 开发人员的协作社区。
OFS 基础设施由 FPGA 接口管理器 (FIM) 和加速器功能单元 (AFU) 区域组成,前者通常被称为“外壳”,后者是指定的工作负载开发区域。通过使用 OFS,主板开发人员可以利用开源基础设施,根据目标应用或行业为主板快速开发量身定制的 FIM。同样,OFS 包括一个开源软件框架,开发人员可以利用上传的开源内核驱动程序来加速与通用框架的集成。
OFS 基础设施提供了一种快速开发 FPGA 加速系统的有效方法,可满足对 FPGA 加速板和工作负载的需求。提供的 OFS 硬件和软件基础设施可以按原样使用或快速定制,以满足不断变化的新市场需求。
英特尔提供的 oneAPI 基础工具套件包括编译器和运行时环境。编译器将 SYCL 内核或 FPGA 应用代码转换为硬件电路。该硬件电路需要额外的逻辑与运行时和 FPGA 板外设通信。OFS 在 oneAPI ASP 中提供了这个额外的逻辑。
oneAPI ASP 包含在开源的 OFS GitHub 存储库中,对于在 OFS 支持的平台上编译和运行 HLD 应用内核必不可少。另外还提供了相应的技术文档,其中包括在 OFS 平台上设置英特尔 oneAPI 基础工具套件的快速入门指南。
使用提供的开源 OFS 存储库和文档,BittWare 可以在其英特尔 Agilex 设备上实现 oneAPI 设计流程(非 RTL),几乎没有额外的修改。
结 果
BittWare 是第一个采用英特尔 Agilex FPGA F 系列的公司。下表说明了使用 OFS 基础设施和 oneAPI ASP 开发的两个主板。
Craig Petrie,BittWare 副总裁
让我们的客户能够通过简单的开发流程获得强大的芯片,这是我们的致胜法宝,最新一代的英特尔 Agilex FPGA 家族具有很大的性能提升,可以为我们提供更大的助力。通过使用 oneAPI,我们已经看到了它对各种用户的价值,它可以帮助更快地进入市场,同时保持高性能。
如何使用 OFS开始 FPGA 加速
FPGA 开发人员可以从 BittWare 支持 OFS 的 IA-420f 或 IA-840f 主板中进行选择,并使用开源文档和源代码开始构建自己的自定义工作负载。
下表概述了开发人员如何使用 BittWare 加速板启动基于 FPGA 的工作负载开发。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !