91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

本篇目錄

1. 內存占用

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

1.2 Zynq的BRAM內存大小

1.3 一個卷積操作占用的內存

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

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

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

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

4. Virtex-7高端FPGA概覽、7系列FPGA相關文檔

正文

0Zynq7000系列概覽

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

1內存占用

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

參閱xilinx文檔UG998

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

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

寄存器:最快的內存結構,集成在在運算單元之中,獲取不需要額外的時延。

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

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

BRAM:集成在FPGA fabric模塊中的RAM,每個xilinx的FPGA中集成有多個這樣的BRAM??梢员划斪饔幸韵绿匦缘腸ache:1.不支持像處理器cache中那樣的緩存一致性(cache coherency,collision),不支持處理器中的一些邏輯類型。2.只在設備有電時保持內存。3.不同的BRAM塊可以同時傳輸數(shù)據(jù)。

1.2 Zynq的BRAM內存大小

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 一個卷積操作占用的內存

例如,我們實現(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)絡的加速器。

PipeCNN解析文檔:

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

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高很多)

硬件資源可以被三個宏調控,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)絡的方法

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

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

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

方案二:用FPGA調用DDR

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

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

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

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

缺點:速度較慢

4Virtex-7高端FPGA概覽

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

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

7系列FPGA相關文檔:

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

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

