<metricname="TA_BUSY_avr"expr=avr(TA_TA_BUSY,16)descr="TA block is busy. Average over TA instances."></metric>
<metricname="TA_BUSY_max"expr=max(TA_TA_BUSY,16)descr="TA block is busy. Max over TA instances."></metric>
<metricname="TA_BUSY_min"expr=min(TA_TA_BUSY,16)descr="TA block is busy. Min over TA instances."></metric>
<metricname="TA_FLAT_READ_WAVEFRONTS_sum"expr=sum(TA_FLAT_READ_WAVEFRONTS,16)descr="Number of flat opcode reads processed by the TA. Sum over TA instances."></metric>
<metricname="TA_FLAT_WRITE_WAVEFRONTS_sum"expr=sum(TA_FLAT_WRITE_WAVEFRONTS,16)descr="Number of flat opcode writes processed by the TA. Sum over TA instances."></metric>
<metricname="TCC_HIT_sum"expr=sum(TCC_HIT,16)descr="Number of cache hits. Sum over TCC instances."></metric>
<metricname="TCC_MISS_sum"expr=sum(TCC_MISS,16)descr="Number of cache misses. Sum over TCC instances."></metric>
<metricname="TCC_MC_RDREQ_sum"expr=sum(TCC_MC_RDREQ,16)descr="Number of 32-byte reads. Sum over TCC instaces."></metric>
<metricname="TCC_MC_WRREQ_sum"expr=sum(TCC_MC_WRREQ,16)descr="Number of 32-byte transactions going over the TC_MC_wrreq interface. Sum over TCC instaces."></metric>
<metricname="TCC_WRREQ_STALL_max"expr=max(TCC_MC_WRREQ_STALL,16)descr="Number of cycles a write request was stalled. Max over TCC instances."></metric>
<metricname="FETCH_SIZE"expr=(TCC_MC_RDREQ_sum*32)/1024descr="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>
<metricname="WRITE_SIZE"expr=(TCC_MC_WRREQ_sum*32)/1024descr="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>
<metricname="TA_BUSY_avr"expr=avr(TA_TA_BUSY,16)descr="TA block is busy. Average over TA instances."></metric>
<metricname="TA_BUSY_max"expr=max(TA_TA_BUSY,16)descr="TA block is busy. Max over TA instances."></metric>
<metricname="TA_BUSY_min"expr=min(TA_TA_BUSY,16)descr="TA block is busy. Min over TA instances."></metric>
<metricname="TA_FLAT_READ_WAVEFRONTS_sum"expr=sum(TA_FLAT_READ_WAVEFRONTS,16)descr="Number of flat opcode reads processed by the TA. Sum over TA instances."></metric>
<metricname="TA_FLAT_WRITE_WAVEFRONTS_sum"expr=sum(TA_FLAT_WRITE_WAVEFRONTS,16)descr="Number of flat opcode writes processed by the TA. Sum over TA instances."></metric>
<metricname="TCC_HIT_sum"expr=sum(TCC_HIT,16)descr="Number of cache hits. Sum over TCC instances."></metric>
<metricname="TCC_MISS_sum"expr=sum(TCC_MISS,16)descr="Number of cache misses. Sum over TCC instances."></metric>
<metricname="TCC_EA_RDREQ_32B_sum"expr=sum(TCC_EA_RDREQ_32B,16)descr="Number of 32-byte TCC/EA read requests. Sum over TCC instances."></metric>
<metricname="TCC_EA_RDREQ_sum"expr=sum(TCC_EA_RDREQ,16)descr="Number of TCC/EA read requests (either 32-byte or 64-byte). Sum over TCC instances."></metric>
<metricname="TCC_EA_WRREQ_sum"expr=sum(TCC_EA_WRREQ,16)descr="Number of transactions (either 32-byte or 64-byte) going over the TC_EA_wrreq interface. Sum over TCC instances."></metric>
<metricname="TCC_EA_WRREQ_64B_sum"expr=sum(TCC_EA_WRREQ_64B,16)descr="Number of 64-byte transactions going (64-byte write or CMPSWAP) over the TC_EA_wrreq interface. Sum over TCC instances."></metric>
<metricname="TCC_WRREQ_STALL_max"expr=max(TCC_EA_WRREQ_STALL,16)descr="Number of cycles a write request was stalled. Max over TCC instances."></metric>
<metricname="FETCH_SIZE"expr=(TCC_EA_RDREQ_32B_sum*32+(TCC_EA_RDREQ_sum-TCC_EA_RDREQ_32B_sum)*64)/1024descr="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>
<metricname="WRITE_SIZE"expr=((TCC_EA_WRREQ_sum-TCC_EA_WRREQ_64B_sum)*32+TCC_EA_WRREQ_64B_sum*64)/1024descr="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>
<metricname="WRITE_REQ_32B"expr=TCC_EA_WRREQ_64B_sum*2+(TCC_EA_WRREQ_sum-TCC_EA_WRREQ_64B_sum)descr="The total number of 32-byte effective memory writes."></metric>
<metricname="TCC_EA1_RDREQ_32B_sum"expr=sum(TCC_EA1_RDREQ_32B,16)descr="Number of 32-byte TCC/EA read requests. Sum over TCC EA1s."></metric>
<metricname="TCC_EA1_RDREQ_sum"expr=sum(TCC_EA1_RDREQ,16)descr="Number of TCC/EA read requests (either 32-byte or 64-byte). Sum over TCC EA1s."></metric>
<metricname="TCC_EA1_WRREQ_sum"expr=sum(TCC_EA1_WRREQ,16)descr="Number of transactions (either 32-byte or 64-byte) going over the TC_EA_wrreq interface. Sum over TCC EA1s."></metric>
<metricname="TCC_EA1_WRREQ_64B_sum"expr=sum(TCC_EA1_WRREQ_64B,16)descr="Number of 64-byte transactions going (64-byte write or CMPSWAP) over the TC_EA_wrreq interface. Sum over TCC EA1s."></metric>
<metricname="TCC_WRREQ1_STALL_max"expr=max(TCC_EA1_WRREQ_STALL,16)descr="Number of cycles a write request was stalled. Max over TCC instances."></metric>
<metricname="RDATA1_SIZE"expr=(TCC_EA1_RDREQ_32B_sum*32+(TCC_EA1_RDREQ_sum-TCC_EA1_RDREQ_32B_sum)*64)descr="The total kilobytes fetched from the video memory. This is measured on EA1s."></metric>
<metricname="WDATA1_SIZE"expr=((TCC_EA1_WRREQ_sum-TCC_EA1_WRREQ_64B_sum)*32+TCC_EA1_WRREQ_64B_sum*64)descr="The total kilobytes written to the video memory. This is measured on EA1s."></metric>
# both EA0 and EA1 should be included
<metricname="FETCH_SIZE"expr=(TCC_EA_RDREQ_32B_sum*32+(TCC_EA_RDREQ_sum-TCC_EA_RDREQ_32B_sum)*64+RDATA1_SIZE)/1024descr="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>
<metricname="WRITE_SIZE"expr=((TCC_EA_WRREQ_sum-TCC_EA_WRREQ_64B_sum)*32+TCC_EA_WRREQ_64B_sum*64+WDATA1_SIZE)/1024descr="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>
<metricname="WRITE_REQ_32B"expr=(TCC_EA_WRREQ_sum-TCC_EA_WRREQ_64B_sum)+(TCC_EA1_WRREQ_sum-TCC_EA1_WRREQ_64B_sum)+(TCC_EA_WRREQ_64B_sum+TCC_EA1_WRREQ_64B_sum)*2descr="The total number of 32-byte effective memory writes."></metric>
</gfx906_expr>
<gfx908_exprbase="gfx9_expr">
<metricname="TCC_HIT_sum"expr=sum(TCC_HIT,32)descr="Number of cache hits. Sum over TCC instances."></metric>
<metricname="TCC_MISS_sum"expr=sum(TCC_MISS,32)descr="Number of cache misses. Sum over TCC instances."></metric>
<metricname="TCC_EA_RDREQ_32B_sum"expr=sum(TCC_EA_RDREQ_32B,32)descr="Number of 32-byte TCC/EA read requests. Sum over TCC instances."></metric>
<metricname="TCC_EA_RDREQ_sum"expr=sum(TCC_EA_RDREQ,32)descr="Number of TCC/EA read requests (either 32-byte or 64-byte). Sum over TCC instances."></metric>
<metricname="TCC_EA_WRREQ_sum"expr=sum(TCC_EA_WRREQ,32)descr="Number of transactions (either 32-byte or 64-byte) going over the TC_EA_wrreq interface. Sum over TCC instances."></metric>
<metricname="TCC_EA_WRREQ_64B_sum"expr=sum(TCC_EA_WRREQ_64B,32)descr="Number of 64-byte transactions going (64-byte write or CMPSWAP) over the TC_EA_wrreq interface. Sum over TCC instances."></metric>
<metricname="TCC_WRREQ_STALL_max"expr=max(TCC_EA_WRREQ_STALL,32)descr="Number of cycles a write request was stalled. Max over TCC instances."></metric>
# 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.
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."
# 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.
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."
# 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.
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."
# 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.
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."
# 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)."
# 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.
# 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."
# 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)."
# 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)."
# ALUStalledByLDS 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).
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)."