在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

FPGA之家 ? 來源:FPGA之家 ? 作者:楊宇 ? 2022-09-06 10:55 ? 次閱讀

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

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

8e381ad6-2d86-11ed-ba43-dac502259ad0.png

圖1點積操作

該總和S由每個矢量元素的總和相乘而成,因此8e4599a4-2d86-11ed-ba43-dac502259ad0.png ?本文講述的是使用FP16格式的點積運算實例,展示了MLP72支持的數字類型和乘數的范圍。 此設計實現了同時處理8對FP16輸入的點積。該設計包含四個MLP72,使用MLP內部的級聯路徑連接。每個MLP72將兩個并行乘法的結果相加8e502cd4-2d86-11ed-ba43-dac502259ad0.png,每個乘法都是i_a輸入乘以i_b輸入(均為FP16格式)的結果。來自每個MLP72的總和沿著MLP72的列級聯到上面的下一個MLP72塊。在最后一個MLP72中,在每個周期上,計算八個并行FP16乘法的總和。 最終結果是多個輸入周期內的累加總和,其中累加由i_first和i_last輸入控制。i_first輸入信號指示累加和歸零的第一組輸入。i_last信號指示要累加和加到累加的最后一組輸入。最終的i_last值可在之后的六個周期使用,并使用i_last o_valid進行限定。兩次運算之間可以無空拍。
  • 配置說明

8e59a0b6-2d86-11ed-ba43-dac502259ad0.png

表1 FP16點積配置表

8e6e467e-2d86-11ed-ba43-dac502259ad0.png

表2 FP16點積端口說明表

  • 時序圖

8e7bd0be-2d86-11ed-ba43-dac502259ad0.png

圖2 FP16點積時序圖

其中,8e87d5b2-2d86-11ed-ba43-dac502259ad0.png ?那么,以上運算功能如何對應到MLP內部呢?其后的細節已分為MLP72中的多個功能階段進行說明。
  • 進位鏈
首先請看下圖,MLP之間的進位鏈結構,這是MLP內部的專用走線,可以保證級聯的高效執行。

8e9ed37a-2d86-11ed-ba43-dac502259ad0.png

圖3 MLP進位鏈

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

8eafe980-2d86-11ed-ba43-dac502259ad0.png

圖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執行所有計算。

8ecb94d2-2d86-11ed-ba43-dac502259ad0.png

圖5 MLP浮點輸出階段框圖

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

8eda3e38-2d86-11ed-ba43-dac502259ad0.png

圖6 FP16點積邏輯框圖

MLP內部數據流示意圖:

8ee51830-2d86-11ed-ba43-dac502259ad0.png

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

最終ACE的時序結果如下:8efd2772-2d86-11ed-ba43-dac502259ad0.png

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1643

    文章

    21923

    瀏覽量

    612391
  • 機器學習
    +關注

    關注

    66

    文章

    8481

    瀏覽量

    133879
  • MLP
    MLP
    +關注

    關注

    0

    文章

    57

    瀏覽量

    4449

