Intel VTune 訪存分析

Intel VTune 訪存分析

1. Intel VTune簡介

Intel VTune Amplifier 是一款用於分析軟件性能的商業軟件,它分析的軟件是基於32位或64位的x86構架,有圖形界面和命令行兩種操作方式。VTune有windows、linux和mac版本,有收費的,試用的,免費的。詳情請看這裏

2. 優化方法

Intel VTune提供以下幾種方法進行程序的優化分析:
* Analyzing Application Performance with Hardware Event-based Stack Sampling
* Locating Inefficient Synchronization
* Tuning Applications Using a Top-down Microarchitecture Analysis Method
* Identifying OS Thread Migration Using Intel® VTune™ Amplifier
* Analyzing Applications Using Intel® HD Graphics
* Analyzing MPI Applications
* Vectorization Advisor

3. Intel VTune使用

3.1 VTune 安裝

3.1.1 下載

這裏下載vtune_amplifier_xe_2016_update2.tar.gz。下載前需要註冊賬號並登陸。

3.1.2 安裝

  • 解壓,並進入./vtune_amplifier_xe_2016_update2目錄
  • 執行./install.sh,需用root權限。
    默認的安裝目錄是:/opt/intel/vtune_amplifier_xe_2016

3.1.3 設置環境變量

csh/tcsh 用戶: # source <install_dir>/amplxe-vars.csh
bash     用戶: # source <install_dir>/amplxe-vars.sh

3.2. 訪存分析

3.2.1 執行命令

# amplxe-cl -c memory-access -knob analyze-mem-objects=true -data-limit=0 \
-d 60 --  ./a.out
# amplxe-cl  -report summary

3.2.2 與訪存有關的事件

這裏列出了CPU記錄的所有事件。

事件 含義
INST_RETIRED.ANY 指令執行的計數
CPU_CLK_UNHALTED.THREAD 非停機狀態花費的機器週期計數
CYCLE_ACTIVITY.STALLS_L1D_PENDING 由一級緩存缺失導致的執行受阻的機器週期計數
CYCLE_ACTIVITY.CYCLES_NO_EXECUTE 所有執行受阻的機器週期計數
CYCLE_ACTIVITY.STALLS_L2_PENDING 由二級緩存缺失導致的執行受阻的機器週期計數
CYCLE_ACTIVITY.STALLS_LDM_PENDIN 所有因內存原因而執行受阻的機器週期計數
MEM_TRANS_RETIRED.LOAD_LATENCY_GT_4 載入內存數據延時超過4個時鐘週期的計數
MEM_LOAD_UOPS_RETIRED.LLC_MISS_PS 內存數據載入過程中三級緩存缺失的計數
MEM_UOPS_RETIRED.ALL_LOADS_PS 內存數據載入微操作的計數
MEM_UOPS_RETIRED.ALL_STORES_PS 內存數據存儲微操作的計數
MEM_LOAD_UOPS_RETIRED.LLC_HIT_PS 三級緩存命中的微操作的計數
MEM_LOAD_UOPS_LLC_MISS_RETIRED.LOCAL_DRAM 三級緩存缺失且從本地內存得到數據的載入微操作的計數
MEM_LOAD_UOPS_LLC_MISS_RETIRED.REMOTE_DRAM 三級緩存缺失且從遠端內存得到數據的載入微操作的計數
MEM_LOAD_UOPS_LLC_MISS_RETIRED.REMOTE_HITM 三級緩存缺失且從遠端緩存得到數據的載入微操作的計數
MEM_LOAD_UOPS_LLC_MISS_RETIRED.REMOTE_FWD 三級緩存缺失且通過遠端緩存轉發而得到數據的載入微操作的計數
Total_Latency_MEM_UOPS_RETIRED.ALL_LOADS_PS 數據載入微操作產生的全部延時
Total_Latency_MEM_TRANS_RETIRED.LOAD_LATENCY_GT_4 由延時超過4個時鐘週期的數據載入微操作產生的全部延時
Total_Latency_MEM_UOPS_RETIRED.ALL_STORES_PS 數據存儲微操作產生的全部延時
Total_Latency_MEM_LOAD_UOPS_RETIRED.LLC_HIT_PS 三級緩存命中的數據載入微操作產生的全部延時
Total_Latency_MEM_LOAD_UOPS_RETIRED.LLC_MISS_PS 三級緩存缺失的數據載入微操作產生的全部延時

部分事件的含義可能理解的有錯誤,歡迎指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章