99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA如何實(shí)現(xiàn)FP16格式點(diǎn)積級(jí)聯(lián)運(yùn)算

FPGA之家 ? 來(lái)源:FPGA之家 ? 作者:楊宇 ? 2022-09-06 10:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

通過使用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)積。此向量乘法如下所示:

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

圖1點(diǎn)積操作

該總和S由每個(gè)矢量元素的總和相乘而成,因此8e4599a4-2d86-11ed-ba43-dac502259ad0.png ?本文講述的是使用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é)果相加8e502cd4-2d86-11ed-ba43-dac502259ad0.png,每個(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ú)空拍。
  • 配置說明

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

表1 FP16點(diǎn)積配置表

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

表2 FP16點(diǎn)積端口說明表

  • 時(shí)序圖

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

圖2 FP16點(diǎn)積時(shí)序圖

其中,8e87d5b2-2d86-11ed-ba43-dac502259ad0.png ?那么,以上運(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í)行。

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

圖3 MLP進(jìn)位鏈

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

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

圖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ì)算。

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

圖5 MLP浮點(diǎn)輸出階段框圖

需要強(qiáng)調(diào)的是本設(shè)計(jì)輸入和輸出都是FP16格式,中間計(jì)算過程,即進(jìn)位鏈上的fwdo_out和fwdi_dout 都是FP24格式。具體邏輯框圖如下所示:

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

圖6 FP16點(diǎn)積邏輯框圖

MLP內(nèi)部數(shù)據(jù)流示意圖:

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

圖7 FP16點(diǎn)積在MLP內(nèi)部數(shù)據(jù)流圖

最終ACE的時(shí)序結(jié)果如下:8efd2772-2d86-11ed-ba43-dac502259ad0.png

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618462
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8503

    瀏覽量

    134614
  • MLP
    MLP
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    4618

原文標(biāo)題:詳解FPGA如何實(shí)現(xiàn)FP16格式點(diǎn)積級(jí)聯(lián)運(yùn)算

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    計(jì)算精度對(duì)比:FP64、FP32、FP16、TF32、BF16、int8

    本文轉(zhuǎn)自:河北人工智能計(jì)算中心在當(dāng)今快速發(fā)展的人工智能領(lǐng)域,算力成為決定模型訓(xùn)練與推理速度的關(guān)鍵因素之一。為了提高計(jì)算效率,不同精度的數(shù)據(jù)類型應(yīng)運(yùn)而生,包括FP64、FP32、FP16、TF32
    的頭像 發(fā)表于 06-26 11:09 ?378次閱讀
    計(jì)算精度對(duì)比:<b class='flag-5'>FP</b>64、<b class='flag-5'>FP</b>32、<b class='flag-5'>FP16</b>、TF32、BF<b class='flag-5'>16</b>、int8

    將Whisper大型v3 fp32模型轉(zhuǎn)換為較低精度后,推理時(shí)間增加,怎么解決?

    將 openai/whisper-large-v3 FP32 模型轉(zhuǎn)換為 FP16、INT8 和 INT4。 推理所花費(fèi)的時(shí)間比在 FP32 上花費(fèi)的時(shí)間要多
    發(fā)表于 06-24 06:23

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

    01的K230板子 1.2.2固件 我用RGB565可以順利保存jpg,但是RGB888就不行,提示如下 提問:RGB888格式的image怎么保存jpg格式 想保存888是因?yàn)楦杏X圖像質(zhì)量更好,后面用這些保存的圖片來(lái)訓(xùn)練模型 試試這個(gè)
    發(fā)表于 04-25 08:18

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

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

    使用模型優(yōu)化器命令將ONNX模型轉(zhuǎn)換為OpenVINO? IR格式時(shí)出現(xiàn)“ReplacementID”錯(cuò)誤怎么解決?

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

    為什么無(wú)法將TensorFlow自定義模型轉(zhuǎn)換為IR格式?

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

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

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

    THS8200輸出1080P50/60格式YPbPr視頻時(shí)無(wú)信號(hào)是怎么回事?

    輸入是16位YCbCr 4:2:2格式的信號(hào),EAV/SAV同步,所有I2C配置按照參考腳本slec026a和slec026b的相關(guān)內(nèi)容來(lái)設(shè)置的。 現(xiàn)在如果輸入格式是1080P25和P30時(shí),可以
    發(fā)表于 01-22 07:05

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

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

    MOV格式與MP4格式的區(qū)別

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

    中交興路多聯(lián)運(yùn)可視與協(xié)同平臺(tái)賦能提升物流管控效率

    聯(lián)運(yùn)已成為我國(guó)供應(yīng)鏈體系的關(guān)鍵組成部分,也是物流產(chǎn)業(yè)科技創(chuàng)新發(fā)展的重要領(lǐng)域。 三大堵點(diǎn) 制約多聯(lián)運(yùn)規(guī)模化普及 多
    的頭像 發(fā)表于 11-24 14:56 ?1404次閱讀

    FPGA中的浮點(diǎn)四則運(yùn)算是什么

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

    FPGA中浮點(diǎn)四則運(yùn)算實(shí)現(xiàn)過程

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

    請(qǐng)問如何把WAV,MP3格式的音頻文件轉(zhuǎn)化為16位的數(shù)據(jù)IIS格式?

    你好,請(qǐng)問如何把WAV,MP3格式的音頻文件轉(zhuǎn)化為16位的數(shù)據(jù)IIS格式?
    發(fā)表于 10-23 07:24

    級(jí)聯(lián)精密運(yùn)算放大器級(jí)以實(shí)現(xiàn)出色的交流和直流性能

    電子發(fā)燒友網(wǎng)站提供《級(jí)聯(lián)精密運(yùn)算放大器級(jí)以實(shí)現(xiàn)出色的交流和直流性能.pdf》資料免費(fèi)下載
    發(fā)表于 09-24 11:00 ?0次下載
    <b class='flag-5'>級(jí)聯(lián)</b>精密<b class='flag-5'>運(yùn)算</b>放大器級(jí)以<b class='flag-5'>實(shí)現(xiàn)</b>出色的交流和直流性能