過去幾年,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之間的數據傳輸。