Files
rocm-systems/test/metrics.xml
T

206 lines
11 KiB
XML
Raw Normal View History

2018-02-27 13:32:11 -06:00
#include "gfx_metrics.xml"
2018-02-19 18:50:28 -06:00
2018-02-27 13:32:11 -06:00
<gfx8>
# average for 16 instances
<metric name="TA_BUSY_avr" expr=avr(TA_TA_BUSY,16) ></metric>
<metric name="TA_BUSY_max" expr=max(TA_TA_BUSY,16) ></metric>
<metric name="TA_BUSY_min" expr=min(TA_TA_BUSY,16) ></metric>
2018-02-01 14:52:21 -06:00
# sum for 16 instances
<metric name="TA_FLAT_READ_WAVEFRONTS_sum" expr=sum(TA_FLAT_READ_WAVEFRONTS,16) ></metric>
<metric name="TA_FLAT_WRITE_WAVEFRONTS_sum" expr=sum(TA_FLAT_WRITE_WAVEFRONTS,16) ></metric>
<metric name="TCC_HIT_sum" expr=sum(TCC_HIT,16) ></metric>
<metric name="TCC_MISS_sum" expr=sum(TCC_MISS,16) ></metric>
<metric name="TCC_MC_RDREQ_sum" expr=sum(TCC_MC_RDREQ,16) ></metric>
2018-02-27 13:32:11 -06:00
<metric name="TCC_MC_WRREQ_sum" expr=sum(TCC_MC_WRREQ,16) ></metric>
<metric name="TCC_WRREQ_STALL_max" expr=max(TCC_MC_WRREQ_STALL,16) ></metric>
2017-11-11 11:32:24 -06:00
# FETCH_SIZE, kilobytes
# The total kilobytes fetched from the video memory. This is measured with all extra fetches and any cache or memory effects taken into account.
2018-02-27 13:32:11 -06:00
<metric name="FETCH_SIZE" expr=(TCC_MC_RDREQ_sum*32)/1024 ></metric>
# WRITE_SIZE
# The total kilobytes written to the video memory. This is measured with all extra fetches and any cache or memory effects taken into account.
<metric name="WRITE_SIZE" expr=(TCC_MC_WRREQ_sum*32)/1024 ></metric>
2017-11-09 17:26:19 -06:00
</gfx8>
2017-11-11 11:32:24 -06:00
<gfx9>
2018-02-27 13:32:11 -06:00
# average for 16 instances
<metric name="TA_BUSY_avr" expr=avr(TA_TA_BUSY,16) ></metric>
<metric name="TA_BUSY_max" expr=max(TA_TA_BUSY,16) ></metric>
<metric name="TA_BUSY_min" expr=min(TA_TA_BUSY,16) ></metric>
2018-02-01 14:52:21 -06:00
# sum for 16 instances
<metric name="TA_FLAT_READ_WAVEFRONTS_sum" expr=sum(TA_FLAT_READ_WAVEFRONTS,16) ></metric>
<metric name="TA_FLAT_WRITE_WAVEFRONTS_sum" expr=sum(TA_FLAT_WRITE_WAVEFRONTS,16) ></metric>
2018-02-08 13:31:43 -06:00
<metric name="TCC_HIT_sum" expr=sum(TCC_HIT,16) ></metric>
<metric name="TCC_MISS_sum" expr=sum(TCC_MISS,16) ></metric>
2018-02-19 18:50:28 -06:00
<metric name="TCC_EA_RDREQ_32B_sum" expr=sum(TCC_EA_RDREQ_32B,16) ></metric>
2018-02-27 13:32:11 -06:00
<metric name="TCC_EA_RDREQ_sum" expr=sum(TCC_EA_RDREQ,16) ></metric>
<metric name="TCC_EA_WRREQ_sum" expr=sum(TCC_EA_WRREQ,16) ></metric>
<metric name="TCC_EA_WRREQ_64B_sum" expr=sum(TCC_EA_WRREQ_64B,16) ></metric>
<metric name="TCC_WRREQ_STALL_max" expr=max(TCC_EA_WRREQ_STALL,16) ></metric>
2018-02-01 14:52:21 -06:00
# FETCH_SIZE, kilobytes
# The total kilobytes fetched from the video memory. This is measured with all extra fetches and any cache or memory effects taken into account.
2018-02-27 13:32:11 -06:00
<metric name="FETCH_SIZE" expr=(TCC_EA_RDREQ_32B_sum*32+(TCC_EA_RDREQ_sum-TCC_EA_RDREQ_32B_sum)*64)/1024 ></metric>
# WRITE_SIZE
# The total kilobytes written to the video memory. This is measured with all extra fetches and any cache or memory effects taken into account.
<metric name="WRITE_SIZE" expr=((TCC_EA_WRREQ_sum-TCC_EA_WRREQ_64B_sum)*32+TCC_EA_WRREQ_64B_sum*64)/1024 ></metric>
2018-02-01 14:52:21 -06:00
</gfx9>
<global>
2018-02-27 13:32:11 -06:00
# GPUBusy, percentage
2018-02-01 14:52:21 -06:00
# The percentage of time GPU was busy.
2017-11-11 11:32:24 -06:00
<metric
2018-02-07 09:41:17 -06:00
name="GPUBusy"
2018-02-19 18:50:28 -06:00
descr="The percentage of time GPU was busy."
2018-02-27 13:32:11 -06:00
expr=100*GRBM_GUI_ACTIVE/GRBM_COUNT
2017-11-11 11:32:24 -06:00
></metric>
2018-02-01 14:52:21 -06:00
# Wavefronts Total wavefronts.,
2017-11-11 11:32:24 -06:00
<metric
2018-02-01 14:52:21 -06:00
name="Wavefronts"
2018-02-19 18:50:28 -06:00
descr="Total wavefronts."
2018-02-27 13:32:11 -06:00
expr=SQ_WAVES
2017-11-11 11:32:24 -06:00
></metric>
2018-02-01 14:52:21 -06:00
# VALUInsts The average number of vector ALU instructions executed per work-item (affected by flow control).
2017-11-11 11:32:24 -06:00
<metric
2018-02-01 14:52:21 -06:00
name="VALUInsts"
2018-02-19 18:50:28 -06:00
descr="The average number of vector ALU instructions executed per work-item (affected by flow control)."
2018-02-27 13:32:11 -06:00
expr=SQ_INSTS_VALU/SQ_WAVES
2017-11-11 11:32:24 -06:00
></metric>
2018-02-01 14:52:21 -06:00
# SALUInsts The average number of scalar ALU instructions executed per work-item (affected by flow control).
2017-11-11 11:32:24 -06:00
<metric
2018-02-01 14:52:21 -06:00
name="SALUInsts"
2018-02-19 18:50:28 -06:00
descr="The average number of scalar ALU instructions executed per work-item (affected by flow control)."
2018-02-27 13:32:11 -06:00
expr=SQ_INSTS_SALU/SQ_WAVES
2017-11-11 11:32:24 -06:00
></metric>
2018-02-01 14:52:21 -06:00
# VFetchInsts The average number of vector fetch instructions from the video memory executed per work-item (affected by flow control). Excludes FLAT instructions that fetch from video memory.
2017-11-11 11:32:24 -06:00
<metric
2018-02-01 14:52:21 -06:00
name="VFetchInsts"
2018-02-19 18:50:28 -06:00
descr="The average number of vector fetch instructions from the video memory executed per work-item (affected by flow control). Excludes FLAT instructions that fetch from video memory."
2018-02-27 13:32:11 -06:00
expr=(SQ_INSTS_VMEM_RD-TA_FLAT_READ_WAVEFRONTS_sum)/SQ_WAVES
2017-11-11 11:32:24 -06:00
></metric>
2018-02-01 14:52:21 -06:00
# SFetchInsts The average number of scalar fetch instructions from the video memory executed per work-item (affected by flow control).
<metric
name="SFetchInsts"
2018-02-19 18:50:28 -06:00
descr="The average number of scalar fetch instructions from the video memory executed per work-item (affected by flow control)."
2018-02-27 13:32:11 -06:00
expr=SQ_INSTS_SMEM/SQ_WAVES
2018-02-01 14:52:21 -06:00
></metric>
2017-11-11 11:32:24 -06:00
2018-02-01 14:52:21 -06:00
# VWriteInsts The average number of vector write instructions to the video memory executed per work-item (affected by flow control). Excludes FLAT instructions that write to video memory.
<metric
2018-02-07 09:41:17 -06:00
name="VWriteInsts"
2018-02-19 18:50:28 -06:00
descr="The average number of vector write instructions to the video memory executed per work-item (affected by flow control). Excludes FLAT instructions that write to video memory."
2018-02-27 13:32:11 -06:00
expr=(SQ_INSTS_VMEM_WR-TA_FLAT_WRITE_WAVEFRONTS_sum)/SQ_WAVES
2018-02-01 14:52:21 -06:00
></metric>
# FlatVMemInsts The average number of FLAT instructions that read from or write to the video memory executed per work item (affected by flow control). Includes FLAT instructions that read from or write to scratch.
<metric
name="FlatVMemInsts"
2018-02-19 18:50:28 -06:00
descr="The average number of FLAT instructions that read from or write to the video memory executed per work item (affected by flow control). Includes FLAT instructions that read from or write to scratch."
2018-02-27 13:32:11 -06:00
expr=(SQ_INSTS_FLAT-SQ_INSTS_FLAT_LDS_ONLY)/SQ_WAVES
2018-02-01 14:52:21 -06:00
></metric>
# LDSInsts The average number of LDS read or LDS write instructions executed per work item (affected by flow control). Excludes FLAT instructions that read from or write to LDS.
<metric
name="LDSInsts"
2018-02-19 18:50:28 -06:00
descr="The average number of LDS read or LDS write instructions executed per work item (affected by flow control). Excludes FLAT instructions that read from or write to LDS."
2018-02-27 13:32:11 -06:00
expr=(SQ_INSTS_LDS-SQ_INSTS_FLAT_LDS_ONLY)/SQ_WAVES
2018-02-01 14:52:21 -06:00
></metric>
# FlatLDSInsts The average number of FLAT instructions that read or write to LDS executed per work item (affected by flow control).
<metric
name="FlatLDSInsts"
2018-02-19 18:50:28 -06:00
descr="The average number of FLAT instructions that read or write to LDS executed per work item (affected by flow control)."
2018-02-27 13:32:11 -06:00
expr=SQ_INSTS_FLAT_LDS_ONLY/SQ_WAVES
2018-02-01 14:52:21 -06:00
></metric>
# GDSInsts The average number of GDS read or GDS write instructions executed per work item (affected by flow control).
<metric
name="GDSInsts"
2018-02-19 18:50:28 -06:00
descr="The average number of GDS read or GDS write instructions executed per work item (affected by flow control)."
2018-02-27 13:32:11 -06:00
expr=SQ_INSTS_GDS/SQ_WAVES
2018-02-01 14:52:21 -06:00
></metric>
# VALUUtilization The percentage of active vector ALU threads in a wave. A lower number can mean either more thread divergence in a wave or that the work-group size is not a multiple of 64. Value range: 0% (bad), 100% (ideal - no thread divergence).
<metric
name="VALUUtilization"
descr="The percentage of active vector ALU threads in a wave. A lower number can mean either more thread divergence in a wave or that the work-group size is not a multiple of 64. Value range: 0% (bad), 100% (ideal - no thread divergence)."
2018-02-27 13:32:11 -06:00
expr=100*SQ_THREAD_CYCLES_VALU/(SQ_ACTIVE_INST_VALU*MAX_WAVE_SIZE)
2018-02-01 14:52:21 -06:00
></metric>
# VALUBusy The percentage of GPUTime vector ALU instructions are processed. Value range: 0% (bad) to 100% (optimal).
<metric
name="VALUBusy"
descr="The percentage of GPUTime vector ALU instructions are processed. Value range: 0% (bad) to 100% (optimal)."
2018-02-27 13:32:11 -06:00
expr=100*SQ_ACTIVE_INST_VALU*4/SIMD_NUM/GRBM_GUI_ACTIVE
2018-02-01 14:52:21 -06:00
></metric>
# SALUBusy The percentage of GPUTime scalar ALU instructions are processed. Value range: 0% (bad) to 100% (optimal).
<metric
name="SALUBusy"
descr="The percentage of GPUTime scalar ALU instructions are processed. Value range: 0% (bad) to 100% (optimal)."
2018-02-27 13:32:11 -06:00
expr=100*SQ_INST_CYCLES_SALU*4/SIMD_NUM/GRBM_GUI_ACTIVE
2018-02-01 14:52:21 -06:00
></metric>
2017-11-11 11:32:24 -06:00
2018-02-01 14:52:21 -06:00
# FetchSize The total kilobytes fetched from the video memory. This is measured with all extra fetches and any cache or memory effects taken into account.
<metric
name="FetchSize"
2018-02-19 18:50:28 -06:00
descr="The total kilobytes fetched from the video memory. This is measured with all extra fetches and any cache or memory effects taken into account."
2018-02-27 13:32:11 -06:00
expr=FETCH_SIZE
2018-02-01 14:52:21 -06:00
></metric>
2017-11-11 11:32:24 -06:00
2018-02-01 14:52:21 -06:00
# WriteSize The total kilobytes written to the video memory. This is measured with all extra fetches and any cache or memory effects taken into account.
<metric
name="WriteSize"
descr="The total kilobytes written to the video memory. This is measured with all extra fetches and any cache or memory effects taken into account."
2018-02-27 13:32:11 -06:00
expr=WRITE_SIZE
2018-02-01 14:52:21 -06:00
></metric>
2017-11-09 21:51:33 -06:00
2018-02-01 14:52:21 -06:00
# L2CacheHit The percentage of fetch, write, atomic, and other instructions that hit the data in L2 cache. Value range: 0% (no hit) to 100% (optimal).
<metric
name="L2CacheHit"
2018-02-19 18:50:28 -06:00
descr="The percentage of fetch, write, atomic, and other instructions that hit the data in L2 cache. Value range: 0% (no hit) to 100% (optimal)."
2018-02-27 13:32:11 -06:00
expr=100*sum(TCC_HIT,16)/(sum(TCC_HIT,16)+sum(TCC_MISS,16))
2018-02-01 14:52:21 -06:00
></metric>
2017-11-09 22:42:06 -06:00
2018-02-01 14:52:21 -06:00
# MemUnitBusy The percentage of GPUTime the memory unit is active. The result includes the stall time (MemUnitStalled). This is measured with all extra fetches and writes and any cache or memory effects taken into account. Value range: 0% to 100% (fetch-bound).
<metric
name="MemUnitBusy"
descr="The percentage of GPUTime the memory unit is active. The result includes the stall time (MemUnitStalled). This is measured with all extra fetches and writes and any cache or memory effects taken into account. Value range: 0% to 100% (fetch-bound)."
2018-02-27 13:32:11 -06:00
expr=100*max(TA_TA_BUSY,16)/GRBM_GUI_ACTIVE/SE_NUM
2018-02-01 14:52:21 -06:00
></metric>
# MemUnitStalled The percentage of GPUTime the memory unit is stalled. Try reducing the number or size of fetches and writes if possible. Value range: 0% (optimal) to 100% (bad).
<metric
name="MemUnitStalled"
descr="The percentage of GPUTime the memory unit is stalled. Try reducing the number or size of fetches and writes if possible. Value range: 0% (optimal) to 100% (bad)."
expr=100*max(TCP_TA_DATA_STALL_CYCLES,16)/GRBM_GUI_ACTIVE/SE_NUM
2018-02-01 14:52:21 -06:00
></metric>
# WriteUnitStalled The percentage of GPUTime the Write unit is stalled. Value range: 0% to 100% (bad).
<metric
name="WriteUnitStalled"
descr="The percentage of GPUTime the Write unit is stalled. Value range: 0% to 100% (bad)."
2018-02-27 13:32:11 -06:00
expr=100*TCC_WRREQ_STALL_max/GRBM_GUI_ACTIVE
2018-02-01 14:52:21 -06:00
></metric>
# The percentage of GPUTime ALU units are stalled by the LDS input queue being full or the output queue being not ready. If there are LDS bank conflicts, reduce them. Otherwise, try reducing the number of LDS accesses if possible. Value range: 0% (optimal) to 100% (bad).
<metric
name="ALUStalledByLDS"
2018-02-19 18:50:28 -06:00
descr="The percentage of GPUTime ALU units are stalled by the LDS input queue being full or the output queue being not ready. If there are LDS bank conflicts, reduce them. Otherwise, try reducing the number of LDS accesses if possible. Value range: 0% (optimal) to 100% (bad)."
2018-02-27 13:32:11 -06:00
expr=100*SQ_WAIT_INST_LDS*4/SQ_WAVES/GRBM_GUI_ACTIVE
2018-02-01 14:52:21 -06:00
></metric>
# LDSBankConflict The percentage of GPUTime LDS is stalled by bank conflicts. Value range: 0% (optimal) to 100% (bad).
<metric
name="LDSBankConflict"
descr="The percentage of GPUTime LDS is stalled by bank conflicts. Value range: 0% (optimal) to 100% (bad)."
2018-02-27 13:32:11 -06:00
expr=100*SQ_LDS_BANK_CONFLICT/GRBM_GUI_ACTIVE/CU_NUM
2018-02-01 14:52:21 -06:00
></metric>
2017-11-09 22:42:06 -06:00
2017-11-09 17:26:19 -06:00
</global>