總結
繼 2019 年推出的 Intel® Agilex FPGA 家族(目前一般公認為業界效能最高的 7nm FPGA )1後,Hitek Systems 致力將 Intel Agilex FPGA 納入自家的高效能加速器系列(HiPrAcc™)。在對目前的板件設計與開發流程進行評估後,Hitek Systems 得出結論,將開發流程標準化,將重複使用及加速上市時間發揮到極致,可更加滿足對 FPGA 型加速器日益增長的需求。
為此,Hitek Systems 整合了開源開放式 FPGA 堆疊(OFS)的軟硬體基礎架構。使用基礎 OFS 軟硬體元件,並搭配開放原始碼技術文件,有助於簡化開發流程,提高在其 PCIe 加速器家族的重複使用與可攜性。
Hitek Systems 使用 OFS 基礎架構,目前有兩個 Intel Agilex 7 FPGA 型加速器平台,預計在 2023 年和 2024 年推出更多平台。
背景與挑戰
Hitek Systems 公司專精高階、最新 FPGA 技術板件與開發平台、網路與正向錯誤校正(FEC)智慧財產權(IP)核心、FPGA 韌體、FPGA 設計服務、裝置驅動程式與應用程式程式設計介面(API),總部位於馬里蘭州日耳曼鎮。Hitek Systems 自行開發所有產品,因此產品具有靈活的業務模型,可加速自訂板件開發的上市時間。
Intel 在 2019 年推出 Intel Agilex FPGA 家族。此後,Intel Agilex FPGA 家族不斷擴展,涵蓋不同應用程式由低至高的功率與邏輯密度。Intel Agilex 7 FPGA 系列整合了業界效能最高的 FPGA ,每瓦架構效能比競爭對手的 7nm 高約 2 倍1。Intel Agilex 7 FPGA 和 SoC FPGA 目前提供 F、I 和 M 系列,分別針對範圍廣泛的頻寬密集、運算密集和記憶體密型應用程式。
2023 年 Intel Agilex FPGA 家族依然提供業界最高的效能,並因其領先的效能與電源效率成為 FPGA 產業的主流產品。因此,終端使用者對 Intel Agilex® FPGA 型加速卡的需求,特別是那些使用 oneAPI 實現高階開發流程的加速卡,最近才有所成長。
然而,從頭開始開發自訂 FPGA 型板件複雜且非常耗時,在高效能 FPGA 突破 PCIe 卡效能極限的情況下更是如此。此外,將現有的 FPGA 設計移植至不同供應商的 FPGA 或不同型號的 FPGA 也是一項艱鉅的任務,因為不同供應商 IP、工具、資料庫和內建硬體(例如雙倍資料速率(DDR)、數位訊號處理(DSP)與 I/O)因製造商和 FPGA 家族而有所差異。
倘若沒有可重複使用且標準化的基礎架構,多個自訂板件需要單獨建置、開發及維護多個板件支援套件(BSP)。每個 FPGA 卡也需要自訂 API 和軟體工具,這使得跨 FPGA 家族和工具版本的管理及維護變得困難。這一系列的卡使用不同的 API、工具與版本控制,也需要高等級的客戶支援。
為了利用最新且效能最佳的 FPGA 技術,滿足這個市場的需求,並更快地將我們的解決方案推向市場,Hitek Systems 發現有必要對板件產品組合採用一套標準化和整合性的方法。
解決方案
為了協助 FPGA 板件和工作負載廠商擴充並更早將解決方案推向市場,Intel 開發並開源了 OFS 基礎架構,這是一項 Intel Agilex FPGA 技術開發的關鍵基礎工具。OFS 提供在開放原始碼 GitHub 儲存庫快速啟動 FPGA 型開發所需的所有軟硬體原始程式碼、文件、參考範例和工具。這個參考基礎架構包含板件開發者可以修改或利用的所有必要元件。
OFS 基礎架構提供了一種整合性的方法來建構及維護 Hitek Systems HiPrAcc 板件家族的 BSP。這個基礎架構包含通常稱為「殼層」的 FPGA 介面管理器(FIM),以及加速器功能單元(AFU)區域,也就是工作負載開發的指定區域。板件或 FIM 開發者可透過 OFS 利用開源基礎架構或基礎 FIM,根據目標應用程式或產業,為其板件快速開發量身打造的 FIM。同樣地,OFS 包含開源軟體架構,開發者可以利用上游和開源的核心驅動程式加速整合至通用架構。OFS 也提供其他功能,即部分重新設定、高階開發流程(例如 oneAPI)、標準 Arm AMBA* 和 AXI 介面。OFS 讓板件開發者可以延續統一的 AFU 介面,因此能讓身為 AFU 開發者的客戶在不同的 FPGA 板件上利用 IP 投資。
透過採用 OFS 基礎架構和開發流程,以及利用提供的基礎 FIM,Hitek Systems 在 FPGA 家族和工具流程中實現了更多標準化和可攜性,使我們能夠快速開發 BSP,並在不同平台之間更加重複使用 ,為客戶提供統一且可預測的 AFU 設計體驗。
結果
Hitek Systems 正在針對網路、運算和卡上儲存應用的領域,交付及開發一系列基於 Intel Agilex 7 FPGA 的高效能加速器 HiPrAcc。這些卡具有各種 PCIe 式外型規格,包括短版(HHHL-SS)、全高(FHHL-SS)和 GPU 型(FH¾L-DS)。GPU 型的卡可插入任何支援 NVIDIA GPU 的伺服器。
HiPrAcc NC100 板件 | HiPrAcc NCS200 板件 |
---|---|
|
|
Hitek Systems 也正在開發另外兩個 HiPrAcc PCIe 卡,採用的是 Intel Agilex 7 FPGA F 系列和 I 系列,搭載 R 和 F tile。 這些額外的板件會在 2023 年底投入生產。
我們與 Intel 合作並利用最近開源的 OFS,簡化了 FPGA 支援套件開發流程,特別是我們的 HiPrAcc PCIe 型加速卡。OFS 與我們的 Intel Agilex FPGA PCIe 卡搭配,為客戶簡化了 FPGA 應用開發的耗時、低階複雜性。
如何開始使用開放式 FPGA 堆疊進行 FPGA 加速
FPGA 開發者可以選擇採用 Hitek Systems 的 HiPrAcc NC100 或支援 HiPrAcc NCS200 OFS 的板件,然後使用開源文件和原始程式碼開始建構自訂的工作負載。
下表概述了開發者如何使用 Hitek Systems 加速板,開始進行 FPGA 技術工作負載開發。
利用 FPGA 加速來處理您的工作負載 |
|
---|---|
步驟 1:選取板件 |
Hitek Systems 支援 OFS 的板件:HiPrAcc NC100 或 HiPrAcc NCS200。 |
步驟 2:評估 OFS 開源資源 |
Hitek Systems 會提供相應版本的 OFS 技術文件。 |
步驟 3:存取開源軟硬體程式碼 |
Hitek Systems 會提供相應的 OFS 軟硬體程式碼。這是 Hitek Systems OFS 基礎程式碼的特定發行版(由 Intel 提供)。 |
步驟 4:使用 RTL 或 C/C++(使用 oneAPI)開發工作負載 |
遵循 OFS RTL 流程 或是 OFS 支援編譯 oneAPI 核心。利用 oneAPI 開發流程,以 C/C++ 建置 FPGA 工作負載。 |