圖1點(diǎn)積操作
你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文
詳解FPGA如何實(shí)現(xiàn)FP16格式點(diǎn)積級(jí)聯(lián)運(yùn)算
發(fā)布時(shí)間:2020-08-13 責(zé)任編輯:lina
【導(dǎo)讀】通過(guò)使用Achronix Speedster7t FPGA中的機(jī)器學(xué)習(xí)加速器MLP72,開(kāi)發(fā)人員可以輕松選擇浮點(diǎn)/定點(diǎn)格式和多種位寬,或快速應(yīng)用塊浮點(diǎn),并通過(guò)內(nèi)部級(jí)聯(lián)可以達(dá)到理想性能。
通過(guò)使用Achronix Speedster7t FPGA中的機(jī)器學(xué)習(xí)加速器MLP72,開(kāi)發(fā)人員可以輕松選擇浮點(diǎn)/定點(diǎn)格式和多種位寬,或快速應(yīng)用塊浮點(diǎn),并通過(guò)內(nèi)部級(jí)聯(lián)可以達(dá)到理想性能。
神經(jīng)網(wǎng)絡(luò)架構(gòu)中的核心之一就是卷積層,卷積的最基本操作就是點(diǎn)積。向量乘法的結(jié)果是向量的每個(gè)元素的總和相乘在一起,通常稱之為點(diǎn)積。此向量乘法如下所示:
圖1點(diǎn)積操作
該總和S由每個(gè)矢量元素的總和相乘而成,因此
本文講述的是使用FP16格式的點(diǎn)積運(yùn)算實(shí)例,展示了MLP72支持的數(shù)字類型和乘數(shù)的范圍。
此設(shè)計(jì)實(shí)現(xiàn)了同時(shí)處理8對(duì)FP16輸入的點(diǎn)積。該設(shè)計(jì)包含四個(gè)MLP72,使用MLP內(nèi)部的級(jí)聯(lián)路徑連接。每個(gè)MLP72將兩個(gè)并行乘法的結(jié)果相加,每個(gè)乘法都是i_a輸入乘以i_b輸入(均為FP16格式)的結(jié)果。來(lái)自每個(gè)MLP72的總和沿著MLP72的列級(jí)聯(lián)到上面的下一個(gè)MLP72塊。在最后一個(gè)MLP72中,在每個(gè)周期上,計(jì)算八個(gè)并行FP16乘法的總和。
最終結(jié)果是多個(gè)輸入周期內(nèi)的累加總和,其中累加由i_first和i_last輸入控制。i_first輸入信號(hào)指示累加和歸零的第一組輸入。i_last信號(hào)指示要累加和加到累加的最后一組輸入。最終的i_last值可在之后的六個(gè)周期使用,并使用i_last o_valid進(jìn)行限定。兩次運(yùn)算之間可以無(wú)空拍。
配置說(shuō)明
表1 FP16點(diǎn)積配置表
端口說(shuō)明
表2 FP16點(diǎn)積端口說(shuō)明表
時(shí)序圖
圖2 FP16點(diǎn)積時(shí)序圖
其中,
那么,以上運(yùn)算功能如何對(duì)應(yīng)到MLP內(nèi)部呢?其后的細(xì)節(jié)已分為MLP72中的多個(gè)功能階段進(jìn)行說(shuō)明。
進(jìn)位鏈
首先請(qǐng)看下圖,MLP之間的進(jìn)位鏈結(jié)構(gòu),這是MLP內(nèi)部的專用走線,可以保證級(jí)聯(lián)的高效執(zhí)行。
圖3 MLP進(jìn)位鏈
乘法階段
下圖是MLP中浮點(diǎn)乘法功能階段,其中寄存器代表一級(jí)可選延遲。
圖4 MLP乘法功能階段框圖
MLP72浮點(diǎn)乘法級(jí)包括兩個(gè)24位全浮點(diǎn)乘法器和一個(gè)24位全浮點(diǎn)加法器。兩個(gè)乘法器執(zhí)行A×B和C×D的并行計(jì)算。加法器將兩個(gè)結(jié)果相加得到A×B + C×D。
乘法階段有兩個(gè)輸出。下半部分輸出可以在A×B或(A×B + C×D)之間選擇。上半部分輸出始終為C×D。
乘法器和加法器使用的數(shù)字格式由字節(jié)選擇參數(shù)以及和參數(shù)設(shè)置的格式確定。
浮點(diǎn)輸出具有與整數(shù)輸出級(jí)相同的路徑和結(jié)構(gòu)。MLP72可以配置為在特定階段選擇整數(shù)或等效浮點(diǎn)輸入。輸出支持兩個(gè)24位全浮點(diǎn)加法器,可以對(duì)其進(jìn)行加法或累加配置。進(jìn)一步可以加載加法器(開(kāi)始累加),可以將其設(shè)置為減法,并支持可選的舍入模式。
最終輸出階段支持將浮點(diǎn)輸出格式化為MLP72支持的三種浮點(diǎn)格式中的任何一種。此功能使MLP72可以外部支持大小一致的浮點(diǎn)輸入和輸出(例如fp16或bfloat16),而在內(nèi)部以fp24執(zhí)行所有計(jì)算。
圖5 MLP浮點(diǎn)輸出階段框圖
需要強(qiáng)調(diào)的是本設(shè)計(jì)輸入和輸出都是FP16格式,中間計(jì)算過(guò)程,即進(jìn)位鏈上的fwdo_out和fwdi_dout 都是FP24格式。具體邏輯框圖如下所示:
圖6 FP16點(diǎn)積邏輯框圖
MLP內(nèi)部數(shù)據(jù)流示意圖:
圖7 FP16點(diǎn)積在MLP內(nèi)部數(shù)據(jù)流圖
最終ACE的時(shí)序結(jié)果如下:
(來(lái)源:Achronix,作者:楊宇,Achronix資深現(xiàn)場(chǎng)應(yīng)用工程師)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)電話或者郵箱聯(lián)系小編進(jìn)行侵刪。
特別推薦
- 克服碳化硅制造挑戰(zhàn),助力未來(lái)電力電子應(yīng)用
- 了解交流電壓的產(chǎn)生
- 單結(jié)晶體管符號(hào)和結(jié)構(gòu)
- 英飛凌推出用于汽車應(yīng)用識(shí)別和認(rèn)證的新型指紋傳感器IC
- Vishay推出負(fù)載電壓達(dá)100 V的業(yè)內(nèi)先進(jìn)的1 Form A固態(tài)繼電器
- 康佳特推出搭載AMD 銳龍嵌入式 8000系列的COM Express緊湊型模塊
- 村田推出3225尺寸車載PoC電感器LQW32FT_8H系列
技術(shù)文章更多>>
- “扒開(kāi)”超級(jí)電容的“外衣”,看看超級(jí)電容“超級(jí)”在哪兒
- DigiKey 誠(chéng)邀各位參會(huì)者蒞臨SPS 2024?展會(huì)參觀交流,體驗(yàn)最新自動(dòng)化產(chǎn)品
- 提前圍觀第104屆中國(guó)電子展高端元器件展區(qū)
- 高性能碳化硅隔離柵極驅(qū)動(dòng)器如何選型,一文告訴您
- 貿(mào)澤電子新品推薦:2024年第三季度推出將近7000個(gè)新物料
技術(shù)白皮書(shū)下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
音頻IC
音頻SoC
音頻變壓器
引線電感
語(yǔ)音控制
元件符號(hào)
元器件選型
云電視
云計(jì)算
云母電容
真空三極管
振蕩器
振蕩線圈
振動(dòng)器
振動(dòng)設(shè)備
震動(dòng)馬達(dá)
整流變壓器
整流二極管
整流濾波
直流電機(jī)
智能抄表
智能電表
智能電網(wǎng)
智能家居
智能交通
智能手機(jī)
中電華星
中電器材
中功率管
中間繼電器