在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

閑談Vitis AI|DPU在UltraScale平臺(tái)下的軟硬件流程(1)

XILINX開發(fā)者社區(qū) ? 來源:XILINX開發(fā)者社區(qū) ? 作者:陸禹帆 ? 2022-12-21 10:15 ? 次閱讀

前言

本篇中,我想跳過一些細(xì)枝末節(jié), 先簡(jiǎn)單介紹 AMD Xilinx Vitis AI 在 Zynq 這個(gè)硬件加速平臺(tái)下軟硬件開發(fā)的基本思路和流程,把各個(gè)開發(fā)流程和工具分開,幫助剛剛接觸Vitis/Vitis AI的同學(xué)快速找到學(xué)習(xí)和開發(fā)的方向。

為什么不用其他NPU平臺(tái)?

在使用Xilinx DPU來對(duì)我們的AI應(yīng)用進(jìn)行加速之前,我們應(yīng)該明確一個(gè)問題:為什么我們需要使用Zynq 這樣一個(gè)硬件結(jié)構(gòu),而不是使用一些專用NPU芯片 (比如NV的嵌入式開發(fā)板) 來進(jìn)行加速?

我個(gè)人認(rèn)為, FPGA最大的優(yōu)勢(shì)還是其對(duì)于特定應(yīng)用的定制化和可重構(gòu)能力(這是FPGA相對(duì)于其他類型芯片最大的不同,同時(shí)也是FPGA最具魅力的地方)。這種特性使得我們可以集中有限的硬件資源來動(dòng)態(tài)的配置各種定制化應(yīng)用,實(shí)現(xiàn)局部的高性能,達(dá)到四兩撥千斤的效果。

舉個(gè)例子:如果我們的在運(yùn)行AI算法時(shí),如果CPU執(zhí)行預(yù)處理速度太慢,我們就可以自己設(shè)計(jì)自己的專用硬件來執(zhí)行縮放,裁剪和卷積操作。如果我們的視頻編解碼太慢,我們也可以使用專用的IP來進(jìn)行編解碼。同樣的功能,在非FPGA的平臺(tái)上使用CPU來執(zhí)行時(shí)往往速度感人

搭建一個(gè)AI加速系統(tǒng)的必要步驟

正因如此,在使用 Vitis AI 的時(shí)候,我們其實(shí)是想要定制自己的硬件結(jié)構(gòu)和AI模型的。要達(dá)成這個(gè)目標(biāo),我們會(huì)有一連串的問題需要解決:

1. 首先,硬件加速系統(tǒng)的第一步當(dāng)然就是加速模塊設(shè)計(jì)(verilog或者HLS),沒有加速模塊,那我們的硬件加速的系統(tǒng)就是空談。在Vitis AI中,主要是指DPU和預(yù)處理等加速模塊。這個(gè)部分的重點(diǎn)是數(shù)字前端設(shè)計(jì)和算法設(shè)計(jì)。

2. 完成硬件設(shè)計(jì)之后,我們會(huì)遇到第二個(gè)問題,部署硬件模塊。與任何的SoC設(shè)計(jì)類似,如果我們想要在軟件系統(tǒng)中正確的調(diào)度我們的子模塊,我們?cè)谟布讓泳托枰押侠淼胤峙渚€路、內(nèi)存、帶寬,正確地設(shè)計(jì)時(shí)鐘、地址、中斷等等。這個(gè)部分需要著重考慮的是SoC硬件系統(tǒng)設(shè)計(jì)。

3. 由于Vitis AI需要在linux環(huán)境下使用,因此僅僅完成硬件設(shè)計(jì)還是不夠的。我們必須要想辦法讓一個(gè) linux系統(tǒng)運(yùn)行在我們的硬件平臺(tái)上,識(shí)別到我們的加速模塊。也就是說我們需要針對(duì)我們的硬件平臺(tái)編譯一個(gè)Linux系統(tǒng)。其實(shí)核心就是提前告訴操作系統(tǒng),你需要從哪里取地址,執(zhí)行什么樣的操作。在這個(gè)階段就進(jìn)入了嵌入式工程師的領(lǐng)域。

4. 光有系統(tǒng)還不行,我們需要為linux下的APP提供一套環(huán)境。和Standalone程序有所不同,在Linux系統(tǒng)中,我們通常不會(huì)在使用直接訪問地址的方式來操作加速器(除非加速器的操作和地址設(shè)計(jì)非常簡(jiǎn)單)。因此開發(fā)一個(gè)中間層和驅(qū)動(dòng)層也是有必要的。在Vitis AI中,在這個(gè)部分由AMD Xilinx提供,我們?cè)趯?shí)際的流程中幾乎看不到這個(gè)部分。(如果你想要開發(fā)一個(gè)私有硬件加速框架,就需要考慮這部分了)。

