圖1點(diǎn)積操作
詳解FPGA如何實(shí)現(xiàn)FP16格式點(diǎn)積級聯(lián)運(yùn)算
發(fā)布時間:2020-08-13 責(zé)任編輯:lina
【導(dǎo)讀】通過使用Achronix Speedster7t FPGA中的機(jī)器學(xué)習(xí)加速器MLP72,開發(fā)人員可以輕松選擇浮點(diǎn)/定點(diǎn)格式和多種位寬,或快速應(yīng)用塊浮點(diǎn),并通過內(nèi)部級聯(lián)可以達(dá)到理想性能。
通過使用Achronix Speedster7t FPGA中的機(jī)器學(xué)習(xí)加速器MLP72,開發(fā)人員可以輕松選擇浮點(diǎn)/定點(diǎn)格式和多種位寬,或快速應(yīng)用塊浮點(diǎn),并通過內(nèi)部級聯(lián)可以達(dá)到理想性能。
神經(jīng)網(wǎng)絡(luò)架構(gòu)中的核心之一就是卷積層,卷積的最基本操作就是點(diǎn)積。向量乘法的結(jié)果是向量的每個元素的總和相乘在一起,通常稱之為點(diǎn)積。此向量乘法如下所示:
圖1點(diǎn)積操作
該總和S由每個矢量元素的總和相乘而成,因此
本文講述的是使用FP16格式的點(diǎn)積運(yùn)算實(shí)例,展示了MLP72支持的數(shù)字類型和乘數(shù)的范圍。
此設(shè)計(jì)實(shí)現(xiàn)了同時處理8對FP16輸入的點(diǎn)積。該設(shè)計(jì)包含四個MLP72,使用MLP內(nèi)部的級聯(lián)路徑連接。每個MLP72將兩個并行乘法的結(jié)果相加,每個乘法都是i_a輸入乘以i_b輸入(均為FP16格式)的結(jié)果。來自每個MLP72的總和沿著MLP72的列級聯(lián)到上面的下一個MLP72塊。在最后一個MLP72中,在每個周期上,計(jì)算八個并行FP16乘法的總和。
最終結(jié)果是多個輸入周期內(nèi)的累加總和,其中累加由i_first和i_last輸入控制。i_first輸入信號指示累加和歸零的第一組輸入。i_last信號指示要累加和加到累加的最后一組輸入。最終的i_last值可在之后的六個周期使用,并使用i_last o_valid進(jìn)行限定。兩次運(yùn)算之間可以無空拍。
配置說明
表1 FP16點(diǎn)積配置表
端口說明
表2 FP16點(diǎn)積端口說明表
時序圖
圖2 FP16點(diǎn)積時序圖
其中,
那么,以上運(yùn)算功能如何對應(yīng)到MLP內(nèi)部呢?其后的細(xì)節(jié)已分為MLP72中的多個功能階段進(jìn)行說明。
進(jìn)位鏈
首先請看下圖,MLP之間的進(jìn)位鏈結(jié)構(gòu),這是MLP內(nèi)部的專用走線,可以保證級聯(lián)的高效執(zhí)行。
圖3 MLP進(jìn)位鏈
乘法階段
下圖是MLP中浮點(diǎn)乘法功能階段,其中寄存器代表一級可選延遲。
圖4 MLP乘法功能階段框圖
MLP72浮點(diǎn)乘法級包括兩個24位全浮點(diǎn)乘法器和一個24位全浮點(diǎn)加法器。兩個乘法器執(zhí)行A×B和C×D的并行計(jì)算。加法器將兩個結(jié)果相加得到A×B + C×D。
乘法階段有兩個輸出。下半部分輸出可以在A×B或(A×B + C×D)之間選擇。上半部分輸出始終為C×D。
乘法器和加法器使用的數(shù)字格式由字節(jié)選擇參數(shù)以及和參數(shù)設(shè)置的格式確定。
浮點(diǎn)輸出具有與整數(shù)輸出級相同的路徑和結(jié)構(gòu)。MLP72可以配置為在特定階段選擇整數(shù)或等效浮點(diǎn)輸入。輸出支持兩個24位全浮點(diǎn)加法器,可以對其進(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ì)算過程,即進(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的時序結(jié)果如下:
(來源:Achronix,作者:楊宇,Achronix資深現(xiàn)場應(yīng)用工程師)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請電話或者郵箱聯(lián)系小編進(jìn)行侵刪。
特別推薦
- 貿(mào)澤與Cinch聯(lián)手發(fā)布全新電子書深入探討惡劣環(huán)境中的連接應(yīng)用
- 自耦變壓器的構(gòu)造和操作
- 電感器輸出,運(yùn)算放大器輸入:二階有源濾波器簡介
- ESR 對陶瓷電容器選擇的影響(上)
- 步進(jìn)電機(jī)中的脈寬調(diào)制與正弦控制
- 基于射頻無線電力傳輸供電的無電池資產(chǎn)跟蹤模塊的先進(jìn)監(jiān)控系統(tǒng)
- ESR 對陶瓷電容器選擇的影響(下)
技術(shù)文章更多>>
- 深化綠色承諾,ST與彭水共繪可持續(xù)發(fā)展新篇章
- 基于SiC的高電壓電池?cái)嚅_開關(guān)的設(shè)計(jì)注意事項(xiàng)
- 如何更好對微控制器和輸出外設(shè)進(jìn)行電氣隔離?
- 意法半導(dǎo)體公布2024年第四季度及全年財(cái)報(bào)和電話會議時間安排
- IGBT 模塊在頗具挑戰(zhàn)性的逆變器應(yīng)用中提供更高能效
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
磁敏三極管
磁性存儲器
磁性元件
磁珠電感
存儲器
大功率管
單向可控硅
刀開關(guān)
等離子顯示屏
低頻電感
低通濾波器
低音炮電路
滌綸電容
點(diǎn)膠設(shè)備
電池
電池管理系統(tǒng)
電磁蜂鳴器
電磁兼容
電磁爐危害
電動車
電動工具
電動汽車
電感
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線通信