一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

Xilinx Zynq系列FPGA實現(xiàn)神經(jīng)網(wǎng)絡(luò)中相關(guān)資源評估

電子工程師 ? 來源:祥瑞Coding ? 作者:祥瑞Coding ? 2021-03-30 10:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Xilinx zynq系列FPGA實現(xiàn)神經(jīng)網(wǎng)絡(luò)評估

本篇目錄

1. 內(nèi)存占用

1.1FPGA程序中內(nèi)存的實現(xiàn)方式

1.2Zynq的BRAM內(nèi)存大小

1.3一個卷積操作占用的內(nèi)存

2. PipeCNN可實現(xiàn)性

PipeCNN論文解析:用OpenCL實現(xiàn)FPGA上的大型卷積網(wǎng)絡(luò)加速

2.1已實現(xiàn)的PipeCNN資源消耗

3. 實現(xiàn)大型神經(jīng)網(wǎng)絡(luò)的方法

4. Virtex-7高端FPGA概覽、7系列FPGA相關(guān)文檔

正文

0Zynq7000系列概覽

0003cb24-8c66-11eb-8b86-12bb97331649.png

1內(nèi)存占用

1.1 FPGA程序中內(nèi)存的實現(xiàn)方式

參閱xilinx文檔UG998

0072ceac-8c66-11eb-8b86-12bb97331649.png

FPGA并沒有像軟件那樣用已有的cache,F(xiàn)PGA的HLS編譯器會在FPGA中創(chuàng)建一個快速的memory architecture以最好的適應(yīng)算法中的數(shù)據(jù)樣式(data layout)。因此FPGA可以有相互獨立的不同大小的內(nèi)部存儲空間,例如寄存器,移位寄存器,F(xiàn)IFOs和BRAMs。

寄存器:最快的內(nèi)存結(jié)構(gòu),集成在在運算單元之中,獲取不需要額外的時延。

移位寄存器:可以被當(dāng)作一個數(shù)據(jù)序列,每一個數(shù)據(jù)可以在不同的運算之中被重復(fù)使用。將其中所有數(shù)據(jù)移動到相鄰的存儲設(shè)備中只需要一個時鐘周期。

FIFO:只有一個輸入和輸出的數(shù)據(jù)序列,通常被用于循環(huán)或循環(huán)函數(shù),細節(jié)會被HLS編譯器處理。

BRAM:集成在FPGA fabric模塊中的RAM,每個xilinx的FPGA中集成有多個這樣的BRAM??梢员划?dāng)作有以下特性的cache:1.不支持像處理器cache中那樣的緩存一致性(cache coherency,collision),不支持處理器中的一些邏輯類型。2.只在設(shè)備有電時保持內(nèi)存。3.不同的BRAM塊可以同時傳輸數(shù)據(jù)。

1.2Zynq的BRAM內(nèi)存大小

00c36cea-8c66-11eb-8b86-12bb97331649.png

zynq 7z020的BRAM為4.9Mb,7z035的BRAM為17.6Mb(2.2MB)

01190222-8c66-11eb-8b86-12bb97331649.png

1.3一個卷積操作占用的內(nèi)存

例如,我們實現(xiàn)的卷積函數(shù),輸入27×600,卷積核16×27,輸出16×600,數(shù)據(jù)類型為float。

//convolution operationfor (i = 0; i < 16; i++) { for (j = 0; j < 600; j++) { result = 0; for (k = 0; k < 27; k++) { temp = weights[i*27+k] * buf_in[k*600+j]; result += temp; } buf_out[i*600+j] = result; } }


在HLS中生成的IPcore占用硬件資源為:

0160a9ce-8c66-11eb-8b86-12bb97331649.png

01b2c808-8c66-11eb-8b86-12bb97331649.png

01ed1d28-8c66-11eb-8b86-12bb97331649.png

在vivado中搭建好系統(tǒng),占用的資源為:

02359c38-8c66-11eb-8b86-12bb97331649.png

02960b4a-8c66-11eb-8b86-12bb97331649.png

2PipeCNN可實現(xiàn)性

PipeCNN是一個基于OpenCL的FPGA實現(xiàn)大型卷積網(wǎng)絡(luò)的加速器。

PipeCNN解析文檔:

PipeCNN論文解析:用OpenCL實現(xiàn)FPGA上的大型卷積網(wǎng)絡(luò)加速

github地址:https://github.com/doonny/PipeCNN#how-to-use

2.1 已實現(xiàn)的PipeCNN資源消耗

對于Altera FPGA,運用Intel's OpenCL SDKv16.1 toolset.

