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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

本篇目錄

1. 內(nèi)存占用

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

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

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

1內(nèi)存占用

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

參閱xilinx文檔UG998

3fe9ac4a-9ff3-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ù),細(xì)節(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.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 一個卷積操作占用的內(nèi)存

例如,我們實現(xiàn)的卷積函數(shù),輸入27×600,卷積核16×27,輸出16×600,數(shù)據(jù)類型為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可實現(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 SDK v16.1 toolset.

對于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的板子實現(xiàn)過pipeCNN,但是型號比zynq高很多)

硬件資源可以被三個宏調(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實現(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高了一個檔次。

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

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

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

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

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

責(zé)任編輯:haq

聲明:本文內(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

    文章

    22018

    瀏覽量

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

    關(guān)注

    42

    文章

    4812

    瀏覽量

    103283

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

    卷積神經(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 ?643次閱讀

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

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

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

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

    卷積神經(jīng)網(wǎng)絡(luò)何用卷積神經(jīng)網(wǎng)絡(luò)通常運用在哪里

    和應(yīng)用場景。 圖像識別 圖像識別是卷積神經(jīng)網(wǎng)絡(luò)最廣泛的應(yīng)用之一。CNN能夠自動學(xué)習(xí)圖像中的特征,實現(xiàn)對圖像的分類、識別和分析。以下是一些具體的應(yīng)用場景: 1.1 物體識別:CNN可以識別圖像中的物體,如貓、狗、汽車等。這在自動駕
    的頭像 發(fā)表于 07-11 14:43 ?4300次閱讀

    FPGA實現(xiàn)LeNet-5卷積神經(jīng)網(wǎng)絡(luò)

    LeNet-5 是一個經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)(CNN),由 Yann LeCun 在 1990 年代設(shè)計,主要用于手寫數(shù)字識別任務(wù)(如 MNIST 數(shù)據(jù)集)。隨著現(xiàn)場可編程門陣列(FPGA)技術(shù)的發(fā)展
    的頭像 發(fā)表于 07-11 10:27 ?3339次閱讀

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

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

    卷積神經(jīng)網(wǎng)絡(luò)卷積操作

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)中的卷積操作是其核心組成部分,對于圖像識別、語音識別、自然語言處理等領(lǐng)域具有重要意義。本文將從卷積操作
    的頭像 發(fā)表于 07-04 16:10 ?2419次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)示例

    分類。 1. 卷積神經(jīng)網(wǎng)絡(luò)的基本概念 1.1 卷積層(Convolutional Layer) 卷積層是CNN中的核心組件,用于提取圖像特征。卷積
    的頭像 發(fā)表于 07-03 10:51 ?783次閱讀

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

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

    卷積神經(jīng)網(wǎng)絡(luò)分類方法有哪些

    ,包括基本原理、常見架構(gòu)、優(yōu)化策略、應(yīng)用場景等。 1. 卷積神經(jīng)網(wǎng)絡(luò)的基本原理 卷積神經(jīng)網(wǎng)絡(luò)是一種前饋神經(jīng)網(wǎng)絡(luò),其核心思想是通過
    的頭像 發(fā)表于 07-03 09:40 ?1002次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)和工作原理

    和工作原理。 1. 引言 在深度學(xué)習(xí)領(lǐng)域,卷積神經(jīng)網(wǎng)絡(luò)是一種非常重要的模型。它通過模擬人類視覺系統(tǒng),能夠自動學(xué)習(xí)圖像中的特征,從而實現(xiàn)對圖像的識別和分類。與傳統(tǒng)的機器學(xué)習(xí)方法相比,CNN具有更強的特征提取能力,能夠處理更復(fù)雜的數(shù)
    的頭像 發(fā)表于 07-03 09:38 ?1661次閱讀

    cnn卷積神經(jīng)網(wǎng)絡(luò)分類有哪些

    卷積神經(jīng)網(wǎng)絡(luò)概述 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,簡稱CNN)是一種深度學(xué)習(xí)模型,由多層卷積層和池
    的頭像 發(fā)表于 07-03 09:28 ?1434次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的是什么

    、訓(xùn)練過程以及應(yīng)用場景。 1. 卷積神經(jīng)網(wǎng)絡(luò)的基本概念 1.1 卷積神經(jīng)網(wǎng)絡(luò)的定義 卷積神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-03 09:15 ?925次閱讀