那曲檬骨新材料有限公司

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

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

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

使用Trace View對(duì)對(duì)Kernel進(jìn)行性能仿真分析

FPGA技術(shù)驛站 ? 來(lái)源:TeacherGaoFPGAHub ? 作者:TeacherGaoFPGAHub ? 2022-03-15 15:30 ? 次閱讀

對(duì)Kernel進(jìn)行性能分析需要對(duì)其進(jìn)行仿真,同時(shí)還要用到Vitis Analyzer。為便于說(shuō)明,我們以一個(gè)簡(jiǎn)單的Vitis工程為例。這個(gè)工程中有兩個(gè)kernel,相應(yīng)的代碼如下圖所示。 kernel 1有一個(gè)輸入兩個(gè)輸出。輸入使用window訪問(wèn)方式。讀取數(shù)據(jù)后將數(shù)據(jù)分別寫入到stream和window(本地Memory)。事實(shí)上,寫入到stream和window的數(shù)據(jù)是相同的。代碼第15行通過(guò)noinline使得工具在編譯過(guò)程中保持當(dāng)前kernel層次。

5952cfe2-92b7-11ec-952b-dac502259ad0.png

kernel 2有兩個(gè)輸入和一個(gè)輸出。兩個(gè)輸入均來(lái)自于kernel 1的兩個(gè)輸出。由于kernel 1輸出采用了stream和window,因此,這里的輸入也對(duì)應(yīng)使用stream和window訪問(wèn)方式。然后將讀取的數(shù)據(jù)相加,再把結(jié)果寫入到window。

596ca278-92b7-11ec-952b-dac502259ad0.png

kernel之間的連接關(guān)系體現(xiàn)在graph中,如下圖所示。代碼第22行和第24行分別聲明了輸入和輸出端口,plio表明端口在PL側(cè)。換言之,若為輸入,則輸入數(shù)據(jù)由PL側(cè)提供,若為輸出,則輸出數(shù)據(jù)會(huì)到達(dá)PL側(cè)。代碼第27行使用了數(shù)組方式聲明了兩個(gè)kernel。代碼第36行和第37行分別創(chuàng)建了graph輸入/輸出端口,指定其位寬為32位(plio_32_bits)。代碼第42行至45行將graph輸入/輸出端口以及兩個(gè)kernel連接起來(lái)。代碼第46行表明在net1(stream)上使用FIFO,其深度為32。實(shí)際上這個(gè)FIFO就在AXI Interconnect上。

598df7de-92b7-11ec-952b-dac502259ad0.png

59b1095e-92b7-11ec-952b-dac502259ad0.png

我們可以借助Trace View觀察每個(gè)kernel的執(zhí)行狀況,這就需要在仿真時(shí)生成vcd文件。生成vcd文件需要兩部設(shè)置,如下圖所示。

59deecb6-92b7-11ec-952b-dac502259ad0.png

5a012f06-92b7-11ec-952b-dac502259ad0.png

最終會(huì)生成vcd文件,其文件目錄如下圖所示。

5a310db6-92b7-11ec-952b-dac502259ad0.png

點(diǎn)擊default.aierun_summary,將會(huì)打開(kāi)Vitis Analyzer,在這個(gè)視圖下選擇Trace即可看到kernel的執(zhí)行情況。

5a4a0f78-92b7-11ec-952b-dac502259ad0.png

5a64199a-92b7-11ec-952b-dac502259ad0.png

Trace view如下圖所示。從圖中可以看到一些具體的事件。

5a895aa2-92b7-11ec-952b-dac502259ad0.png

標(biāo)記1:

Tile 24_0 DMA s2mm通道0啟動(dòng)。獲取buf0(ping)的lock信號(hào),將數(shù)據(jù)由PL傳送給buf0。

標(biāo)記2:

Tile 24_0 DMA s2mm通過(guò)1啟動(dòng)。獲取buf0d(pong)的lock信號(hào),將數(shù)據(jù)由PL傳送給buf0d。

標(biāo)記3a:

kernel aie_dest1獲取輸入buffer buf0的lock信號(hào)(在圖中顯示為read lock allocated)。

標(biāo)記3b:

kernel aie_dest1獲取輸出buffer buf1的lock信號(hào)。

標(biāo)記4a:

aie_dest1獲取了buf0和buf1的lock信號(hào),開(kāi)始啟動(dòng)工作。

標(biāo)記4b:

一旦Tile 24_0 DMA s2mm通道1完成,則切換到通道0。這時(shí)aie_dest1仍然在讀buf0,只有當(dāng)其釋放了buf0的lock信號(hào),Tile 24_0 DMA s2mm通道0才可以啟動(dòng)數(shù)據(jù)傳輸。