對于Xilinx FPGAs, theSDAcceldevelopment environment v2017.2 can be used.

02e38640-8c66-11eb-8b86-12bb97331649.png

Xilinx'sKCU1500(XCKU115 FPGA)(已經(jīng)有xilin的板子實現(xiàn)過pipeCNN,但是型號比zynq高很多)

02f51388-8c66-11eb-8b86-12bb97331649.png

硬件資源可以被三個宏調(diào)控,device/hw_param.cl. Change the following macros

VEC_SIZE

LANE_NUM

CONV_GP_SIZE_X

消耗資源為:

034797a2-8c66-11eb-8b86-12bb97331649.png

03873a74-8c66-11eb-8b86-12bb97331649.png

3實現(xiàn)大型神經(jīng)網(wǎng)絡(luò)的方法

方案一:壓縮模型到<2.2MB,可實現(xiàn)在BRAM中

優(yōu)點:1.速度快 2.實現(xiàn)方便

缺點:1.模型壓縮難度 2.難以實現(xiàn)大型網(wǎng)絡(luò)

方案二:用FPGA調(diào)用DDR

優(yōu)點:1.速度中等 2.可實現(xiàn)大型網(wǎng)絡(luò)

缺點:調(diào)用DDR有難度,開發(fā)周期長

方案三:用片上單片機調(diào)用DDR(插入SD卡)分包傳入IPcore運算

優(yōu)點:可實現(xiàn)大型網(wǎng)絡(luò)

缺點:速度較慢

4Virtex-7高端FPGA概覽

Virtex-7為高端FPGA,比Zynq高了一個檔次。

0443f25e-8c66-11eb-8b86-12bb97331649.png

048220e2-8c66-11eb-8b86-12bb97331649.png

7系列FPGA相關(guān)文檔:

04cc1b3e-8c66-11eb-8b86-12bb97331649.png

責(zé)任編輯:lq

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

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618472
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4814

    瀏覽量

    103616
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2185

    瀏覽量

    125343

