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

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

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

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

電子工程師 ? 來源:祥瑞Coding ? 作者:祥瑞Coding ? 2021-03-30 10:29 ? 次閱讀

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

本篇目錄

1. 內(nèi)存占用

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

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

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

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

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

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

3. 實(shí)現(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)存的實(shí)現(xiàn)方式

參閱xilinx文檔UG998

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

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

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

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

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

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

例如,我們實(shí)現(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可實(shí)現(xiàn)性

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

PipeCNN解析文檔:

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

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

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

對(duì)于Altera FPGA,運(yùn)用Intel's OpenCL SDKv16.1 toolset.

對(duì)于Xilinx FPGAs, theSDAcceldevelopment environment v2017.2 can be used.

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

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

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

硬件資源可以被三個(gè)宏調(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實(shí)現(xiàn)大型神經(jīng)網(wǎng)絡(luò)的方法

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

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

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

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

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

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

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

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

缺點(diǎn):速度較慢

4Virtex-7高端FPGA概覽

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

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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21796

    瀏覽量

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

    關(guān)注

    42

    文章

    4779

    瀏覽量

    101096
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2171

    瀏覽量

    122014

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Xilinx ZYNQ 7000系列SoC的功能特性

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

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

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

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

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

    神經(jīng)網(wǎng)絡(luò)專用硬件實(shí)現(xiàn)的方法和技術(shù)

    神經(jīng)網(wǎng)絡(luò)專用硬件實(shí)現(xiàn)是人工智能領(lǐng)域的一個(gè)重要研究方向,旨在通過設(shè)計(jì)專門的硬件來加速神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和推理過程,提高計(jì)算效率和能效比。以下將詳細(xì)介紹神經(jīng)網(wǎng)絡(luò)專用硬件
    的頭像 發(fā)表于 07-15 10:47 ?1337次閱讀

    遞歸神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)方法

    (Recurrent Neural Network,通常也簡稱為RNN,但在此處為區(qū)分,我們將循環(huán)神經(jīng)網(wǎng)絡(luò)稱為Recurrent RNN)不同,遞歸神經(jīng)網(wǎng)絡(luò)更側(cè)重于處理樹狀或圖結(jié)構(gòu)的數(shù)據(jù),如句法分析樹、自然語言的語法結(jié)構(gòu)等。以下將從遞歸
    的頭像 發(fā)表于 07-10 17:02 ?374次閱讀

    如何在FPGA實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)

    可編程門陣列(FPGA)作為一種靈活、高效的硬件實(shí)現(xiàn)方式,為神經(jīng)網(wǎng)絡(luò)的加速提供了新的思路。本文將從FPGA實(shí)現(xiàn)
    的頭像 發(fā)表于 07-10 17:01 ?2261次閱讀

    BP神經(jīng)網(wǎng)絡(luò)和人工神經(jīng)網(wǎng)絡(luò)的區(qū)別

    BP神經(jīng)網(wǎng)絡(luò)和人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,簡稱ANNs)之間的關(guān)系與區(qū)別,是神經(jīng)網(wǎng)絡(luò)領(lǐng)域中一個(gè)基礎(chǔ)且重要的話題。本文將從定義、結(jié)構(gòu)、算法、應(yīng)用及未來發(fā)展等多個(gè)方面,詳細(xì)闡述BP
    的頭像 發(fā)表于 07-10 15:20 ?1274次閱讀

    rnn是遞歸神經(jīng)網(wǎng)絡(luò)還是循環(huán)神經(jīng)網(wǎng)絡(luò)

    RNN(Recurrent Neural Network)是循環(huán)神經(jīng)網(wǎng)絡(luò),而非遞歸神經(jīng)網(wǎng)絡(luò)。循環(huán)神經(jīng)網(wǎng)絡(luò)是一種具有時(shí)間序列特性的神經(jīng)網(wǎng)絡(luò),能夠處理序列數(shù)據(jù),具有記憶功能。以下是關(guān)于循環(huán)
    的頭像 發(fā)表于 07-05 09:52 ?639次閱讀

    遞歸神經(jīng)網(wǎng)絡(luò)是循環(huán)神經(jīng)網(wǎng)絡(luò)

    遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,簡稱RNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,簡稱RNN)實(shí)際上是同一個(gè)概念,只是不同的翻譯方式
    的頭像 發(fā)表于 07-04 14:54 ?865次閱讀

    深度神經(jīng)網(wǎng)絡(luò)與基本神經(jīng)網(wǎng)絡(luò)的區(qū)別

    在探討深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks, DNNs)與基本神經(jīng)網(wǎng)絡(luò)(通常指傳統(tǒng)神經(jīng)網(wǎng)絡(luò)或前向神經(jīng)網(wǎng)絡(luò))的區(qū)別時(shí),我們需要從多個(gè)維度進(jìn)行深入分析。這些維度包括
    的頭像 發(fā)表于 07-04 13:20 ?1040次閱讀

    反向傳播神經(jīng)網(wǎng)絡(luò)和bp神經(jīng)網(wǎng)絡(luò)的區(qū)別

    反向傳播神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Network,簡稱BP神經(jīng)網(wǎng)絡(luò))是一種多層前饋神經(jīng)網(wǎng)絡(luò),它通過反向傳播算法來調(diào)整網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-03 11:00 ?860次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)原理

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,簡稱CNN)是一種深度學(xué)習(xí)模型,廣泛應(yīng)用于圖像識(shí)別、視頻分析、自然語言處理等領(lǐng)域。本文將詳細(xì)介紹卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)原理、結(jié)構(gòu)
    的頭像 發(fā)表于 07-03 10:49 ?625次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)的原理與實(shí)現(xiàn)

    1.卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,簡稱CNN)是一種深度學(xué)習(xí)模型,廣泛應(yīng)用于圖像識(shí)別、視頻分析、自然語言處理等領(lǐng)域。 卷積神經(jīng)網(wǎng)絡(luò)是一種前饋神經(jīng)網(wǎng)絡(luò),其
    的頭像 發(fā)表于 07-02 16:47 ?696次閱讀

    神經(jīng)網(wǎng)絡(luò)在數(shù)學(xué)建模的應(yīng)用

    數(shù)學(xué)建模是一種利用數(shù)學(xué)方法和工具來描述和分析現(xiàn)實(shí)世界問題的過程。神經(jīng)網(wǎng)絡(luò)是一種模擬人腦神經(jīng)元結(jié)構(gòu)和功能的計(jì)算模型,可以用于解決各種復(fù)雜問題。在數(shù)學(xué)建模,神經(jīng)網(wǎng)絡(luò)可以作為一種有效的工具
    的頭像 發(fā)表于 07-02 11:29 ?1097次閱讀

    神經(jīng)網(wǎng)絡(luò)的激活函數(shù)有哪些

    神經(jīng)網(wǎng)絡(luò),激活函數(shù)是一個(gè)至關(guān)重要的組成部分,它決定了神經(jīng)元對(duì)于輸入信號(hào)的反應(yīng)方式,為神經(jīng)網(wǎng)絡(luò)引入了非線性因素,使得網(wǎng)絡(luò)能夠?qū)W習(xí)和處理復(fù)雜
    的頭像 發(fā)表于 07-01 11:52 ?649次閱讀