標(biāo)記5:

一旦aie_dest1執(zhí)行結(jié)束,它就會(huì)釋放buf1,這樣kernel aie_dest2就會(huì)捕獲buf1的lock信號(hào)。

標(biāo)記6a:

aie_dest2獲取buf1的lock信號(hào)之后就開(kāi)始啟動(dòng)工作。

標(biāo)記6b:

aie_dest1獲取buf0d的lock信號(hào)。

標(biāo)記6c:

aie_dest1獲取buf1d的lock信號(hào)。

標(biāo)記7:

aie_dest1在獲取buf0d和buf1d的lock信號(hào)之后開(kāi)始啟動(dòng)工作。

標(biāo)記8:

aie_dest1完成執(zhí)行,釋放buf1d。aie_dest2獲取buf1d的lock信號(hào)。

標(biāo)記9:

aie_dest2獲取buf1d的lock信號(hào)之后,開(kāi)始啟動(dòng)工作。

注:stream接口不需要lock信號(hào)。每個(gè)lock的獲取和釋放都需要一些時(shí)鐘周期的開(kāi)銷。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • Window
    +關(guān)注

    關(guān)注

    0

    文章

    82

    瀏覽量

    37305
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4827

    瀏覽量

    69054

原文標(biāo)題:AIE(10)—使用Trace View

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Inline Hook Syscall詳解

    在安全、性能分析等領(lǐng)域,經(jīng)常會(huì)需要對(duì)系統(tǒng)調(diào)用syscall進(jìn)行hook。有些模塊在kernel代碼中已經(jīng)預(yù)先hook,例如syscall trace
    的頭像 發(fā)表于 06-16 10:32 ?3248次閱讀

    c6678使用Hardware trace analyzer的問(wèn)題

    大家好, 我現(xiàn)在使用TI的EVM667BL進(jìn)行開(kāi)發(fā)測(cè)試,目前想使用hardware trace analyzer進(jìn)行一些分析。使用ETB進(jìn)行
    發(fā)表于 08-06 09:27

    (原創(chuàng))Spectrum View功能:示波器上的頻域分析利器

    除了具有采集信號(hào)的基本功能,還可以對(duì)信號(hào)進(jìn)行FFT變換得到頻譜,從而兼具頻譜分析功能。幾乎所有的中高端示波器均支持FFT頻譜分析。安泰將要介紹的頻譜分析功能——Spectrum
    發(fā)表于 10-09 15:25

    IAR EWARM的SWO Trace調(diào)試功能

    Trace功能,其內(nèi)置了DWT,ITM((Instrument Trace Macrocell)等單元。ITM的一個(gè)主要的用途,就是支持信息的輸出。此外DWT還會(huì)跟蹤中斷的進(jìn)入和退出,對(duì)PC計(jì)數(shù)器進(jìn)行
    發(fā)表于 11-10 13:36

    使用IAR ETM Trace調(diào)試功能的要求

    TPIU進(jìn)行輸出,跟蹤數(shù)據(jù)通過(guò)硬件仿真器傳輸?shù)絇C端的調(diào)試器軟件例如IAR中,IAR能夠?qū)@些跟蹤數(shù)據(jù)進(jìn)行解析并還原出MCU內(nèi)部的指令執(zhí)行情況。由于具有完整的指令流數(shù)據(jù)的記錄,ETM Trac
    發(fā)表于 03-05 14:49

    怎樣通過(guò)trace生成系統(tǒng)cpu的loading圖

    /enable[root@k8s-node2 ~]# cat /sys/kernel/debug/tracing/tracetrace trace_clock trace_markertrace_marker_raw
    發(fā)表于 06-28 09:05

    對(duì)電動(dòng)機(jī)幾種降壓?jiǎn)?dòng)進(jìn)行建模及仿真分析

    1引言Matlab是一種高性能的數(shù)值計(jì)算機(jī)和可視化功能的軟件。可以利用Matlab中Simulink的可視化仿真工具,將電動(dòng)機(jī)控制利用模塊連接起來(lái),構(gòu)成復(fù)雜的系統(tǒng)模型,并進(jìn)行仿真
    發(fā)表于 09-06 06:19

    SYSTEM VIEW教材

    SYSTEM VIEW教材 SYSTEM VIEW是一個(gè)用于現(xiàn)代工程與科學(xué)系統(tǒng)設(shè)計(jì)及仿真的動(dòng)態(tài)系統(tǒng)分析平臺(tái)。
    發(fā)表于 04-10 11:08 ?32次下載

    trace32仿真器使用教程

    trace32仿真器使用教程 大概介紹一下實(shí)現(xiàn)的具體原理,首先要有一塊可用的目標(biāo)板,我選用的是SMDK2410 評(píng)估板。編譯環(huán)境是在虛擬VMware+RedHat9.0,調(diào)試環(huán)境
    發(fā)表于 05-17 16:23 ?0次下載

    ADAMS/view虛擬樣機(jī)仿真分析資料下載

    ADAMS/view虛擬樣機(jī)仿真分析資料下載
    發(fā)表于 03-30 15:22 ?9次下載

    如何使用Systemview實(shí)現(xiàn)對(duì)QPSK系統(tǒng)進(jìn)行仿真分析

    Systemview 是一種基于wi ndows 平臺(tái)對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)、仿真分析的EDA 軟件。本文介紹了在S ystemview 平臺(tái)下利用其圖形模塊構(gòu)建QPSK系統(tǒng),并用分析窗和信
    發(fā)表于 01-17 13:39 ?14次下載
    如何使用Systemview實(shí)現(xiàn)對(duì)QPSK系統(tǒng)<b class='flag-5'>進(jìn)行</b><b class='flag-5'>仿真</b>與<b class='flag-5'>分析</b>

    如何使用System view數(shù)字調(diào)制進(jìn)行眼圖分析

    通過(guò)課程設(shè)計(jì),鞏固已經(jīng)學(xué)過(guò)的有關(guān)數(shù)字調(diào)制系統(tǒng)的知識(shí),加深對(duì)知識(shí)的理解和應(yīng)用,學(xué)會(huì)用system view軟件工具對(duì)通信系統(tǒng)進(jìn)行仿真
    發(fā)表于 01-23 15:21 ?17次下載
    如何使用System <b class='flag-5'>view</b>數(shù)字調(diào)制<b class='flag-5'>進(jìn)行</b>眼圖<b class='flag-5'>分析</b>

    關(guān)于Trace32forRT-Thread的簡(jiǎn)述與使用

    Trace32 是由德國(guó) Lauterbach 公司研制開(kāi)發(fā)的一款仿真測(cè)試工具。Trace32 作為一種真正集成化、通用性系統(tǒng)仿真器可以組合成多種方案,可以支持網(wǎng)絡(luò)方案、實(shí)驗(yàn)室單機(jī)方案
    的頭像 發(fā)表于 04-28 10:59 ?3410次閱讀
    關(guān)于<b class='flag-5'>Trace</b>32forRT-Thread的簡(jiǎn)述與使用

    Linux ftrace工具抓 i2c trace

    抓 i2c trace adb rootecho nop > /sys/ kernel/debug/tracing/current_tracer //清空以前的跟蹤信息 echo 1 > /sys
    的頭像 發(fā)表于 07-20 11:23 ?1316次閱讀
    Linux ftrace工具抓 i2c <b class='flag-5'>trace</b>

    如何對(duì)基于μTraceTrace32的LPC86x進(jìn)行邊界掃描

    電子發(fā)燒友網(wǎng)站提供《如何對(duì)基于μTraceTrace32的LPC86x進(jìn)行邊界掃描.pdf》資料免費(fèi)下載
    發(fā)表于 08-17 10:22 ?4次下載
    如何對(duì)基于μ<b class='flag-5'>Trace</b>和<b class='flag-5'>Trace</b>32的LPC86x<b class='flag-5'>進(jìn)行</b>邊界掃描
    百家乐如何投注技巧| 大连娱网棋牌打滚子| 万龙百家乐官网的玩法技巧和规则 | 百家乐官网注册彩金| 保单百家乐游戏机厂家| 百家乐官网百家乐官网游戏| 免邮百家乐布桌| 大玩家百家乐官网的玩法技巧和规则 | 老K| 百家乐赌场合作| A8百家乐官网娱乐网| 京城娱乐城| 百家乐如何骗人| 菲律宾百家乐官网娱乐场| 六合彩投注网| 百家乐能作弊吗| 速博娱乐| 尊龙百家乐娱乐| 圣淘沙百家乐官网的玩法技巧和规则| 水果机遥控器多少钱| 百家乐赌场老千| 玩百家乐官网去哪个平台好| 棋牌游戏大厅| 自贡百家乐赌场| 电脑版百家乐官网分析仪| 鸿运国际娱乐城| 大赢家百家乐的玩法技巧和规则| 聚宝盆百家乐官网的玩法技巧和规则| 明陞M88| 凯发百家乐是否是程序控制| 百家乐官网免费下| 百家乐官网视频麻将| 大发888娱乐城送58| 百家乐龙虎台布| 安徽省| 网上赌百家乐的玩法技巧和规则| 百家乐官网乐翻天| 百家乐官网哪条路好| 大发888游戏官方下载客户端 | 安阳市| bet365提款多久到账|