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

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

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

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

如何用OpenCL實(shí)現(xiàn)FPGA上的大型卷積網(wǎng)絡(luò)加速?

FPGA之家 ? 來(lái)源:CSDN ? 作者:祥瑞Coding ? 2021-04-19 11:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

本篇目錄

1. 內(nèi)存占用

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

1.2 Zynq的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系列概覽

3fd119b4-9ff3-11eb-8b86-12bb97331649.png

1內(nèi)存占用

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

參閱xilinx文檔UG998

3fe9ac4a-9ff3-11eb-8b86-12bb97331649.png

FPGA并沒(méi)有像軟件那樣用已有的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),不支持處理器中的一些邏輯類(lèi)型。2.只在設(shè)備有電時(shí)保持內(nèi)存。3.不同的BRAM塊可以同時(shí)傳輸數(shù)據(jù)。

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

401c62b6-9ff3-11eb-8b86-12bb97331649.png

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

4056ec9c-9ff3-11eb-8b86-12bb97331649.png

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

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

//convolution operation for (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占用硬件資源為:

40a24fb6-9ff3-11eb-8b86-12bb97331649.png

40c04278-9ff3-11eb-8b86-12bb97331649.png

40ca8fa8-9ff3-11eb-8b86-12bb97331649.png

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

40de955c-9ff3-11eb-8b86-12bb97331649.png

4119ebde-9ff3-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 SDK v16.1 toolset.

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

413a8bc8-9ff3-11eb-8b86-12bb97331649.png

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

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

VEC_SIZE

LANE_NUM

CONV_GP_SIZE_X

消耗資源為:

417dad0e-9ff3-11eb-8b86-12bb97331649.png

419045e0-9ff3-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有難度,開(kāi)發(fā)周期長(zhǎng)

方案三:用片上單片機(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è)檔次。

41b0185c-9ff3-11eb-8b86-12bb97331649.png

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

41d92422-9ff3-11eb-8b86-12bb97331649.png

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

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

