通過使用Achronix Speedster7t FPGA中的機器學習加速器MLP72,開發人員可以輕松選擇浮點/定點格式和多種位寬,或快速應用塊浮點,并通過內部級聯可以達到理想性能。
神經網絡架構中的核心之一就是卷積層,卷積的最基本操作就是點積。向量乘法的結果是向量的每個元素的總和相乘在一起,通常稱之為點積。此向量乘法如下所示:

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

表1 FP16點積配置表
- 端口說明

表2 FP16點積端口說明表
- 時序圖

圖2 FP16點積時序圖
其中,
?那么,以上運算功能如何對應到MLP內部呢?其后的細節已分為MLP72中的多個功能階段進行說明。
- 進位鏈

圖3 MLP進位鏈
- 乘法階段

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

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

圖6 FP16點積邏輯框圖
MLP內部數據流示意圖:

圖7 FP16點積在MLP內部數據流圖
最終ACE的時序結果如下:
審核編輯 :李倩
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
FPGA
+關注
關注
1660文章
22412瀏覽量
636287 -
機器學習
+關注
關注
66文章
8553瀏覽量
136940 -
MLP
+關注
關注
0文章
57瀏覽量
4989
原文標題:詳解FPGA如何實現FP16格式點積級聯運算
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
熱點推薦
大模型推理服務的彈性部署與GPU調度方案
7B 模型 FP16 推理需要約 14GB 顯存,70B 模型需要 140GB+,KV Cache 隨并發數線性增長,顯存碎片化導致實際利用率不足 60%。
今日看點:消息稱 AMD、高通考慮導入 SOCAMM 內存;曦望發布新一代推理GPU芯片啟望S3
推理深度定制的GPGPU芯片。其單芯片推理性能提升5倍,支持從FP16到FP8、FP6、FP4等多精度靈活切換,釋放低精度推理效率,這種設計更貼合當前MoE和長上下文模型在推理階段的需
發表于 01-28 11:09
?387次閱讀
三電阻可調增益設計:FP130A與FP355的靈活配置實現
在30V以下的低壓應用中,精準的電流監控對實現系統保護至關重要。FP130A與FP355是兩款專為此設計的高端電流檢測芯片。FP130A可精確監測電流大小與方向,協助MCU智能判斷設備
利用C語言union特性來定義RGB565格式
本次分享的內容是利用C語言union特性來定義RGB565格式
1)前言
在做視覺相關的任務時,相機的輸入一般會是RGB565(uint16_t)的格式,而我們需要把它顯式轉換成RGB
發表于 10-30 08:26
基于級聯分類器的人臉檢測基本原理
。這里需要指出的一點是,可能會存在多個檢測結果為陽性的窗口,鑒于此類情況,我們會在最后進行一次聚類,把多個陽性窗口合并成為一個。
該算法還具有支持多尺度和任意旋轉角度的擴展版本。關于多尺度,算法的實現細節
發表于 10-30 06:14
小白必讀:到底什么是FP32、FP16、INT8?
網上關于算力的文章,如果提到某個芯片或某個智算中心的算力,都會寫:在FP32精度下,英偉達H100的算力大約為0.9PFlops。在FP16精度下,某智算中心的算力是6.7EFlops。在INT8
西井科技推出Hymala多式聯運物流樞紐大模型矩陣
近日,2025WAIC,上海市工商聯"人工智能+數字化"轉型解決方案和創新產品成果活動上,人工智能智慧物流解決方案商——西井科技重磅推出Hymala多式聯運物流樞紐大模型矩陣,直
計算精度對比:FP64、FP32、FP16、TF32、BF16、int8
本文轉自:河北人工智能計算中心在當今快速發展的人工智能領域,算力成為決定模型訓練與推理速度的關鍵因素之一。為了提高計算效率,不同精度的數據類型應運而生,包括FP64、FP32、FP16、TF32
將Whisper大型v3 fp32模型轉換為較低精度后,推理時間增加,怎么解決?
將 openai/whisper-large-v3 FP32 模型轉換為 FP16、INT8 和 INT4。
推理所花費的時間比在 FP32 上花費的時間要多
發表于 06-24 06:23
SiC MOSFET并聯運行實現靜態均流的基本要求和注意事項
通過并聯SiC MOSFET功率器件,可以獲得更高輸出電流,滿足更大功率系統的要求。本章節主要介紹了SiC MOSFET并聯運行實現靜態均流的基本要求和注意事項。
RGB888格式的image怎么保存jpg格式?
01的K230板子 1.2.2固件
我用RGB565可以順利保存jpg,但是RGB888就不行,提示如下
提問:RGB888格式的image怎么保存jpg格式
想保存888是因為感覺圖像質量更好,后面用這些保存的圖片來訓練模型
試試這個
發表于 04-25 08:18
QuarkPi-CA2 RK3588S卡片電腦:6.0Tops NPU+8K視頻編解碼+接口豐富,高性能嵌入式開發!
支持INT4/INT8/INT16/FP16,支持TensorFlow、PyTorch等主流框架,支持8K@60fps視頻解碼和8K@30fps視頻編碼,H.265/H.264/VP9/AV1等格式
發表于 04-11 16:03
請問運算放大器的增益帶寬積和噪聲增益?
有關運算放大器原理的問題請教,運放的一個重要參數增益帶寬積是運放的開環增益和帶寬的乘積,這個乘積為什么是常數,從運放的設計原理和等效電路分析這個參數求解的原理?
噪聲增益在電路設計中是什么意思,定義
發表于 03-24 07:36
Optimum Intel / NNCF在重量壓縮中選擇FP16模型的原因?
無法確定使用 Optimum Intel / NNCF 在重量壓縮中選擇 FP16 模型的原因。
發表于 03-06 06:04
FPGA如何實現FP16格式點積級聯運算
評論