文章出處:【微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    1660

    文章

    22415

    瀏覽量

    636569
  • 神經(jīng)網(wǎng)絡

    關注

    42

    文章

    4838

    瀏覽量

    107844

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    網(wǎng)絡接口到 DMA,一套面向工程師的 FPGA 網(wǎng)絡開發(fā)框架

    Development Kit,是由 Liberouter 研究團隊開發(fā)的一套框架,用于在 FPGA 加速快速實現(xiàn)高性能網(wǎng)絡應用。它并
    的頭像 發(fā)表于 02-12 11:28 ?329次閱讀
    從<b class='flag-5'>網(wǎng)絡</b>接口到 DMA,一套面向工程師的 <b class='flag-5'>FPGA</b> <b class='flag-5'>網(wǎng)絡</b>開發(fā)框架

    何用FPGA控制ADV7513實現(xiàn)HDMI畫面顯示和音頻播放

    HDMI接口顯示使用DMT時序+TMDS編碼來實現(xiàn)。當用FPGA控制HDMI的數(shù)據(jù)傳輸時,通??梢圆捎眉僐TL實現(xiàn)TMDS算法或者使用專門的HDMI芯片(如ADV7513)這兩種方案來完成。本文主要是介紹如
    的頭像 發(fā)表于 12-02 11:05 ?6820次閱讀
    如<b class='flag-5'>何用</b><b class='flag-5'>FPGA</b>控制ADV7513<b class='flag-5'>實現(xiàn)</b>HDMI畫面顯示和音頻播放

    自動駕駛中常提的卷積神經(jīng)網(wǎng)絡是個啥?

    在自動駕駛領域,經(jīng)常會聽到卷積神經(jīng)網(wǎng)絡技術。卷積神經(jīng)網(wǎng)絡,簡稱為CNN,是一種專門用來處理網(wǎng)格狀數(shù)據(jù)(比如圖像)的深度學習模型。CNN在圖像處理中尤其常見,因為圖像本身就可以看作是由像
    的頭像 發(fā)表于 11-19 18:15 ?2086次閱讀
    自動駕駛中常提的<b class='flag-5'>卷積</b>神經(jīng)<b class='flag-5'>網(wǎng)絡</b>是個啥?

    一些神經(jīng)網(wǎng)絡加速器的設計優(yōu)化方案

    特征圖保留不變,完成和所有相關卷積核點積以后再加載,最多復用 R*R*M 次。 3.不同網(wǎng)絡模型的效果 如圖所示,后者相對于前者,減少了連線資源和復雜度。 4.DNN加速器空間架構片
    發(fā)表于 10-31 07:14

    CNN卷積神經(jīng)網(wǎng)絡設計原理及在MCU200T仿真測試

    CNN算法簡介 我們硬件加速器的模型為Lenet-5的變型,網(wǎng)絡粗略分共有7層,細分共有13層。包括卷積,最大池化層,激活層,扁平層,全連接層。下面是各層作用介紹: 卷積層:提取
    發(fā)表于 10-29 07:49

    NMSIS神經(jīng)網(wǎng)絡庫使用介紹

    NMSIS NN 軟件庫是一組高效的神經(jīng)網(wǎng)絡內核,旨在最大限度地提高 Nuclei N 處理器內核的神經(jīng)網(wǎng)絡的性能并最??大限度地減少其內存占用。 該庫分為多個功能,每個功能涵蓋特定類別
    發(fā)表于 10-29 06:08

    卷積運算分析

    的數(shù)據(jù),故設計了ConvUnit模塊實現(xiàn)單個感受域規(guī)模的卷積運算. 卷積運算:不同于數(shù)學當中提及到的卷積概念,CNN神經(jīng)網(wǎng)絡中的
    發(fā)表于 10-28 07:31

    如何利用Verilog HDL在FPGA實現(xiàn)SRAM的讀寫測試

    本篇將詳細介紹如何利用Verilog HDL在FPGA實現(xiàn)SRAM的讀寫測試。SRAM是一種非易失性存儲器,具有高速讀取和寫入的特點。在FPGA
    的頭像 發(fā)表于 10-22 17:21 ?4367次閱讀
    如何利用Verilog HDL在<b class='flag-5'>FPGA</b><b class='flag-5'>上</b><b class='flag-5'>實現(xiàn)</b>SRAM的讀寫測試

    如何通過地址生成器實現(xiàn)神經(jīng)網(wǎng)絡特征圖的padding?

    對于SiamFC網(wǎng)絡結構,我們設計的卷積核寬度為3*3,卷積步長為1,則經(jīng)卷積過后,特征圖寬度會減少2,為了滿足我們所設計的pe陣列的計算要求,則需要對輸出特征圖外圍進行補零處理,以擴
    發(fā)表于 10-22 08:15

    CICC2033神經(jīng)網(wǎng)絡部署相關操作

    在完成神經(jīng)網(wǎng)絡量化后,需要將神經(jīng)網(wǎng)絡部署到硬件加速。首先需要將所有權重數(shù)據(jù)以及輸入數(shù)據(jù)導入到存儲器內。 在仿真環(huán)境下,可將其存于一個文件,并在 Verilog 代碼中通過 read
    發(fā)表于 10-20 08:00

    何用FPGA實現(xiàn)4K視頻的輸入輸出與處理

    在游戲、影視和顯示領域,4K 已經(jīng)成為標配。而今天,我們就來聊聊——如何用 FPGA 實現(xiàn) 4K 視頻的輸入輸出與處理。
    的頭像 發(fā)表于 10-15 10:47 ?2142次閱讀
    如<b class='flag-5'>何用</b><b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>4K視頻的輸入輸出與處理

    全球應用加速服務如何實現(xiàn)?網(wǎng)絡服務推薦排行榜

    和提高訪問速度,同時提供安全防護和負載均衡功能。本文將深入解析全球應用加速服務的實現(xiàn)方式,并為您呈現(xiàn)2025年網(wǎng)絡服務提供商排行榜。一、全球應用加速服務的
    的頭像 發(fā)表于 09-10 09:48 ?1869次閱讀
    全球應用<b class='flag-5'>加速</b>服務如何<b class='flag-5'>實現(xiàn)</b>?<b class='flag-5'>網(wǎng)絡</b>服務推薦排行榜

    何用SDWAN實現(xiàn)國際網(wǎng)絡加速網(wǎng)絡服務推薦排行榜

    前言全球化業(yè)務加速與多云架構普及的背景下,跨境SD-WAN已成為企業(yè)構建彈性網(wǎng)絡的核心基礎設施,選對服務商成了成功關鍵。在全球化業(yè)務加速與多云架構普及的背景下,跨境SD-WAN已成為企業(yè)構建彈性
    的頭像 發(fā)表于 09-09 11:04 ?1147次閱讀
    如<b class='flag-5'>何用</b>SDWAN<b class='flag-5'>實現(xiàn)</b>國際<b class='flag-5'>網(wǎng)絡</b><b class='flag-5'>加速</b>?<b class='flag-5'>網(wǎng)絡</b>服務推薦排行榜

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

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

    何用幾條命令搞定Ubuntu系統(tǒng)的網(wǎng)絡配置

    在某些場景下,設備沒有顯示器或屏可以用,這時候通過命令行來設置網(wǎng)絡就變得特別重要了。本文將介紹如何用幾條命令搞定Ubuntu系統(tǒng)的網(wǎng)絡配置。
    的頭像 發(fā)表于 03-14 10:53 ?3833次閱讀
    如<b class='flag-5'>何用</b>幾條命令搞定Ubuntu系統(tǒng)的<b class='flag-5'>網(wǎng)絡</b>配置