責(zé)任編輯:haq

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

    關(guān)注

    1645

    文章

    22046

    瀏覽量

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

    關(guān)注

    42

    文章

    4814

    瀏覽量

    103583

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    基于FPGA的壓縮算法加速實(shí)現(xiàn)

    本設(shè)計(jì)中,計(jì)劃實(shí)現(xiàn)對(duì)文件的壓縮及解壓,同時(shí)優(yōu)化壓縮中所涉及的信號(hào)處理和計(jì)算密集型功能,實(shí)現(xiàn)對(duì)其的加速處理。本設(shè)計(jì)的最終目標(biāo)是證明在充分并行化的硬件體系結(jié)構(gòu) FPGA
    的頭像 發(fā)表于 07-10 11:09 ?691次閱讀
    基于<b class='flag-5'>FPGA</b>的壓縮算法<b class='flag-5'>加速</b><b class='flag-5'>實(shí)現(xiàn)</b>

    如何使用MATLAB實(shí)現(xiàn)一維時(shí)間卷積網(wǎng)絡(luò)

    本文對(duì)一維卷積操作進(jìn)行介紹,包括一維擴(kuò)展卷積和一維因果卷積,以及 MATLAB 對(duì)一維卷積的支持情況。在最后通過(guò)一個(gè)實(shí)例演示如何在 MATLAB 中將一維
    的頭像 發(fā)表于 03-07 09:15 ?1079次閱讀
    如何使用MATLAB<b class='flag-5'>實(shí)現(xiàn)</b>一維時(shí)間<b class='flag-5'>卷積</b><b class='flag-5'>網(wǎng)絡(luò)</b>

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

    BP神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)在多個(gè)方面存在顯著差異,以下是對(duì)兩者的比較: 一、結(jié)構(gòu)特點(diǎn) BP神經(jīng)網(wǎng)絡(luò) : BP神經(jīng)網(wǎng)絡(luò)是一種多層的前饋神經(jīng)
    的頭像 發(fā)表于 02-12 15:53 ?663次閱讀

    FPGA圖像處理基礎(chǔ)----實(shí)現(xiàn)緩存卷積窗口

    像素行與像素窗口 一幅圖像是由一個(gè)個(gè)像素點(diǎn)構(gòu)成的,對(duì)于一幅480*272大小的圖片來(lái)說(shuō),其寬度是480,高度是272。在使用FPGA進(jìn)行圖像處理時(shí),最關(guān)鍵的就是使用FPGA內(nèi)部的存儲(chǔ)資源對(duì)像
    的頭像 發(fā)表于 02-07 10:43 ?825次閱讀
    <b class='flag-5'>FPGA</b>圖像處理基礎(chǔ)----<b class='flag-5'>實(shí)現(xiàn)</b>緩存<b class='flag-5'>卷積</b>窗口

    FPGA在AI方面有哪些應(yīng)用

    提供了強(qiáng)有力的支持。 一、FPGA 在深度學(xué)習(xí)中的應(yīng)用 深度學(xué)習(xí)是 AI 的重要分支,涉及海量的數(shù)據(jù)運(yùn)算。FPGA 能夠針對(duì)深度學(xué)習(xí)算法中的卷積、池化等核心運(yùn)算進(jìn)行硬件加速優(yōu)化。例如,
    的頭像 發(fā)表于 01-06 17:37 ?1395次閱讀

    FPAG技術(shù)問(wèn)題合集

    1D-CNN,還有哪些神經(jīng)網(wǎng)絡(luò)算法可以在FPGA加速? A :以下是一個(gè)基于 FPGA 的一維卷積
    的頭像 發(fā)表于 12-07 10:05 ?676次閱讀

    助力AIoT應(yīng)用:在米爾FPGA開(kāi)發(fā)板實(shí)現(xiàn)Tiny YOLO V4

    受限的設(shè)備運(yùn)行,尤其在低功耗、實(shí)時(shí)檢測(cè)的邊緣計(jì)算設(shè)備中表現(xiàn)出色。相比傳統(tǒng) GPU,FPGA 能在小面積和低功耗下實(shí)現(xiàn)類(lèi)似的推理性能,非常契合 AIoT 應(yīng)用。像米爾 ZU3EG 這樣的 FP
    發(fā)表于 12-06 17:18

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

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

    卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)調(diào)整方法

    卷積神經(jīng)網(wǎng)絡(luò)因其在處理具有空間層次結(jié)構(gòu)的數(shù)據(jù)時(shí)的卓越性能而受到青睞。然而,CNN的成功很大程度上依賴(lài)于其參數(shù)的合理設(shè)置。參數(shù)調(diào)整是一個(gè)復(fù)雜的過(guò)程,涉及到多個(gè)超參數(shù)的選擇和優(yōu)化。 網(wǎng)絡(luò)架構(gòu)參數(shù)
    的頭像 發(fā)表于 11-15 15:10 ?1206次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)的基本原理與算法

    ),是深度學(xué)習(xí)的代表算法之一。 一、基本原理 卷積運(yùn)算 卷積運(yùn)算是卷積神經(jīng)網(wǎng)絡(luò)的核心,用于提取圖像中的局部特征。 定義卷積核:
    的頭像 發(fā)表于 11-15 14:47 ?1774次閱讀

    FPGA加速深度學(xué)習(xí)模型的案例

    FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)加速深度學(xué)習(xí)模型是當(dāng)前硬件加速領(lǐng)域的一個(gè)熱門(mén)研究方向。以下是一些FPGA加速深度學(xué)習(xí)模型的案例: 一、基于
    的頭像 發(fā)表于 10-25 09:22 ?1223次閱讀

    關(guān)于卷積神經(jīng)網(wǎng)絡(luò),這些概念你厘清了么~

    隨著人工智能(AI)技術(shù)的快速發(fā)展,AI可以越來(lái)越多地支持以前無(wú)法實(shí)現(xiàn)或者難以實(shí)現(xiàn)的應(yīng)用。本文基于此解釋了 卷積神經(jīng)網(wǎng)絡(luò) (CNN)及其對(duì)人工智能和機(jī)器學(xué)習(xí)的意義。CNN是一種能夠從
    發(fā)表于 10-24 13:56

    何用FPGA實(shí)現(xiàn)一個(gè)通信系統(tǒng)的發(fā)射端接收機(jī)?

    ,共同進(jìn)步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問(wèn)題(一) Q:用FPGA實(shí)現(xiàn)一個(gè)通信系統(tǒng)(5GHz頻段,通信距離越10km)的發(fā)射端&接收機(jī),如何規(guī)劃學(xué)習(xí)路線? 完全0
    發(fā)表于 09-10 19:15

    FPGA在人工智能中的應(yīng)用有哪些?

    ,FPGA可以快速調(diào)整其硬件結(jié)構(gòu)以適應(yīng)新的算法,而無(wú)需更換整個(gè)硬件系統(tǒng)。 二、云計(jì)算加速FPGA也被廣泛應(yīng)用于云計(jì)算領(lǐng)域,用于加速各種網(wǎng)絡(luò)
    發(fā)表于 07-29 17:05

    分享幾個(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 ?1879次閱讀
    分享幾個(gè)用<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b>的小型神經(jīng)<b class='flag-5'>網(wǎng)絡(luò)</b>