Achronix - Machine Learning Processing震驚!FPGA運(yùn)算單元可支持高算力浮點(diǎn)
出處:Achronix 發(fā)布于:2020-03-14 16:54:45
隨著機(jī)器學(xué)習(xí)(Machine Learning)領(lǐng)域越來(lái)越多地使用現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)來(lái)進(jìn)行推理(inference)加速,而傳統(tǒng)FPGA只支持定點(diǎn)運(yùn)算的瓶頸越發(fā)凸顯。 Achronix為了解決這一大困境,創(chuàng)新地設(shè)計(jì)了機(jī)器學(xué)習(xí)處理器(MLP)單元,不僅支持浮點(diǎn)的乘加運(yùn)算,還可以支持對(duì)多種定浮點(diǎn)數(shù)格式進(jìn)行拆分。
MLP全稱Machine Learning Processing單元,是由一組至多32個(gè)乘法器的陣列,以及一個(gè)加法樹(shù)、累加器、還有四舍五入rounding/飽和saturation/歸一化normalize功能塊。同時(shí)還包括2個(gè)緩存,分別是一個(gè)BRAM72k和LRAM2k,用于獨(dú)立或結(jié)合乘法器使用。MLP支持定點(diǎn)模式和浮點(diǎn)模式,對(duì)應(yīng)下面圖1和圖2。

圖1 定點(diǎn)模式下的MLP框圖

圖2 浮點(diǎn)模式下的MLP框圖
考慮到運(yùn)算能耗和準(zhǔn)確度的折衷,目前機(jī)器學(xué)習(xí)引擎中常使用的運(yùn)算格式是FP16和INT8,而Tensor Flow支持的BF16則是通過(guò)降低,來(lái)獲得更大數(shù)值空間。下面的表1是MLP支持的位寬的浮點(diǎn)格式,表2說(shuō)明了各自的取值范圍。

表1 MLP支持的位寬的浮點(diǎn)格式

表2 不同運(yùn)算格式的取值范圍
而且這似乎也成為未來(lái)的一種趨勢(shì)。目前已經(jīng)有不少研究表明,更小位寬的浮點(diǎn)或整型可以在保證正確率的同時(shí),還可以減少大量的計(jì)算量。因此,為了順應(yīng)這一潮流,MLP還支持將大位寬乘法單元拆分成多個(gè)小位寬乘法,包括整數(shù)和浮點(diǎn)數(shù)。詳見(jiàn)下表3。
值得注意的是,這里的bFloat16即Brain Float格式,而block float為塊浮點(diǎn)算法,即當(dāng)應(yīng)用Block Float16及更低位寬塊浮點(diǎn)格式時(shí),指數(shù)位寬不變,小數(shù)位縮減到了16bit以內(nèi),因此浮點(diǎn)加法位寬變小,并且不需要使用浮點(diǎn)乘法單元,而是整數(shù)乘法和加法樹(shù)即可,MLP的架構(gòu)可以使這些格式下的算力倍增。
表3是Speedster7t系列1500器件所支持的典型格式下的算力對(duì)比,可以看到,單片F(xiàn)PGA的浮點(diǎn)算力可達(dá)到123TOPS。

表3 Achronix的Speedster7t系列1500器件支持的典型格式的算力對(duì)比
下圖3是MLP中FP24/FP16乘加單元的簡(jiǎn)化結(jié)構(gòu)圖,即一個(gè)MLP支持FP24/FP16的A*B+C*D,或者A*B,C*D。

圖3 MLP中FP24/FP16乘加單元的簡(jiǎn)化結(jié)構(gòu)圖

而以下的圖4則是塊浮點(diǎn)乘加單元結(jié)構(gòu)。
圖 4 塊浮點(diǎn)乘加單元結(jié)構(gòu)
這里考慮浮點(diǎn)數(shù)序列塊,浮點(diǎn)數(shù)序列塊,各序列塊內(nèi)均擁有相同的指數(shù)ea和eb。則
不難看出,乘法單元的個(gè)數(shù)取決于尾數(shù)(即整數(shù))位寬。
表4 MLP中乘法單元的個(gè)數(shù)與整數(shù)位寬的關(guān)系

版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識(shí)介紹2025/8/29 16:58:56
- SQL核心知識(shí)點(diǎn)總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹(shù)莓派?一文快速了解樹(shù)莓派基礎(chǔ)知識(shí)2025/6/18 16:30:52
- 編碼器的工作原理及作用1
- 超強(qiáng)整理!PCB設(shè)計(jì)之電流與線寬的關(guān)系2
- 三星(SAMSUNG)貼片電容規(guī)格對(duì)照表3
- 電腦藍(lán)屏代碼大全4
- 國(guó)標(biāo)委發(fā)布《電動(dòng)汽車(chē)安全要求第3部分:人員觸電防護(hù)》第1號(hào)修改單5
- 通俗易懂談上拉電阻與下拉電阻6
- 繼電器的工作原理以及驅(qū)動(dòng)電路7
- 電容單位8
- 跟我學(xué)51單片機(jī)(三):?jiǎn)纹瑱C(jī)串口通信實(shí)例9
- 一種三極管開(kāi)關(guān)電路設(shè)計(jì)10









