Intel VTune Amplifier 是一款用于分析软件性能的商业软件,它分析的软件是基于32位或64位的x86构架,有图形界面和命令行两种操作方式。VTune有windows、linux和mac版本,有收费的,试用的,免费的。详情请看这里。
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
在这里下载vtune_amplifier_xe_2016_update2.tar.gz。下载前需要注册账号并登陆。
csh/tcsh 用户: # source <install_dir>/amplxe-vars.csh
bash 用户: # source <install_dir>/amplxe-vars.sh
# amplxe-cl -c memory-access -knob analyze-mem-objects=true -data-limit=0 \
-d 60 -- ./a.out
# amplxe-cl -report summary
这里列出了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 | 三级缓存缺失的数据载入微操作产生的全部延时 |
部分事件的含义可能理解的有错误,欢迎指正。