原文標題:詳解FPGA如何實現FP16格式點積級聯運算

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    RGB888格式的image怎么保存jpg格式?

    01的K230板子 1.2.2固件 我用RGB565可以順利保存jpg,但是RGB888就不行,提示如下 提問:RGB888格式的image怎么保存jpg格式 想保存888是因為感覺圖像質量更好,后面用這些保存的圖片來訓練模型 試試這個
    發表于 04-25 08:18

    Optimum Intel / NNCF在重量壓縮中選擇FP16模型的原因?

    無法確定使用 Optimum Intel / NNCF 在重量壓縮中選擇 FP16 模型的原因。
    發表于 03-06 06:04

    使用模型優化器命令將ONNX模型轉換為OpenVINO? IR格式時出現“ReplacementID”錯誤怎么解決?

    , 3], [1,512, 896, 4] --input frame, prob --data_type FP16 --output_dir \"{model_path.parent
    發表于 03-05 09:41

    為什么無法將TensorFlow自定義模型轉換為IR格式?

    將 TensorFlow* 自定義模型轉換為 IR 格式: mo --data_type FP16 --saved_model_dir--input_shape (1,150,150,3
    發表于 03-05 07:26

    為什么無法使用Dla_compiler在OpenVINO?中編譯用于FPGA的IR模型?

    /dlia_plugin.cpp:141 FPGA plugin supports only FP16 and FP32 output precision.
    發表于 03-05 06:00

    THS8200輸出1080P50/60格式YPbPr視頻時無信號是怎么回事?

    輸入是16位YCbCr 4:2:2格式的信號,EAV/SAV同步,所有I2C配置按照參考腳本slec026a和slec026b的相關內容來設置的。 現在如果輸入格式是1080P25和P30時,可以
    發表于 01-22 07:05

    TVP5150AM1工作在601格式時,H、V沒有輸出是怎么回事?

    在通道A輸入CVBS信號,配置為656格式,工作完全正常。 配置為601格式, i2c_write_char(VideoDecoderADDR,0x03
    發表于 01-06 06:47

    MOV格式與MP4格式的區別

    MOV格式與MP4格式在多個方面存在顯著的區別。以下是對這兩種視頻格式的比較: 一、開發背景與用途 MOV格式 : 開發背景:MOV格式是A
    的頭像 發表于 12-06 14:34 ?4354次閱讀

    中交興路多聯運可視與協同平臺賦能提升物流管控效率

    聯運已成為我國供應鏈體系的關鍵組成部分,也是物流產業科技創新發展的重要領域。 三大堵 制約多聯運規?;占?多
    的頭像 發表于 11-24 14:56 ?1201次閱讀

    FPGA中的浮點四則運算是什么

    由于定點的四則運算比較簡單,如加減法只要注意符號擴展,小數點對齊等問題即可。在本文中,運用在前一節中描述的自定義浮點格式FPGA中數的表示方法(下),完成浮點四則運算
    的頭像 發表于 11-16 12:51 ?716次閱讀
    <b class='flag-5'>FPGA</b>中的浮點四則<b class='flag-5'>運算</b>是什么

    FPGA中浮點四則運算實現過程

    由于定點的四則運算比較簡單,如加減法只要注意符號擴展,小數點對齊等問題即可。在本文中,運用在前一節中描述的自定義浮點格式FPGA中數的表示方法(下),完成浮點四則運算
    的頭像 發表于 11-16 11:19 ?1145次閱讀
    <b class='flag-5'>FPGA</b>中浮點四則<b class='flag-5'>運算</b>的<b class='flag-5'>實現</b>過程

    請問如何把WAV,MP3格式的音頻文件轉化為16位的數據IIS格式?

    你好,請問如何把WAV,MP3格式的音頻文件轉化為16位的數據IIS格式?
    發表于 10-23 07:24

    級聯精密運算放大器級以實現出色的交流和直流性能

    電子發燒友網站提供《級聯精密運算放大器級以實現出色的交流和直流性能.pdf》資料免費下載
    發表于 09-24 11:00 ?0次下載
    <b class='flag-5'>級聯</b>精密<b class='flag-5'>運算</b>放大器級以<b class='flag-5'>實現</b>出色的交流和直流性能

    請問esp32如何將16進制字符串轉換成base64格式

    請問 esp32 如何將 16進制字符串轉換成base64格式
    發表于 06-24 08:35

    使用rgb888格式,在清屏切換時會有雜亂的條紋出現是怎么回事?

    使用rgb888格式,在清屏切換時,屏幕會有雜亂的條紋出現? 但是使用 ARGB8888, RGB565的格式時貌似木有,是怎么個情況 ???
    發表于 05-08 06:09
    主站蜘蛛池模板: 亚欧一区 | 性刺激的欧美三级视频 | 伊人网视频在线 | 色橹橹| 伊人婷婷涩六月丁香七月 | 亚洲国产系列 | 美女扒开尿口给男人桶视频免费 | 作爱在线观看 | 玖玖在线免费视频 | 999久久久免费精品国产牛牛 | 四虎成人精品在永久在线观看 | 欧美女同在线观看 | 97人人插| 欧美不卡视频在线观看 | 中文天堂最新版www官网在线 | 最近在线视频免费观看2019 | 天堂bt资源新版在线 | 天天天天添天天拍天天谢 | 毛片毛片| 波多野结衣一级毛片 | 中文三 级 黄 色 片 | 亚洲h视频在线 | 午夜久久网 | 国产叼嘿网站免费观看不用充会员 | 啪啪免费视频 | 永久免费mv网站入口 | 一级做a爱 一区 | 又粗又爽又色男女乱淫播放男女 | 天堂最新资源在线 | 夜夜骑日日射 | 免费观看在线观看 | 在线观看三级视频 | 成人欧美一区二区三区黑人免费 | 午夜一级毛片 | 不卡视频免费在线观看 | 亚洲成a人片77777kkk | 午夜一级福利 | 黑人又大又粗又长又深受不了 | 亚洲午夜小视频 | 亚洲男人的天堂成人 | 成年大片免费播放视频人 |