5. 當(dāng)我們完成了上面所有的硬件,軟件,平臺(tái)和環(huán)境之后。我們其實(shí)才到最后一步:AI應(yīng)用的開發(fā)。在上一步我們已經(jīng)通過驅(qū)動(dòng)和接口層把軟件和硬件進(jìn)行了隔離。因此,在這個(gè)階段我們本質(zhì)上就是在一塊專用NPU芯片上開發(fā)AI程序。總的來說,我們大概需要解決以下幾個(gè)問題:

訓(xùn)練模型(在模型設(shè)計(jì)階段就需要考慮算子是否能夠被硬件支持的問題)

轉(zhuǎn)換模型。通常加速器是不能直接運(yùn)行tf之類模型的(有些平臺(tái)可以直接運(yùn)行,可能是由驅(qū)動(dòng)中間層實(shí)現(xiàn)的隱式的轉(zhuǎn)換,個(gè)人水平有限此處不展開了討論),因此我們需要把AI網(wǎng)絡(luò)轉(zhuǎn)換成硬件能夠運(yùn)行的執(zhí)行文件。其實(shí)就是把模型轉(zhuǎn)換成加速器硬件看得懂的一組操作。在Vitis AI 中,我們需要把tf pt等框架的模型轉(zhuǎn)換成xmodel文件。

實(shí)現(xiàn)具體的加速程序,也就是在我們的程序中正確的調(diào)用各種加速器,來加速我們的APP。

其實(shí)我們問題總結(jié)一下,我們就得到了Vitis AI下搭建一個(gè)系統(tǒng)所需要的基本思路(如圖所示)。

325757b8-8056-11ed-8abf-dac502259ad0.jpg

注意:此處框圖列出的思路和實(shí)際的步驟有一點(diǎn)區(qū)別,為了大家理解我做了一點(diǎn)簡(jiǎn)化,此處僅僅體現(xiàn)我們從零開始搭建一個(gè)系統(tǒng)的通用思想。實(shí)際的步驟和工具的使用會(huì)在后續(xù)博客中詳細(xì)的介紹。

327bd3d6-8056-11ed-8abf-dac502259ad0.jpg

這里其實(shí)還是需要強(qiáng)調(diào)下,雖然我列出了很多步驟,但是并不是說每一步都需要我們獨(dú)立完成。在真實(shí)的項(xiàng)目中,整個(gè)開發(fā)流程通常需要一個(gè)團(tuán)隊(duì)來完成。上圖是AMD Xilinx的官方的圖,展示了 Vitis AI流程下需要的工程師角色和開發(fā)的方向。這些角色的工作其實(shí)是相對(duì)獨(dú)立的。通常而言,我們只需要在官方工程的基礎(chǔ)上,根據(jù)我們的需求來重新開發(fā)我們需要的部分就好。例如,如果你僅需要修改AI模型,我們完全可以跳過硬件設(shè)計(jì)部分,直接使用AMD Xilinx幫我們?cè)O(shè)計(jì)好的平臺(tái)。如果你只需要改硬件,你也可以使用官方的程序,跳過AI訓(xùn)練的步驟。

關(guān)于AMD Xilinx的軟件工具,開發(fā)環(huán)境

下面我們來聊一聊VitisAI需要的開發(fā)工具和開發(fā)環(huán)境。對(duì)于Vitis AI開發(fā)來說,我主要用到的開發(fā)工具就是 Vivado (HLS) / Petalinux / Vitis / Vitis AI。由于工具的名字比較多,這里我把對(duì)應(yīng)的工具和對(duì)應(yīng)的開發(fā)方向做一個(gè)簡(jiǎn)單的介紹,方便大家快速找到自己需要的工具。

硬件

如果你是一個(gè)傳統(tǒng)FPGAer,那一定不需要我來介紹Vivado這個(gè)工具了。Vivado作為來設(shè)計(jì)數(shù)字電路和硬件系統(tǒng)的專用開發(fā)工具,基本上是人手必備了。我我唯一想要提醒的是,基于Vitis的流程來開發(fā)你的加速器時(shí),我更推薦使用Linux開發(fā)環(huán)境,而不是Window。一個(gè)經(jīng)典的 Ubuntu 16.4.4 系統(tǒng)作為開發(fā)環(huán)境,可以節(jié)約我們很多寶貴的時(shí)間。

