AI時(shí)代的FPGA你認(rèn)為應(yīng)該是什么樣子的
為什么當(dāng)前的FPGA設(shè)備看起來像原來的電話系統(tǒng),非常像工作人員使用電線和插頭連接呼叫的交換機(jī)?Achronix認(rèn)為現(xiàn)在是時(shí)候放棄Switch Blocks并采用新方法了。他們的目的是提高FPGA在機(jī)器學(xué)習(xí)應(yīng)用中的適用性,這意味著它們具有更多類似ASIC的性能特征。然而,除了更新數(shù)據(jù)在芯片上的移動(dòng)方式之外,還有很多其他改變。
Achronix已經(jīng)確定了FPGA需要改進(jìn)的三個(gè)方面,從而使它們成為實(shí)現(xiàn)機(jī)器學(xué)習(xí)應(yīng)用程序的首選。當(dāng)然,他們需要保持其標(biāo)志性的靈活性和適應(yīng)性。高效數(shù)據(jù)加速的三個(gè)架構(gòu)要求是計(jì)算性能、數(shù)據(jù)移動(dòng)和內(nèi)存層次結(jié)構(gòu)。Achronix退后一步,分別研究每個(gè)元素,以便重新創(chuàng)建在機(jī)器學(xué)習(xí)時(shí)代可以更好工作的FPGA。因此他們研究出來了新Speedster 7t。他們的目標(biāo)是打破降低FPGA效率的歷史瓶頸。他們將其稱為FPGA +。
這些新芯片基于臺(tái)積電的7nm節(jié)點(diǎn),并進(jìn)行了多項(xiàng)重要?jiǎng)?chuàng)新。就像我們所有的電話呼叫都采用分組技術(shù)進(jìn)行路由一樣,Achronix的Speedster 7t將使用二維陣列片上網(wǎng)絡(luò)(NoC),在計(jì)算元件、存儲(chǔ)器和接口之間移動(dòng)數(shù)據(jù)。NoC由主從網(wǎng)絡(luò)接入點(diǎn)(NAP)網(wǎng)格組成。每行或列的運(yùn)行速度為256b @ 2.0Gbps,組合為512 Gbps。這使設(shè)備級(jí)帶寬在20Tbps的范圍內(nèi)。
NoC支持特定的連接模式(AXI)、以太網(wǎng)數(shù)據(jù)包、無包數(shù)據(jù)流和FPGA內(nèi)部連接的NAP to NAP。這樣做的一個(gè)好處是,可以使用NoC將數(shù)據(jù)從PCIe預(yù)加載到內(nèi)存中,不需要處理內(nèi)核的干預(yù)。另一個(gè)優(yōu)點(diǎn)是,網(wǎng)絡(luò)結(jié)構(gòu)消除了放置連接邏輯單元時(shí)的壓力,這是造成堵塞和層次規(guī)劃問題的主要原因。
NoC還允許Achronix Speedster 7t支持400G操作。Speedster 7t無需在724 MHz運(yùn)行1000位總線,它可以支持4條并行256位總線,運(yùn)行頻率為506MHz,可以減輕吞吐量的壓力。當(dāng)需要進(jìn)行深度標(biāo)頭檢測(cè)時(shí),這一點(diǎn)尤其有用。
對(duì)于外設(shè)接口,Achronix使用的方法是提供一個(gè)高度可擴(kuò)展的SerDes,運(yùn)行頻率可以從1到112Gbps,以支持PCIe和以太網(wǎng),每臺(tái)設(shè)備上最多可以包含72個(gè)。對(duì)于以太網(wǎng),它們可以運(yùn)行4x 100Gbps或8x 50Gbps。還支持低速率的以太網(wǎng)連接以實(shí)現(xiàn)后向兼容。它們支持PCIe Gen5,每個(gè)端口高達(dá)512 Gbps,每個(gè)設(shè)備有兩個(gè)端口。
當(dāng)我們查看計(jì)算體系結(jié)構(gòu)時(shí),就會(huì)發(fā)現(xiàn)它們體系結(jié)構(gòu)的真正優(yōu)勢(shì)。他們沒有單獨(dú)的DSP LUT和內(nèi)存塊,而是將它們組合成機(jī)器學(xué)習(xí)處理器(MLP)。這樣可以立即釋放FPGA路由上的帶寬。這三個(gè)元素在機(jī)器學(xué)習(xí)應(yīng)用程序中經(jīng)常一起使用,因此將它們組合在一起對(duì)于它們的體系結(jié)構(gòu)來說是一個(gè)很大的優(yōu)勢(shì)。
AI和ML算法都對(duì)數(shù)學(xué)精度有很高的要求。有時(shí)使用較大的浮點(diǎn)數(shù)精度,有時(shí)也會(huì)使用低精度整數(shù),谷歌甚至有自己的Bfloat精度。為了適應(yīng)這種多樣性,Achronix開發(fā)了可分離的浮點(diǎn)數(shù)和整數(shù)MAC。對(duì)多種數(shù)字格式的支持提供了對(duì)MAC資源的高利用率。MLP還包括72Kbit RAM塊、內(nèi)存和操作數(shù)級(jí)聯(lián)功能。
對(duì)于AI和ML應(yīng)用程序,本地內(nèi)存很重要,對(duì)系統(tǒng)RAM來說也是如此。Achronix決定在他們的Speedster 7t系列上使用GDDR6??梢詫?shí)現(xiàn)更低的成本、更靈活的系統(tǒng)設(shè)計(jì)和極高的帶寬。當(dāng)然,DDR4也可以用于要求較低的存儲(chǔ)需求。GDDR6的使用允許每個(gè)設(shè)計(jì)調(diào)整它們的內(nèi)存需求,而不是依賴于與可編程設(shè)備配置在同一包中的內(nèi)存。Speedster 7t支持多達(dá)8個(gè)設(shè)備,吞吐量為4 Tbps。
回過頭來看,F(xiàn)PGA的這種演變就像老式的有線臺(tái)式電話演變成高度連接和集成的通信設(shè)備一樣。關(guān)鍵在于,這種創(chuàng)新水平將使最終產(chǎn)品能力出現(xiàn)不可預(yù)見的進(jìn)步。根據(jù)Achronix Speedster 7t公告,他們的設(shè)計(jì)工具已經(jīng)準(zhǔn)備就緒。