圖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,開發(fā)人員可以輕松選擇浮點(diǎn)/定點(diǎn)格式和多種位寬,或快速應(yīng)用塊浮點(diǎn),并通過(guò)內(nèi)部級(jí)聯(lián)可以達(dá)到理想性能。
通過(guò)使用Achronix Speedster7t FPGA中的機(jī)器學(xué)習(xí)加速器MLP72,開發(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)一步可以加載加法器(開始累加),可以將其設(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)問題,請(qǐng)電話或者郵箱聯(lián)系小編進(jìn)行侵刪。
特別推薦
- 復(fù)雜的RF PCB焊接該如何確保恰到好處?
- 電源效率測(cè)試
- 科技的洪荒之力:可穿戴設(shè)備中的MEMS傳感器 助運(yùn)動(dòng)員爭(zhēng)金奪銀
- 輕松滿足檢測(cè)距離,勞易測(cè)新型電感式傳感器IS 200系列
- Aigtek推出ATA-400系列高壓功率放大器
- TDK推出使用壽命更長(zhǎng)和熱點(diǎn)溫度更高的全新氮?dú)馓畛淙嘟涣鳛V波電容器
- 博瑞集信推出低噪聲、高增益平坦度、低功耗 | 低噪聲放大器系列
技術(shù)文章更多>>
- 如何選擇和應(yīng)用機(jī)電繼電器實(shí)現(xiàn)多功能且可靠的信號(hào)切換
- 基于APM32F411的移動(dòng)電源控制板應(yīng)用方案
- 數(shù)字儀表與模擬儀表:它們有何區(qū)別?
- 聚焦制造業(yè)企業(yè)貨量旺季“急難愁盼”,跨越速運(yùn)打出紓困“連招”
- 選擇LDO時(shí)的主要考慮因素和挑戰(zhàn)
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
光收發(fā)器
光通訊器件
光纖連接器
軌道交通
國(guó)防航空
過(guò)流保護(hù)器
過(guò)熱保護(hù)
過(guò)壓保護(hù)
焊接設(shè)備
焊錫焊膏
恒溫振蕩器
恒壓變壓器
恒壓穩(wěn)壓器
紅外收發(fā)器
紅外線加熱
厚膜電阻
互連技術(shù)
滑動(dòng)分壓器
滑動(dòng)開關(guān)
輝曄
混合保護(hù)器
混合動(dòng)力汽車
混頻器
霍爾傳感器
機(jī)電元件
基創(chuàng)卓越
激光二極管
激光器
計(jì)步器
繼電器