329a4050-8056-11ed-8abf-dac502259ad0.jpg

Vivado的BlockDesign是很Vitis流程中很常用的功能之一

嵌入式、硬件、軟件

Petalinux是 ZynqMP系列官方工程原配的系統(tǒng),雖然理論上很多芯片已經(jīng)可以運(yùn)行Ubuntu 和 pynq,但是想要深入官方的工程,Petalinux還是不得不品嘗的。Petalinux準(zhǔn)確的來說其實(shí)是整套Linux的開發(fā)工具,而不僅僅是單純系統(tǒng)本身。舉個(gè)例子:在用Petalinux自動(dòng)化生成設(shè)備樹,一般說的是在我們的開發(fā)環(huán)境(比如Ubuntu中)使用Petalinux工具來生成。Petalinux本身是需要安裝的,也沒有任何的GUI環(huán)境,因此對(duì)于新手有一定難度。但是想要開發(fā)一個(gè)屬于自己的動(dòng)態(tài)可加載的加速應(yīng)用(例如,KV260的動(dòng)態(tài)加載的APP模式),Petalinux的流程是必須的。我打算日后單獨(dú)來聊一聊。

32b7668a-8056-11ed-8abf-dac502259ad0.jpg

Petalinux還可以配置FPGA特定的功能和應(yīng)用

由于名字類似,Vitis 和 Vitis AI 恐怕最最令人迷惑的兩個(gè)工具了。實(shí)際上,這兩個(gè)工具是兩個(gè)完全不同的東西。Vitis 其實(shí)是一個(gè)集成開發(fā)環(huán)境,有安裝包,有GUI,它和Vivado有點(diǎn)類似(這個(gè)軟件改名叫Vitis SDK或許更合適)。在目前的流程中,Vitis主要用來開發(fā)嵌入式程序(C)和集成加速器(Verilog/HLS)。后面這部分似乎與Vivado類似,在Vitis中加入這部分的原因,主要是考慮到,Vivado不能很方便的進(jìn)行軟件聯(lián)調(diào)。參考上面的流程圖,實(shí)際設(shè)計(jì)中我們?nèi)绻瓿?a target="_blank">嵌入式軟件后想要修改硬件,就需要返回到Vivado中重新設(shè)計(jì),重新使用Petalinux工具編譯,最后修改軟件。這個(gè)流程經(jīng)過好幾個(gè)軟件,可以說非常痛苦的。Vitis的流程很好的解決這個(gè)問題。在Vitis中,我們可以很方便的重新連接IP端口,修改IP數(shù)量。硬件的編譯,系統(tǒng)的修改,都可以由Vitis自動(dòng)完成(其實(shí)Vitis在后臺(tái)調(diào)用的還是Vivado的命令)。當(dāng)然,Vitis會(huì)限制我們對(duì)于硬件平臺(tái)的修改,也不能完整編譯Petalinux,因此具體流程中我們需要三個(gè)軟件配合才能讓其流暢的工作。具體的流程,我會(huì)在后續(xù)的博客中具體的分析。

32e86d2a-8056-11ed-8abf-dac502259ad0.jpg

Vitis有不少老工具的既視感

AI

最后讓我們來談?wù)刅itis AI。如果你不知道Vitis AI是什么,請(qǐng)記住,其實(shí)Vitis AI不是一個(gè)軟件而是一套給 AI開發(fā)者的工具腳本環(huán)境樣例的集合。像所有的github項(xiàng)目一樣,Vitis AI不需要安裝,下載Vitis AI只需要找到項(xiàng)目地址,然后根據(jù)README下載和配置即可。

假設(shè)你是一個(gè)純AI的開發(fā)者想要玩Vitis AI,其實(shí)你并不需要去管Vivado、petalinux、Vitis這種工具。因?yàn)锳I幾乎是一個(gè)純軟件的部分。如果你只是先要運(yùn)行一個(gè)基本的demo,你需要做的只是找到Vitis AI項(xiàng)目地址,clone,然后打開Vitis AI 的toturial。至于嵌入式系統(tǒng),加速器硬件,你只需要下載一個(gè)官方編譯好的系統(tǒng),燒錄進(jìn)SD卡,最后打開開發(fā)板。你就會(huì)發(fā)現(xiàn),系統(tǒng),環(huán)境,加速器,都已經(jīng)準(zhǔn)備好了。您的開發(fā)工作僅僅就參考我上圖的流程中AI的部分(嵌入式以上的部分就好)。

