超碰激情 I 成人福利网站 I 淫国产 I 曰批视频免费30分钟成人 I 刘亦菲裸体视频一区二区三区 I 午夜久 I 尤物综合 I 亚洲一区av在线观看 I 欧美亚洲国产精品久久高清 I 欧美老熟妇乱子伦视频 I 无码中出人妻中文字幕av I 久久美女福利视频 I 精品无人区乱码1区2区3区在线 I 性饥渴的农村熟妇 I 色综合综合色 I 少妇人妻88久久中文字幕 I 久久夜色精品国产噜噜av I 老熟妇仑乱视频一区二区 I 男女做爰猛烈叫床视频动态图 I 日本大片一区二区 I 人成午夜免费视频在线观看 I 激情婷婷av I 男女下面一进一出免费视频网站 I 久久影视一区 I 午夜污网站 I 先锋人妻无码av电影 I 久久久久久久岛国免费网站 I 又粗又大又黄又硬又爽免费看 I 人妻无码免费一区二区三区 I www.色成人100 I 欧美高清网站 I 精品国产第一页 I 国产suv一区二区三区88区 I 橹图极品美女无圣光 I 午夜宅男欧美

產品分類

當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 線路板連接器 > FFC連接器

類型分類:
科普知識
數據分類:
FFC連接器

詳解FPGA如何實現FP16格式點積級聯運算

發布日期:2022-04-28 點擊率:98

【導讀】通過使用Achronix Speedster7t FPGA中的機器學習加速器MLP72,開發人員可以輕松選擇浮點/定點格式和多種位寬,或快速應用塊浮點,并通過內部級聯可以達到理想性能。

 

通過使用Achronix Speedster7t FPGA中的機器學習加速器MLP72,開發人員可以輕松選擇浮點/定點格式和多種位寬,或快速應用塊浮點,并通過內部級聯可以達到理想性能。

 

神經網絡架構中的核心之一就是卷積層,卷積的最基本操作就是點積。向量乘法的結果是向量的每個元素的總和相乘在一起,通常稱之為點積。此向量乘法如下所示:

 

詳解FPGA如何實現FP16格式點積級聯運算
圖1點積操作

 

該總和S由每個矢量元素的總和相乘而成,因此

 

詳解FPGA如何實現FP16格式點積級聯運算
 

本文講述的是使用FP16格式的點積運算實例,展示了MLP72支持的數字類型和乘數的范圍。

 

此設計實現了同時處理8對FP16輸入的點積。該設計包含四個MLP72,使用MLP內部的級聯路徑連接。每個MLP72將兩個并行乘法的結果相加詳解FPGA如何實現FP16格式點積級聯運算,每個乘法都是i_a輸入乘以i_b輸入(均為FP16格式)的結果。來自每個MLP72的總和沿著MLP72的列級聯到上面的下一個MLP72塊。在最后一個MLP72中,在每個周期上,計算八個并行FP16乘法的總和。

 

最終結果是多個輸入周期內的累加總和,其中累加由i_first和i_last輸入控制。i_first輸入信號指示累加和歸零的第一組輸入。i_last信號指示要累加和加到累加的最后一組輸入。最終的i_last值可在之后的六個周期使用,并使用i_last o_valid進行限定。兩次運算之間可以無空拍。

 

配置說明

 

詳解FPGA如何實現FP16格式點積級聯運算

表1 FP16點積配置表

 

端口說明

 

詳解FPGA如何實現FP16格式點積級聯運算

表2 FP16點積端口說明表

 

時序圖

 

詳解FPGA如何實現FP16格式點積級聯運算

圖2 FP16點積時序圖

 

其中,

 

詳解FPGA如何實現FP16格式點積級聯運算
 

那么,以上運算功能如何對應到MLP內部呢?其后的細節已分為MLP72中的多個功能階段進行說明。

 

進位鏈

 

首先請看下圖,MLP之間的進位鏈結構,這是MLP內部的專用走線,可以保證級聯的高效執行。

 

詳解FPGA如何實現FP16格式點積級聯運算

圖3 MLP進位鏈

 

乘法階段

 

下圖是MLP中浮點乘法功能階段,其中寄存器代表一級可選延遲。

 

詳解FPGA如何實現FP16格式點積級聯運算

圖4 MLP乘法功能階段框圖

 

MLP72浮點乘法級包括兩個24位全浮點乘法器和一個24位全浮點加法器。兩個乘法器執行A×B和C×D的并行計算。加法器將兩個結果相加得到A×B + C×D。

 

乘法階段有兩個輸出。下半部分輸出可以在A×B或(A×B + C×D)之間選擇。上半部分輸出始終為C×D。

 

乘法器和加法器使用的數字格式由字節選擇參數以及和參數設置的格式確定。

 

浮點輸出具有與整數輸出級相同的路徑和結構。MLP72可以配置為在特定階段選擇整數或等效浮點輸入。輸出支持兩個24位全浮點加法器,可以對其進行加法或累加配置。進一步可以加載加法器(開始累加),可以將其設置為減法,并支持可選的舍入模式。

 

最終輸出階段支持將浮點輸出格式化為MLP72支持的三種浮點格式中的任何一種。此功能使MLP72可以外部支持大小一致的浮點輸入和輸出(例如fp16或bfloat16),而在內部以fp24執行所有計算。

 

詳解FPGA如何實現FP16格式點積級聯運算

圖5 MLP浮點輸出階段框圖

 

需要強調的是本設計輸入和輸出都是FP16格式,中間計算過程,即進位鏈上的fwdo_out和fwdi_dout 都是FP24格式。具體邏輯框圖如下所示:

 

詳解FPGA如何實現FP16格式點積級聯運算

圖6 FP16點積邏輯框圖

 

MLP內部數據流示意圖:

 

詳解FPGA如何實現FP16格式點積級聯運算

圖7 FP16點積在MLP內部數據流圖

 

最終ACE的時序結果如下:

 

詳解FPGA如何實現FP16格式點積級聯運算

 

(來源:Achronix,作者:楊宇,Achronix資深現場應用工程師)

 

免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請電話或者郵箱聯系小編進行侵刪。

 

  

推薦閱讀:
電容ESR測量表電路
貿澤電子推出Microchip和Vishay電阻式電流傳感解決方案網站
如何通過可變增益放大器LMH6505實現AGC電路設計?
什么?!4mA至20mA電流環路的誤差小于0.2%?!
開環電流傳感器與閉環電流傳感器的區別分析

要采購傳感器么,點這里了解一下價格!

下一篇: PLC、DCS、FCS三大控

上一篇: 安裝率近100%、2億+的

推薦產品

更多