圖1點(diǎn)積操作
你的位置:首頁 > 測(cè)試測(cè)量 > 正文
詳解FPGA如何實(shí)現(xiàn)FP16格式點(diǎn)積級(jí)聯(lián)運(yùn)算
發(fā)布時(shí)間: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)部級(jí)聯(lián)可以達(dá)到理想性能。
通過使用Achronix Speedster7t FPGA中的機(jī)器學(xué)習(xí)加速器MLP72,開發(fā)人員可以輕松選擇浮點(diǎn)/定點(diǎn)格式和多種位寬,或快速應(yīng)用塊浮點(diǎn),并通過內(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é)果。來自每個(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)算之間可以無空拍。
配置說明
表1 FP16點(diǎn)積配置表
端口說明
表2 FP16點(diǎn)積端口說明表
時(shí)序圖
圖2 FP16點(diǎn)積時(shí)序圖
其中,
那么,以上運(yùn)算功能如何對(duì)應(yīng)到MLP內(nèi)部呢?其后的細(xì)節(jié)已分為MLP72中的多個(gè)功能階段進(jìn)行說明。
進(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ì)算過程,即進(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é)果如下:
(來源:Achronix,作者:楊宇,Achronix資深現(xiàn)場(chǎng)應(yīng)用工程師)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)電話或者郵箱聯(lián)系小編進(jìn)行侵刪。
特別推薦
- 協(xié)同創(chuàng)新,助汽車行業(yè)邁向電氣化、自動(dòng)化和互聯(lián)化的未來
- 功率器件熱設(shè)計(jì)基礎(chǔ)(八)——利用瞬態(tài)熱阻計(jì)算二極管浪涌電流
- 用于模擬傳感器的回路供電(兩線)發(fā)射器
- 應(yīng)用于體外除顫器中的電容器
- 將“微型FPGA”集成到8位MCU,是種什么樣的體驗(yàn)?
- 能源、清潔科技和可持續(xù)發(fā)展的未來
- 博瑞集信推出高增益、內(nèi)匹配、單電源供電 | S、C波段驅(qū)動(dòng)放大器系列
技術(shù)文章更多>>
- NeuroBlade在亞馬遜EC2 F2 實(shí)例上加速下一代數(shù)據(jù)分析
- 2025存儲(chǔ)前瞻:用存儲(chǔ)加速AI,高性能SSD普適化
- 模擬信號(hào)鏈的設(shè)計(jì)注意事項(xiàng)
- 熱烈祝賀 Andrew MENG 晉升為 ASEAN(東盟)市場(chǎng)經(jīng)理!
- 邁向更綠色的未來:GaN技術(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
熱門搜索
ept
ESC
ESD
ESD保護(hù)
ESD保護(hù)器件
ESD器件
Eurotect
Exar
Fairhild
FFC連接器
Flash
FPC連接器
FPGA
Fujitsu
Future
GFIVE
GPS
GPU
Harting
HDMI
HDMI連接器
HD監(jiān)控
HID燈
I/O處理器
IC
IC插座
IDT
IGBT
in-cell
Intersil