原文標題:Xilinx Zynq系列FPGA實現(xiàn)神經(jīng)網(wǎng)絡(luò)中相關(guān)資源評估

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    基于FPGA搭建神經(jīng)網(wǎng)絡(luò)的步驟解析

    本文的目的是在一個神經(jīng)網(wǎng)絡(luò)已經(jīng)通過python或者MATLAB訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型,將訓(xùn)練好的模型的權(quán)重和偏置文件以TXT文件格式導(dǎo)出,然后通過python程序?qū)xt文件轉(zhuǎn)化為coe文件,(coe
    的頭像 發(fā)表于 06-03 15:51 ?409次閱讀
    基于<b class='flag-5'>FPGA</b>搭建<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的步驟解析

    神經(jīng)網(wǎng)絡(luò)壓縮框架 (NNCF) 的過濾器修剪統(tǒng)計數(shù)據(jù)怎么查看?

    無法觀察神經(jīng)網(wǎng)絡(luò)壓縮框架 (NNCF) 的過濾器修剪統(tǒng)計數(shù)據(jù)
    發(fā)表于 03-06 07:10

    BP神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)的比較

    多層。 每一層都由若干個神經(jīng)元構(gòu)成,神經(jīng)元之間通過權(quán)重連接。信號在神經(jīng)網(wǎng)絡(luò)是前向傳播的,而誤差是反向傳播的。 卷積神經(jīng)網(wǎng)絡(luò)(CNN) :
    的頭像 發(fā)表于 02-12 15:53 ?667次閱讀

    BP神經(jīng)網(wǎng)絡(luò)在圖像識別的應(yīng)用

    BP神經(jīng)網(wǎng)絡(luò)在圖像識別中發(fā)揮著重要作用,其多層結(jié)構(gòu)使得網(wǎng)絡(luò)能夠?qū)W習(xí)到復(fù)雜的特征表達,適用于處理非線性問題。以下是對BP神經(jīng)網(wǎng)絡(luò)在圖像識別應(yīng)用的分析: 一、BP
    的頭像 發(fā)表于 02-12 15:12 ?679次閱讀

    深度學(xué)習(xí)入門:簡單神經(jīng)網(wǎng)絡(luò)的構(gòu)建與實現(xiàn)

    深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)是核心模型。今天我們用 Python 和 NumPy 構(gòu)建一個簡單的神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)由多個神經(jīng)元組成,
    的頭像 發(fā)表于 01-23 13:52 ?529次閱讀

    人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法

    在上一篇文章,我們介紹了傳統(tǒng)機器學(xué)習(xí)的基礎(chǔ)知識和多種算法。在本文中,我們會介紹人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法,供各位老師選擇。 01 人工神經(jīng)網(wǎng)絡(luò) ? 人工
    的頭像 發(fā)表于 01-09 10:24 ?1189次閱讀
    人工<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的原理和多種<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>架構(gòu)方法

    卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)工具與框架

    卷積神經(jīng)網(wǎng)絡(luò)因其在圖像和視頻處理任務(wù)的卓越性能而廣受歡迎。隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,多種實現(xiàn)工具和框架應(yīng)運而生,為研究人員和開發(fā)者提供了強大的支持。 TensorFlow 概述
    的頭像 發(fā)表于 11-15 15:20 ?671次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的比較

    在深度學(xué)習(xí)領(lǐng)域,神經(jīng)網(wǎng)絡(luò)模型被廣泛應(yīng)用于各種任務(wù),如圖像識別、自然語言處理和游戲智能等。其中,卷積神經(jīng)網(wǎng)絡(luò)(CNNs)和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)是兩種常見的模型。 1. 結(jié)構(gòu)差異 1.1 傳統(tǒng)神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 11-15 14:53 ?1870次閱讀

    RNN模型與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的區(qū)別

    神經(jīng)網(wǎng)絡(luò)是機器學(xué)習(xí)領(lǐng)域中的一種強大工具,它們能夠模擬人腦處理信息的方式。隨著技術(shù)的發(fā)展,神經(jīng)網(wǎng)絡(luò)的類型也在不斷增加,其中循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)(如前饋
    的頭像 發(fā)表于 11-15 09:42 ?1126次閱讀

    LSTM神經(jīng)網(wǎng)絡(luò)的基本原理 如何實現(xiàn)LSTM神經(jīng)網(wǎng)絡(luò)

    LSTM(長短期記憶)神經(jīng)網(wǎng)絡(luò)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),它能夠?qū)W習(xí)長期依賴信息。在處理序列數(shù)據(jù)時,如時間序列分析、自然語言處理等,LSTM因其能夠有效地捕捉時間序列的長期依賴關(guān)系而受到
    的頭像 發(fā)表于 11-13 09:53 ?1586次閱讀

    Xilinx ZYNQ 7000系列SoC的功能特性

    本文介紹下Xilinx ZYNQ 7000系列SoC的功能特性、資源特性、封裝兼容性以及如何訂購器件。
    的頭像 發(fā)表于 10-24 15:04 ?2728次閱讀
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>ZYNQ</b> 7000<b class='flag-5'>系列</b>SoC的功能特性

    [XILINX] 正點原子ZYNQ7035/7045/7100開發(fā)板發(fā)布、ZYNQ 7000系列、雙核ARM、PCIe2.0、SFPX2!

    正點原子FPGA新品ZYNQ7035/7045/7100開發(fā)板,ZYNQ 7000系列、雙核ARM、PCIe2.0、SFPX2! 正點原子Z100
    發(fā)表于 09-02 17:18

    FPGA在深度神經(jīng)網(wǎng)絡(luò)的應(yīng)用

    、低功耗等特點,逐漸成為深度神經(jīng)網(wǎng)絡(luò)在邊緣計算和設(shè)備端推理的重要硬件平臺。本文將詳細探討FPGA在深度神經(jīng)網(wǎng)絡(luò)的應(yīng)用,包括其優(yōu)勢、設(shè)計流程、關(guān)鍵技術(shù)以及實際應(yīng)用案例。
    的頭像 發(fā)表于 07-24 10:42 ?1204次閱讀

    分享幾個用FPGA實現(xiàn)的小型神經(jīng)網(wǎng)絡(luò)

    今天我們分享幾個用FPGA實現(xiàn)的小型神經(jīng)網(wǎng)絡(luò),側(cè)重應(yīng)用。
    的頭像 發(fā)表于 07-24 09:30 ?1886次閱讀
    分享幾個用<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>的小型<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>

    如何構(gòu)建多層神經(jīng)網(wǎng)絡(luò)

    構(gòu)建多層神經(jīng)網(wǎng)絡(luò)(MLP, Multi-Layer Perceptron)模型是一個在機器學(xué)習(xí)和深度學(xué)習(xí)領(lǐng)域廣泛使用的技術(shù),尤其在處理分類和回歸問題時。在本文中,我們將深入探討如何從頭開始構(gòu)建一個多層神經(jīng)網(wǎng)絡(luò)模型,包括模型設(shè)計、數(shù)據(jù)預(yù)處理、模型訓(xùn)練、
    的頭像 發(fā)表于 07-19 17:19 ?1565次閱讀