国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

使用Trace View對對Kernel進行性能仿真分析

FPGA技術驛站 ? 來源:TeacherGaoFPGAHub ? 作者:TeacherGaoFPGAHub ? 2022-03-15 15:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

kernel 2有兩個輸入和一個輸出。兩個輸入均來自于kernel 1的兩個輸出。由于kernel 1輸出采用了stream和window,因此,這里的輸入也對應使用stream和window訪問方式。然后將讀取的數據相加,再把結果寫入到window。

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

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

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

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

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

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

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

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

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

點擊default.aierun_summary,將會打開Vitis Analyzer,在這個視圖下選擇Trace即可看到kernel的執行情況。

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

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

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

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

標記1:

Tile 24_0 DMA s2mm通道0啟動。獲取buf0(ping)的lock信號,將數據由PL傳送給buf0。

標記2:

Tile 24_0 DMA s2mm通過1啟動。獲取buf0d(pong)的lock信號,將數據由PL傳送給buf0d。

標記3a:

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

標記3b:

kernel aie_dest1獲取輸出buffer buf1的lock信號。

標記4a:

aie_dest1獲取了buf0和buf1的lock信號,開始啟動工作。

標記4b:

一旦Tile 24_0 DMA s2mm通道1完成,則切換到通道0。這時aie_dest1仍然在讀buf0,只有當其釋放了buf0的lock信號,Tile 24_0 DMA s2mm通道0才可以啟動數據傳輸。

標記5:

一旦aie_dest1執行結束,它就會釋放buf1,這樣kernel aie_dest2就會捕獲buf1的lock信號。

標記6a:

aie_dest2獲取buf1的lock信號之后就開始啟動工作。

標記6b:

aie_dest1獲取buf0d的lock信號。

標記6c:

aie_dest1獲取buf1d的lock信號。

標記7:

aie_dest1在獲取buf0d和buf1d的lock信號之后開始啟動工作。

標記8:

aie_dest1完成執行,釋放buf1d。aie_dest2獲取buf1d的lock信號。

標記9:

aie_dest2獲取buf1d的lock信號之后,開始啟動工作。

注:stream接口不需要lock信號。每個lock的獲取和釋放都需要一些時鐘周期的開銷。

責任編輯:gt

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

    關注

    0

    文章

    96

    瀏覽量

    38082
  • 代碼
    +關注

    關注

    30

    文章

    4968

    瀏覽量

    73960

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

文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Inline Hook Syscall詳解

    在安全、性能分析等領域,經常會需要對系統調用syscall進行hook。有些模塊在kernel代碼中已經預先hook,例如syscall trace
    的頭像 發表于 06-16 10:32 ?3961次閱讀

    c6678使用Hardware trace analyzer的問題

    大家好, 我現在使用TI的EVM667BL進行開發測試,目前想使用hardware trace analyzer進行一些分析。使用ETB進行
    發表于 08-06 09:27

    IAR EWARM的SWO Trace調試功能

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

    使用IAR ETM Trace調試功能的要求

    TPIU進行輸出,跟蹤數據通過硬件仿真器傳輸到PC端的調試器軟件例如IAR中,IAR能夠對這些跟蹤數據進行解析并還原出MCU內部的指令執行情況。由于具有完整的指令流數據的記錄,ETM Trac
    發表于 03-05 14:49

    怎樣通過trace生成系統cpu的loading圖

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

    SYSTEM VIEW教材

    SYSTEM VIEW教材 SYSTEM VIEW是一個用于現代工程與科學系統設計及仿真的動態系統分析平臺。
    發表于 04-10 11:08 ?32次下載

    trace32仿真器使用教程

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

    ADAMS/view虛擬樣機仿真分析資料下載

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

    如何使用Systemview實現對QPSK系統進行仿真分析

    Systemview 是一種基于wi ndows 平臺對系統進行設計、仿真分析的EDA 軟件。本文介紹了在S ystemview 平臺下利用其圖形模塊構建QPSK系統,并用分析窗和信
    發表于 01-17 13:39 ?14次下載
    如何使用Systemview實現對QPSK系統<b class='flag-5'>進行</b><b class='flag-5'>仿真</b>與<b class='flag-5'>分析</b>

    如何使用System view數字調制進行眼圖分析

    通過課程設計,鞏固已經學過的有關數字調制系統的知識,加深對知識的理解和應用,學會用system view軟件工具對通信系統進行仿真
    發表于 01-23 15:21 ?17次下載
    如何使用System <b class='flag-5'>view</b>數字調制<b class='flag-5'>進行</b>眼圖<b class='flag-5'>分析</b>

    關于Trace32forRT-Thread的簡述與使用

    Trace32 是由德國 Lauterbach 公司研制開發的一款仿真測試工具。Trace32 作為一種真正集成化、通用性系統仿真器可以組合成多種方案,可以支持網絡方案、實驗室單機方案
    的頭像 發表于 04-28 10:59 ?5045次閱讀
    關于<b class='flag-5'>Trace</b>32forRT-Thread的簡述與使用

    Linux ftrace工具抓 i2c trace

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

    如何對基于μTraceTrace32的LPC86x進行邊界掃描

    電子發燒友網站提供《如何對基于μTraceTrace32的LPC86x進行邊界掃描.pdf》資料免費下載
    發表于 08-17 10:22 ?7次下載
    如何對基于μ<b class='flag-5'>Trace</b>和<b class='flag-5'>Trace</b>32的LPC86x<b class='flag-5'>進行</b>邊界掃描

    使用Percepio View免費跟蹤工具分析Zephyr應用

    Percepio View免費跟蹤工具現在可以針對Zephyr應用程序進行跟蹤和可視化分析了。Percepio View可以幫助開發人員理解和調試Zephyr中的固定優先級的多線程行為
    的頭像 發表于 05-27 15:08 ?788次閱讀
    使用Percepio <b class='flag-5'>View</b>免費跟蹤工具<b class='flag-5'>分析</b>Zephyr應用

    Linux性能分析實戰:用trace揪出卡頓、高CPU的“真兇”

    做 Linux 開發或運維的你,是否常被這些問題困擾:服務突然卡頓卻找不到根源,CPU 占用率飆升但查不到 “罪魁禍首”,系統響應變慢卻摸不清瓶頸?其實,Linux 內核早已為我們準備了 “透視鏡”——trace 跟蹤技術,今天就手把手教你從生成 trace 文件到可視化
    的頭像 發表于 02-03 15:24 ?300次閱讀
    Linux<b class='flag-5'>性能</b><b class='flag-5'>分析</b>實戰:用<b class='flag-5'>trace</b>揪出卡頓、高CPU的“真兇”