3304aa58-8056-11ed-8abf-dac502259ad0.jpg

Vitis AI是一個(gè)Github的項(xiàng)目

小結(jié)

本篇主要是閑談個(gè)人對(duì)于Vitis AI的整個(gè)開發(fā)流程的理解,主要是想幫助一下新手快速找到一個(gè)開發(fā)目標(biāo),不至于迷失在大量的工具的方向中。后續(xù)的博客中,我會(huì)繼續(xù)嘗試介紹一些開發(fā)流程中的細(xì)節(jié)。

審核編輯:湯梓紅

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

    關(guān)注

    71

    文章

    2171

    瀏覽量

    122148
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    31536

    瀏覽量

    270344
  • DPU
    DPU
    +關(guān)注

    關(guān)注

    0

    文章

    368

    瀏覽量

    24260
  • UltraScale
    +關(guān)注

    關(guān)注

    0

    文章

    118

    瀏覽量

    31521
  • Vitis
    +關(guān)注

    關(guān)注

    0

    文章

    147

    瀏覽量

    7499

原文標(biāo)題:閑談 Vitis AI | DPU 在 UltraScale 平臺(tái)下的軟硬件流程 (1)

文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【米爾FZ3深度學(xué)習(xí)計(jì)算卡試用體驗(yàn)】搭建Vitis Ai系統(tǒng)平臺(tái)并測(cè)試

    1 Vitis AiVitis? AI 開發(fā)環(huán)境是 Xilinx 的開發(fā)平臺(tái),適用于 Xilinx
    發(fā)表于 12-03 19:22

    【米爾FZ3深度學(xué)習(xí)計(jì)算卡試用體驗(yàn)】DPU搭建

    設(shè)計(jì)公司,如今Xilinx中使用的深度學(xué)習(xí)技術(shù)——DPU就是該公司設(shè)計(jì)的黑盒子,能夠靈活的配置DPU的屬性,大大的節(jié)省了開發(fā)周期,充錢的半年甚至以上,現(xiàn)在可能不要半個(gè)月即可實(shí)現(xiàn)。如圖是DPU
    發(fā)表于 12-10 15:23

    【米爾百度大腦EdgeBoard邊緣AI計(jì)算盒試用連載】IV. FZ5-DPU@2020.2(ZMJ)

    參考Vitis-AI(v1.2)EdgeBoard-FZ5C上部署B(yǎng)4096DPU,完成DPU自檢。//------Vitis-AI(v1
    發(fā)表于 04-16 17:09

    Vitis AI Model Zone軟件平臺(tái)具備哪些功能?

    Vitis AI Model Zone軟件平臺(tái)具備哪些功能?Vitis AI Model Zone軟件
    發(fā)表于 07-09 06:44

    DNW下載的軟硬件流程是如何去完成的

    DNW下載的軟硬件流程是如何去完成的?怎樣去下載DNW的軟硬件呢?有哪些下載步驟?
    發(fā)表于 12-24 08:01

    ultrascale+上利用VCU和DPU實(shí)現(xiàn)的智能零售系統(tǒng)

    DPU推理代碼編譯好的文件tfssdtest.so已經(jīng)demo/,可以跳過這一步,直接使用提供的文件。1.設(shè)置主機(jī)按照Xilinx/Vitis-AI-Library上的步驟操作2.交
    發(fā)表于 02-20 17:35

    阿里平頭哥發(fā)布首個(gè) RISC-V AI 軟硬全棧平臺(tái)

    平臺(tái)通過軟硬件深度協(xié)同,較經(jīng)典方案提升超 8 成性能,支持運(yùn)行 170 余個(gè)主流 AI 模型,推動(dòng) RISC-V 進(jìn)入高性能 AI 應(yīng)用時(shí)代。 平頭哥表示,他們通過更新自研一站式
    發(fā)表于 08-26 14:14

    【KV260視覺入門套件試用體驗(yàn)】Vitis AI 初次體驗(yàn)

    一、基礎(chǔ)環(huán)境 硬件:KV260視覺入門套件 攝像頭:???20P USB攝像頭(因?yàn)椴渴?b class='flag-5'>Vitis AI之后懶得poweroff插MIPI camera了,直接USB上) 軟件:Ubuntu
    發(fā)表于 09-10 13:15

    【KV260視覺入門套件試用體驗(yàn)】部署DPU鏡像并運(yùn)行Vitis AI圖像分類示例程序

    本文首先將會(huì)對(duì)Vitis統(tǒng)一軟件平臺(tái)和Vitsi AI進(jìn)行簡(jiǎn)單介紹,然后介紹如何在KV260上部署DPU鏡像,最后KV260
    發(fā)表于 09-10 23:01

    【KV260視覺入門套件試用體驗(yàn)】Vitis-AI加速的YOLOX視頻目標(biāo)檢測(cè)示例體驗(yàn)和原理解析

    示例體驗(yàn) 參考此前的帖子:【KV260視覺入門套件試用體驗(yàn)】部署DPU鏡像并運(yùn)行Vitis AI圖像分類示例程序 - 智能硬件論壇 - 電子技術(shù)論壇 - 廣受歡迎的專業(yè)電子論
    發(fā)表于 10-06 23:32

    【KV260視覺入門套件試用體驗(yàn)】Vitis AI 構(gòu)建開發(fā)環(huán)境,并使用inspector檢查模型

    支持。需要做的不只是執(zhí)行幾條命令,還需要了解賽靈思硬件平臺(tái)的特點(diǎn),選擇合適的模型和框架,使用 Vitis AI 提供的工具和庫(kù)進(jìn)行優(yōu)化和編譯,最后
    發(fā)表于 10-14 15:34

    單片機(jī)測(cè)控系統(tǒng)的軟硬件平臺(tái)技術(shù)

    本文探討了一種用于工業(yè)測(cè)控系統(tǒng)的單片機(jī)軟硬件綜合設(shè)計(jì)方法——軟硬件平臺(tái)技術(shù),重點(diǎn)闡述了其基本原理、設(shè)計(jì)思想、實(shí)現(xiàn)方法,并給出了一個(gè)單片機(jī)測(cè)控系統(tǒng)軟硬件開發(fā)
    發(fā)表于 08-13 09:38 ?12次下載

    基于FPGA芯片的軟硬件平臺(tái)的使用

    基于FPGA芯片的軟硬件平臺(tái)的使用
    發(fā)表于 07-01 09:35 ?20次下載

    賽靈思FPGA SoC平臺(tái)上使用VITIS AI加速人工智能應(yīng)用

      VITIS 是一個(gè)用于開發(fā)軟件和硬件的統(tǒng)一軟件平臺(tái),將 Vivado 和其他組件用于 Xilinx FPGA SoC 平臺(tái),如 ZynqMP U
    的頭像 發(fā)表于 11-22 14:48 ?2198次閱讀

    軟硬件融合的概念和內(nèi)涵

    跟很多朋友交流,當(dāng)提到軟硬件融合的時(shí)候,他們會(huì)這么說:“軟硬件融合,難道不是顯而易見嗎?我感覺二三十年前就已經(jīng)有這個(gè)概念了。”在他們的想法里,其實(shí):軟硬件融合等同于
    的頭像 發(fā)表于 10-17 14:36 ?1666次閱讀
    <b class='flag-5'>軟硬件</b>融合的概念和內(nèi)涵
    主站蜘蛛池模板: 色成人免费网站 | 毛片在线不卡 | 男人j进入女人j视频大全 | 亚洲国产午夜看片 | 欧美成人观看免费全部完小说 | 免费播放欧美毛片欧美aaaaa | 四虎永久在线观看免费网站网址 | 1024手机免费看片 | 天天综合色天天综合 | 男人都懂的网址在线看片 | 成人午夜视频免费看欧美 | 日本女人啪啪 | 日本一区二区三区不卡在线视频 | 日韩高清性爽一级毛片免费 | 亚洲一区二区三区免费看 | 中文字幕精品一区影音先锋 | 美女一级一级毛片 | 欧美色图狠狠干 | 精品精品国产高清a毛片牛牛 | 国产一级特黄aa大片爽爽 | 日本高清色视频在线观看免费 | 911国产自产精选 | 拍拍拍无挡视频免费全程1000 | 欧美色惰aⅴ| 亚洲综合色一区二区三区小说 | 黄色a毛片| 深夜网站免费 | 91午夜剧场 | 扒开双腿爽爽爽视频www | 1024你懂的国产欧美日韩在 | 香港经典a毛片免费观看爽爽影院 | 福利视频亚洲 | xxxx黄色| 女张腿男人桶羞羞漫画 | 国产色视频一区 | 国产91色综合久久免费分享 | 天堂亚洲网 | 最新色视频 | 午夜骚 | 午夜看片影院在线观看 | 日日干天天爽 |