過去幾年,FPGA 的 CAGR 大約一直保持在 8-10%左右,隨著該類器件在 AI 應用中的擴張,未來 5 年其 CAGR 增長將高達 38.4%!根據市場調研公司 Semico Research 的預測,人工智能應用中 FPGA 的市場規模將在未來 4 年內增長 3 倍,達到 52 億美元。為了保持競爭力,目前全球有 25%的企業實施了人工智能 / 機器學習(AI/ML),而兩年內,這一比例將增長到 72%,以更好地獲得核心職能方面的商業洞察力。

 

圖:企業 AI/ML 部署需求增長趨勢

來源:WSJ pro

 

伴隨這一趨勢,AI 的算法在不斷演進,對數值精度的選擇要求也更加多元,高效算力、高效豐富的存儲緩存能力以及高效大帶寬的數據運送能力,是 AI/ML 硬件解決方案所面臨的主要挑戰。系統開發者會利用 FPGA 架構去優化功耗、性能和靈活性,并突破處理單元在效率上的瓶頸,包括計算引擎、內存層次結構和數據移動。

 

圖:算法和精度要求不同給處理帶來挑戰

 

就 AI 的應用而言,不同場景應用對 FPGA 的需求不同。通常云計算中的應用主要是需要 FPGA 在 AI/ML 和高帶寬數據加速上的能力,而在端側則需要在高靈活性的同時還要具有 ASIC 的性能。雖然,FPGA 已經大量應用于泛 AI 領域,但它是否很好的滿足這兩個方面的需求,還是一個值得探討的話題。

 

重構 FPGA 架構

縱觀 FPGA 產品的演進歷史(包括器件的產生),每一次大的迭代都是一種設計方法論的革新,從這個角度看,Achronix 公司最近發布的 Speedster7t 針對上述兩個應用場景上進行的優化都可以看做方法論上的革新。在開發 Speedster7t 的過程中,Achronix 的工程團隊完全重新構想了整個 FPGA 架構,以平衡片上處理、互連和外部輸入輸出接口,實現數據密集型應用吞吐量的最大化,這些應用場景可見于那些基于邊緣和基于服務器的 AI/ML 應用、網絡處理和存儲。

 

“Speedster7t 是我們歷史上最令人激動的發布,代表了建立在四個架構代系的硬件和軟件開發基礎上的創新和積淀。”Achronix 公司董事長兼首席執行官 Robert Blake 介紹,“該器件采用 TSMC 的 7nm FinFET 工藝制造,專為 ML 和高帶寬網絡應用進行了優化。”

 

具體而言,相較于目前的 FPGA,Speedster7t 革新之處在于設計了針對 ML 的處理器(MLP),以及一個可橫跨和垂直跨越 FPGA 邏輯陣列的高帶寬的二維片上網絡(NOC),二者結合既保留了 FPGA 的靈活性,又實現了 ASIC 的性能。

 

不占用 FPGA 布線的 MLP 單元

這個片內的 MLP 是高度可配置的、計算密集型的單元模塊,可支持 4 到 24 位的整點格式和高效的浮點模式,包括對 TensorFlow 的 16 位格式的支持,以及可使每個 MLP 的計算引擎加倍的增壓塊浮點格式的直接支持。該 MLP 可以通過運算和緩存級鏈實現更復雜的算法,而不需要使用 FPGA 布線資源。

 

“目前 FPGA 會使用 DSP 來進行 ML 的處理,但其對數值精度的支持并不高效,并且需要消耗額外邏輯和存儲資源,其性能也受限于 FPGA 布線。”Blake 說,“DSP 常用于無線數字濾波的處理,而 Speedster7t 中的 MLP 則在計算架構、緩存(內嵌)、可配置算法以及對整點和浮點的支持上提供了更好的 AI/ML 的計算性能和能效比。”

 

圖:在 FPGA 中采用 MLP(右)比 DSP(左)更適用于 AI/ML 處理

 

二維片上網絡——NOC

NOC 是在 FPGA 路由結構上的另一個重要革新。這一設計主要針對 FPGA 的片上處理引擎之間所需的高帶寬通信。Speedster7t 片上資源包括 8 個 GDDR6 控制器、72 個業界 SerDes(1 到 112 Gbps)、帶有前向糾錯(FEC)的硬件 400G 以太網 MAC(4x100G 或 8x50G 的配置),以及硬件 PCI Express Gen5 控制器(每個控制器有 8 個或 16 個通道)。

 

這些高速 I/O 和存儲器端口的數萬兆比特數據很容易淹沒傳統 FPGA 面向比特位的可編程互連邏輯陣列的路由容量,而 Speedster7t 通過 NOC 把它們連接到所有 FPGA 的高速數據和存儲器接口。NOC 和 FPGA 功能之間通過網絡接入點 NAP 連接,每個水平行和垂直列的交叉點都有 NAP(主 NAP 和從 NAP)。NoC 中的每行 / 列都可同時為每個方向提供 512Gbps 的數據流量,其鏈路雙向運行,最大的設備帶寬可以達到 20Tbps。

 

“最重要的是,NOC 消除了傳統 FPGA 使用可編程路由和邏輯查找表資源在整個 FPGA 中移動數據流中出現的擁塞和性能瓶頸。”Blake 說,“這種高性能網絡不僅可以提高 Speedster7t FPGA 的總帶寬容量,還可以在降低功耗的同時提高有效 LUT 容量。”

 

圖:NOC 是在 FPGA 路由結構上的另一個重要革新

 

的確,NOC 這一方法解決了 GDDR6、400G 以太網 MAC 這些片上資源間海量數據傳輸的問題。Speedster7t 是目前市面唯一支持 GDDR6 存儲器的 FPGA,可以支持 4 Tbps 的 GDDR6 累加帶寬,可以很小的成本提供與基于 HBM 的 FPGA 等效存儲帶寬。相較于 HBM,GDDR6 只需要一半的成本就可以滿足高存儲層次和帶寬的需求,并且,HBM 是固化的塊,GDDR6 則更靈活,用戶可以選擇不同容量和帶寬。

 

NOC 也解決了傳統 FPGA 的運行速度無法滿足任何 400G 以太網總線寬度要求的問題,400G 以太網的總線大小達 1024bit,所需的最高頻率達到 724 MHz,這在傳統 FPGA 中無法實現,NOC 由于消除了傳統設計中與 FPGA 布線相關的延遲,所以可以最高支持 750 MHz 的頻率,這滿足了 MLP 和嵌入式存儲器模、400G 以太網 MAC 及高速 SerDes 之間的數據傳輸。