Update Unit of Bandwidth metrics to Gbps (#96)

* Add Utilization to metric name for Bandwidth related metrics whose Unit
  is Percent

* Update Unit of Bandwidth metrics to Gbps
    * Update metric Formula to use total duration as denominator instead of normalization unit.
    * Update metric Description
    * Update metric Unit

* Update CHANGELOG
Tá an tiomantas seo le fáil i:
systems-assistant[bot] údaraithe agus GitHub tiomanta 2025-08-06 18:39:50 -04:00
1 tuismitheoir a10d897a69
tiomantas 89c74ac3d3
34 comhad athraithe
+1088 -988

Níor tháinig aon chomhaid le do chuardach

@@ -11,8 +11,12 @@ Panel Config:
instructions, averaged over the lifetime of the kernel. Calculated as the ratio
of the total number of cycles spent by the scheduler issuing LDS instructions
over the total CU cycles.
Theoretical Bandwidth Utilization: Indicates the maximum amount of bytes that
could have been loaded from, stored to, or atomically updated in the LDS divided
as percentage of theoretical peak. Does not take into account the execution
mask of the wavefront when the instruction was executed.
Theoretical Bandwidth: Indicates the maximum amount of bytes that could have been
loaded from, stored to, or atomically updated in the LDS per normalization unit.
loaded from, stored to, or atomically updated in the LDS divided by total duration.
Does not take into account the execution mask of the wavefront when the instruction
was executed.
Bank Conflict Rate: Indicates the percentage of active LDS cycles that were spent
@@ -58,7 +62,7 @@ Panel Config:
Access Rate:
value: AVG(((200 * SQ_ACTIVE_INST_LDS) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)))
unit: Pct of Peak
Theoretical Bandwidth:
Theoretical Bandwidth Utilization:
value: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ (End_Timestamp - Start_Timestamp)) / (($max_sclk * $cu_per_gpu) * 0.00128)))
unit: Pct of Peak
@@ -86,12 +90,12 @@ Panel Config:
unit: (Instr + $normUnit)
Theoretical Bandwidth:
avg: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
/ (End_Timestamp - Start_Timestamp)))
min: MIN(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
/ (End_Timestamp - Start_Timestamp)))
max: MAX(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
unit: (Bytes + $normUnit)
/ (End_Timestamp - Start_Timestamp)))
unit: Gbps
LDS Latency:
avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else
None))
@@ -3,15 +3,18 @@ Panel Config:
id: 1300
title: Instruction Cache
metrics_description:
Bandwidth: The number of bytes looked up in the L1I cache, as a percent of the
peak theoretical bandwidth. Calculated as the ratio of L1I requests over the
total L1I cycles.
Bandwidth Utilization: The number of bytes looked up in the L1I cache, as a percent
of the peak theoretical bandwidth. Calculated as the ratio of L1I requests over
the total L1I cycles.
Cache Hit Rate: The percent of L1I requests that hit [#l1i-cache]_ on a previously
loaded line the cache. Calculated as the ratio of the number of L1I requests
that hit over the number of all L1I requests.
L1I-L2 Bandwidth: "The percent of the peak theoretical L1I \u2192 L2 cache request\
\ bandwidth achieved. Calculated as the ratio of the total number of requests\
\ from the L1I to the L2 cache over the total L1I-L2 interface cycles."
L1I-L2 Bandwidth Utilization: "The percent of the peak theoretical L1I \u2192\
\ L2 cache request bandwidth achieved. Calculated as the ratio of the total\
\ number of requests from the L1I to the L2 cache over the total L1I-L2 interface\
\ cycles."
L1I-L2 Bandwidth: Total number of bytes transferred across L1I - L2 interface
divided by total duration.
Req: The total number of requests made to the L1I per normalization-unit
Hits: The total number of L1I requests that hit on a previously loaded cache line,
per normalization-unit.
@@ -30,7 +33,7 @@ Panel Config:
value: Avg
unit: Unit
metric:
Bandwidth:
Bandwidth Utilization:
value: AVG(((SQC_ICACHE_REQ * 100000) / (($max_sclk * $sqc_per_gpu) * (End_Timestamp
- Start_Timestamp))))
unit: Pct of Peak
@@ -38,7 +41,7 @@ Panel Config:
value: AVG(((SQC_ICACHE_HITS * 100) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES)
+ SQC_ICACHE_MISSES_DUPLICATE)))
unit: Pct of Peak
L1I-L2 Bandwidth:
L1I-L2 Bandwidth Utilization:
value: AVG(((SQC_TC_INST_REQ * 100000) / (2 * ($max_sclk * $sqc_per_gpu)
* (End_Timestamp - Start_Timestamp))))
unit: Pct of Peak
@@ -100,7 +103,7 @@ Panel Config:
unit: Unit
metric:
L1I-L2 Bandwidth:
avg: AVG(((SQC_TC_INST_REQ * 64) / $denom))
min: MIN(((SQC_TC_INST_REQ * 64) / $denom))
max: MAX(((SQC_TC_INST_REQ * 64) / $denom))
unit: (Bytes + $normUnit)
avg: AVG(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
min: MIN(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
max: MAX(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
@@ -3,14 +3,17 @@ Panel Config:
id: 1400
title: Scalar L1 Data Cache
metrics_description:
Bandwidth: The number of bytes looked up in the sL1D cache, as a percent of the
peak theoretical bandwidth. Calculated as the ratio of sL1D requests over the
total sL1D cycles.
Bandwidth Utilization: The number of bytes looked up in the sL1D cache, as a percent
of the peak theoretical bandwidth. Calculated as the ratio of sL1D requests
over the total sL1D cycles.
Cache Hit Rate: Indicates the percent of sL1D requests that hit on a previously
loaded line the cache. The ratio of the number of sL1D requests that hit over
the number of all sL1D requests.
sL1D-L2 BW Utilization: The percentage of the peak theoretical sL1D - L2 interface
bandwidth acheived.\ \ Caclulated as total number of bytes read from, written
to, or atomically updated\ \ across the sL1D - L2 interface.
sL1D-L2 BW: "The total number of bytes read from, written to, or atomically updated\
\ across the sL1D\u2194L2 interface, per normalization unit. Note that sL1D\
\ across the sL1D\u2194L2 interface, divided by total duration. Note that sL1D\
\ writes and atomics are typically unused on current CDNA accelerators, so in\
\ the majority of cases this can be interpreted as an sL1D\u2192L2 read bandwidth."
Req: The total number of requests, of any size or type, made to the sL1D per normalization
@@ -51,7 +54,7 @@ Panel Config:
value: Avg
unit: Unit
metric:
Bandwidth:
Bandwidth Utilization:
value: AVG(((SQC_DCACHE_REQ * 100000) / (($max_sclk * $sqc_per_gpu) * (End_Timestamp
- Start_Timestamp))))
unit: Pct of Peak
@@ -60,7 +63,7 @@ Panel Config:
+ SQC_DCACHE_MISSES_DUPLICATE)) if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES
+ SQC_DCACHE_MISSES_DUPLICATE) != 0) else None))
unit: Pct of Peak
sL1D-L2 BW:
sL1D-L2 BW Utilization:
value: AVG(((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 100000) / (2 * ($max_sclk * $sqc_per_gpu) * (End_Timestamp - Start_Timestamp)))
unit: Pct of Peak
@@ -158,12 +161,12 @@ Panel Config:
metric:
sL1D-L2 BW:
avg: AVG(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
min: MIN(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
max: MAX(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
unit: (Bytes + $normUnit)
* 64)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
Read Req:
avg: AVG((SQC_TC_DATA_READ_REQ / $denom))
min: MIN((SQC_TC_DATA_READ_REQ / $denom))
@@ -5,12 +5,12 @@ Panel Config:
metrics_description:
Hit rate: The ratio of the number of vL1D cache line requests that hit in vL1D
cache over the total number of cache line requests to the vL1D Cache RAM.
Bandwidth: The number of bytes looked up in the vL1D cache as a result of VMEM
instructions, as a percent of the peak theoretical bandwidth achievable on the
specific accelerator. The number of bytes is calculated as the number of cache
lines requested multiplied by the cache line size. This value does not consider
partial requests, so for instance, if only a single value is requested in a
cache line, the data movement will still be counted as a full cache line.
Bandwidth Utilization: The number of bytes looked up in the vL1D cache as a result
of VMEM instructions, as a percent of the peak theoretical bandwidth achievable
on the specific accelerator. The number of bytes is calculated as the number
of cache lines requested multiplied by the cache line size. This value does
not consider partial requests, so for instance, if only a single value is requested
in a cache line, the data movement will still be counted as a full cache line.
Utilization: Indicates how busy the vL1D Cache RAM was during the kernel execution.
The number of cycles where the vL1D Cache RAM is actively processing any request
divided by the number of cycles where the vL1D is active.
@@ -42,11 +42,11 @@ Panel Config:
Atomic Req: The total number of incoming atomic requests from the address processing
unit after coalescing per normalization unit.
Cache BW: The number of bytes looked up in the vL1D cache as a result of VMEM
instructions per normalization unit. The number of bytes is calculated as the
number of cache lines requested multiplied by the cache line size. This value
does not consider partial requests, so for instance, if only a single value
is requested in a cache line, the data movement will still be counted as a full
cache line.
instructions divided by total duration. The number of bytes is calculated as
the number of cache lines requested multiplied by the cache line size. This
value does not consider partial requests, so for instance, if only a single
value is requested in a cache line, the data movement will still be counted
as a full cache line.
Cache Hit Rate: The ratio of the number of vL1D cache line requests that hit in
vL1D cache over the total number of cache line requests to the vL1D Cache RAM.
Cache Accesses: The total number of cache line lookups in the vL1D.
@@ -57,7 +57,7 @@ Panel Config:
command during the kernel's execution per normalization unit. This may be triggered
by, for instance, the buffer_wbinvl1 instruction.
L1-L2 BW: The number of bytes transferred across the vL1D-L2 interface as a result
of VMEM instructions, per normalization unit. The number of bytes is calculated
of VMEM instructions, divided by total duration. The number of bytes is calculated
as the number of cache lines requested multiplied by the cache line size. This
value does not consider partial requests, so for instance, if only a single
value is requested in a cache line, the data movement will still be counted
@@ -128,7 +128,7 @@ Panel Config:
/ TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0)
else None))
unit: Pct of Peak
Bandwidth:
Bandwidth Utilization:
value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp
- Start_Timestamp)))) / ((($max_sclk / 1000) * 64) * $cu_per_gpu))
unit: Pct of Peak
@@ -201,10 +201,10 @@ Panel Config:
/ $denom))
unit: (Req + $normUnit)
Cache BW:
avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom))
min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom))
max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom))
unit: (Bytes + $normUnit)
avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp)))
min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp)))
max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
Cache Hit Rate:
avg: AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum)
+ TCP_TCC_ATOMIC_WITH_RET_REQ_sum) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum))
@@ -242,12 +242,12 @@ Panel Config:
unit: (Req + $normUnit)
L1-L2 BW:
avg: AVG(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
min: MIN(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
max: MAX(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
unit: (Bytes + $normUnit)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
L1-L2 Read:
avg: AVG((TCP_TCC_READ_REQ_sum / $denom))
min: MIN((TCP_TCC_READ_REQ_sum / $denom))
@@ -20,8 +20,8 @@ Panel Config:
HBM Bandwidth: Maximum theoretical bandwidth of the accelerator's local high-bandwidth
memory (HBM) per unit time. This value is calculated as the number of HBM channels
multiplied by the HBM channel width multiplied by the HBM clock frequency.
Read BW: The total number of bytes read by the L2 cache from Infinity Fabric per
normalization unit.
Read BW: The total number of bytes read by the L2 cache from Infinity Fabric divided
by total duration.
HBM Read Traffic: The percent of read requests generated by the L2 cache that
are routed to the accelerator's local high-bandwidth memory (HBM). This breakdown
does not consider the size of the request (meaning that 32B and 64B requests
@@ -42,9 +42,9 @@ Panel Config:
as a single request), so this metric only approximates the percent of the L2-Fabric
read bandwidth directed to an uncached memory location.
Write and Atomic BW: The total number of bytes written by the L2 over Infinity
Fabric by write and atomic operations per normalization unit. Note that on current
CDNA accelerators, such as the MI2XX, requests are only considered atomic by
Infinity Fabric if they are targeted at non-write-cacheable memory, for example,
Fabric by write and atomic operations divided by total duration. Note that on
current CDNA accelerators, such as the MI2XX, requests are only considered atomic
by Infinity Fabric if they are targeted at non-write-cacheable memory, for example,
fine-grained memory allocations or uncached memory allocations on the MI2XX.
HBM Write and Atomic Traffic: The percent of write and atomic requests generated
by the L2 cache that are routed to the accelerator's local high-bandwidth memory
@@ -82,17 +82,17 @@ Panel Config:
Atomic Latency: The time-averaged number of cycles atomic requests spent in Infinity
Fabric before a completion acknowledgement (atomic without return value) or
data (atomic with return value) was returned to the L2.
Bandwidth: The number of bytes looked up in the L2 cache, per normalization unit.
Bandwidth: The number of bytes looked up in the L2 cache, divided by total duration.
The number of bytes is calculated as the number of cache lines requested multiplied
by the cache line size. This value does not consider partial requests, so for
example, if only a single value is requested in a cache line, the data movement
will still be counted as a full cache line.
Read Bandwidth: Total number of bytes looked up in the L2 cache for read requests,
per normalization unit.
divided by total duration.
Write Bandwidth: Total number of bytes looked up in the L2 cache for write requests,
per normalization unit.
divided by total duration.
Atomic Bandwidth: Total number of bytes looked up in the L2 cache for atomic requests,
per normalization unit.
divided by total duration.
Req: The total number of incoming requests to the L2 from all clients for all
request types, per normalization unit.
Read Req: The total number of read requests to the L2 from all clients.
@@ -150,11 +150,11 @@ Panel Config:
64B of data from any source other than the accelerator's local HBM, per normalization
unit.
Read Bandwidth - PCIe: Total number of bytes due to L2 read requests due to PCIe
traffic, per normalization unit.
traffic, divided by total duration.
"Read Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 read
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Read Bandwidth - HBM: Total number of bytes due to L2 read requests due to HBM
traffic, per normalization unit.
traffic, divided by total duration.
Write and Atomic (32B): The total number of L2 requests to Infinity Fabric to
write or atomically update 32B of data to any memory location, per normalization
unit.
@@ -171,17 +171,17 @@ Panel Config:
write or atomically update 32B or 64B of data in any memory location other than
the accelerator's local HBM, per normalization unit.
Write Bandwidth - PCIe: Total number of bytes due to L2 write requests due to
PCIe traffic, per normalization unit.
PCIe traffic, divided by total duration.
"Write Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 write
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Write Bandwidth - HBM: Total number of bytes due to L2 write requests due to HBM
traffic, per normalization unit.
traffic, divided by total duration.
Atomic Bandwidth - PCIe: Total number of bytes due to L2 atomic requests due to
PCIe traffic, per normalization unit.
PCIe traffic, divided by total duration.
"Atomic Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 atomic
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Atomic Bandwidth - HBM: Total number of bytes due to L2 atomic requests due to
HBM traffic, per normalization unit.
HBM traffic, divided by total duration.
Atomic: The total number of L2 requests to Infinity Fabric to atomically update
32B or 64B of data in any memory location, per normalization unit. See Request
flow for more detail. Note that on current CDNA accelerators, such as the MI2XX,
@@ -257,12 +257,12 @@ Panel Config:
metric:
Read BW:
avg: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
min: MIN((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
max: MAX((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / $denom))
unit: (Bytes + $normUnit)
* 64)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
HBM Read Traffic:
avg: AVG((100 * (TCC_EA_RDREQ_DRAM_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum
!= 0) else None))
@@ -289,12 +289,12 @@ Panel Config:
unit: pct
Write and Atomic BW:
avg: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
* 32)) / $denom))
* 32)) / (End_Timestamp - Start_Timestamp)))
min: MIN((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
* 32)) / $denom))
* 32)) / (End_Timestamp - Start_Timestamp)))
max: MAX((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
* 32)) / $denom))
unit: (Bytes + $normUnit)
* 32)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
HBM Write and Atomic Traffic:
avg: AVG((100 * (TCC_EA_WRREQ_DRAM_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum
!= 0) else None))
@@ -362,10 +362,10 @@ Panel Config:
unit: Unit
metric:
Bandwidth:
avg: AVG((TCC_REQ_sum * 64) / $denom)
min: MIN((TCC_REQ_sum * 64) / $denom)
max: MAX((TCC_REQ_sum * 64) / $denom)
unit: (Bytes + $normUnit)
avg: AVG((TCC_REQ_sum * 64) / (End_Timestamp - Start_Timestamp))
min: MIN((TCC_REQ_sum * 64) / (End_Timestamp - Start_Timestamp))
max: MAX((TCC_REQ_sum * 64) / (End_Timestamp - Start_Timestamp))
unit: Gbps
Req:
avg: AVG((TCC_REQ_sum / $denom))
min: MIN((TCC_REQ_sum / $denom))
@@ -11,8 +11,12 @@ Panel Config:
instructions, averaged over the lifetime of the kernel. Calculated as the ratio
of the total number of cycles spent by the scheduler issuing LDS instructions
over the total CU cycles.
Theoretical Bandwidth Utilization: Indicates the maximum amount of bytes that
could have been loaded from, stored to, or atomically updated in the LDS divided
as percentage of theoretical peak. Does not take into account the execution
mask of the wavefront when the instruction was executed.
Theoretical Bandwidth: Indicates the maximum amount of bytes that could have been
loaded from, stored to, or atomically updated in the LDS per normalization unit.
loaded from, stored to, or atomically updated in the LDS divided by total duration.
Does not take into account the execution mask of the wavefront when the instruction
was executed.
Bank Conflict Rate: Indicates the percentage of active LDS cycles that were spent
@@ -58,7 +62,7 @@ Panel Config:
Access Rate:
value: AVG(((200 * SQ_ACTIVE_INST_LDS) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)))
unit: Pct of Peak
Theoretical Bandwidth:
Theoretical Bandwidth Utilization:
value: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ (End_Timestamp - Start_Timestamp)) / (($max_sclk * $cu_per_gpu) * 0.00128)))
unit: Pct of Peak
@@ -86,12 +90,12 @@ Panel Config:
unit: (Instr + $normUnit)
Theoretical Bandwidth:
avg: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
/ (End_Timestamp - Start_Timestamp)))
min: MIN(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
/ (End_Timestamp - Start_Timestamp)))
max: MAX(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
unit: (Bytes + $normUnit)
/ (End_Timestamp - Start_Timestamp)))
unit: Gbps
LDS Latency:
avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else
None))
@@ -3,15 +3,18 @@ Panel Config:
id: 1300
title: Instruction Cache
metrics_description:
Bandwidth: The number of bytes looked up in the L1I cache, as a percent of the
peak theoretical bandwidth. Calculated as the ratio of L1I requests over the
total L1I cycles.
Bandwidth Utilization: The number of bytes looked up in the L1I cache, as a percent
of the peak theoretical bandwidth. Calculated as the ratio of L1I requests over
the total L1I cycles.
Cache Hit Rate: The percent of L1I requests that hit [#l1i-cache]_ on a previously
loaded line the cache. Calculated as the ratio of the number of L1I requests
that hit over the number of all L1I requests.
L1I-L2 Bandwidth: "The percent of the peak theoretical L1I \u2192 L2 cache request\
\ bandwidth achieved. Calculated as the ratio of the total number of requests\
\ from the L1I to the L2 cache over the total L1I-L2 interface cycles."
L1I-L2 Bandwidth Utilization: "The percent of the peak theoretical L1I \u2192\
\ L2 cache request bandwidth achieved. Calculated as the ratio of the total\
\ number of requests from the L1I to the L2 cache over the total L1I-L2 interface\
\ cycles."
L1I-L2 Bandwidth: Total number of bytes transferred across L1I - L2 interface
divided by total duration.
Req: The total number of requests made to the L1I per normalization-unit
Hits: The total number of L1I requests that hit on a previously loaded cache line,
per normalization-unit.
@@ -30,7 +33,7 @@ Panel Config:
value: Avg
unit: Unit
metric:
Bandwidth:
Bandwidth Utilization:
value: AVG(((SQC_ICACHE_REQ * 100000) / (($max_sclk * $sqc_per_gpu) * (End_Timestamp
- Start_Timestamp))))
unit: Pct of Peak
@@ -38,7 +41,7 @@ Panel Config:
value: AVG(((SQC_ICACHE_HITS * 100) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES)
+ SQC_ICACHE_MISSES_DUPLICATE)))
unit: Pct of Peak
L1I-L2 Bandwidth:
L1I-L2 Bandwidth Utilization:
value: AVG(((SQC_TC_INST_REQ * 100000) / (2 * ($max_sclk * $sqc_per_gpu)
* (End_Timestamp - Start_Timestamp))))
unit: Pct of Peak
@@ -100,7 +103,7 @@ Panel Config:
unit: Unit
metric:
L1I-L2 Bandwidth:
avg: AVG(((SQC_TC_INST_REQ * 64) / $denom))
min: MIN(((SQC_TC_INST_REQ * 64) / $denom))
max: MAX(((SQC_TC_INST_REQ * 64) / $denom))
unit: (Bytes + $normUnit)
avg: AVG(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
min: MIN(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
max: MAX(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
@@ -3,14 +3,17 @@ Panel Config:
id: 1400
title: Scalar L1 Data Cache
metrics_description:
Bandwidth: The number of bytes looked up in the sL1D cache, as a percent of the
peak theoretical bandwidth. Calculated as the ratio of sL1D requests over the
total sL1D cycles.
Bandwidth Utilization: The number of bytes looked up in the sL1D cache, as a percent
of the peak theoretical bandwidth. Calculated as the ratio of sL1D requests
over the total sL1D cycles.
Cache Hit Rate: Indicates the percent of sL1D requests that hit on a previously
loaded line the cache. The ratio of the number of sL1D requests that hit over
the number of all sL1D requests.
sL1D-L2 BW Utilization: The percentage of the peak theoretical sL1D - L2 interface
bandwidth acheived.\ \ Caclulated as total number of bytes read from, written
to, or atomically updated\ \ across the sL1D - L2 interface.
sL1D-L2 BW: "The total number of bytes read from, written to, or atomically updated\
\ across the sL1D\u2194L2 interface, per normalization unit. Note that sL1D\
\ across the sL1D\u2194L2 interface, divided by total duration. Note that sL1D\
\ writes and atomics are typically unused on current CDNA accelerators, so in\
\ the majority of cases this can be interpreted as an sL1D\u2192L2 read bandwidth."
Req: The total number of requests, of any size or type, made to the sL1D per normalization
@@ -51,7 +54,7 @@ Panel Config:
value: Avg
unit: Unit
metric:
Bandwidth:
Bandwidth Utilization:
value: AVG(((SQC_DCACHE_REQ * 100000) / (($max_sclk * $sqc_per_gpu) * (End_Timestamp
- Start_Timestamp))))
unit: Pct of Peak
@@ -60,7 +63,7 @@ Panel Config:
+ SQC_DCACHE_MISSES_DUPLICATE)) if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES
+ SQC_DCACHE_MISSES_DUPLICATE) != 0) else None))
unit: Pct of Peak
sL1D-L2 BW:
sL1D-L2 BW Utilization:
value: AVG(((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 100000) / (2 * ($max_sclk * $sqc_per_gpu) * (End_Timestamp - Start_Timestamp)))
unit: Pct of Peak
@@ -158,12 +161,12 @@ Panel Config:
metric:
sL1D-L2 BW:
avg: AVG(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
min: MIN(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
max: MAX(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
unit: (Bytes + $normUnit)
* 64)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
Read Req:
avg: AVG((SQC_TC_DATA_READ_REQ / $denom))
min: MIN((SQC_TC_DATA_READ_REQ / $denom))
@@ -5,12 +5,12 @@ Panel Config:
metrics_description:
Hit rate: The ratio of the number of vL1D cache line requests that hit in vL1D
cache over the total number of cache line requests to the vL1D Cache RAM.
Bandwidth: The number of bytes looked up in the vL1D cache as a result of VMEM
instructions, as a percent of the peak theoretical bandwidth achievable on the
specific accelerator. The number of bytes is calculated as the number of cache
lines requested multiplied by the cache line size. This value does not consider
partial requests, so for instance, if only a single value is requested in a
cache line, the data movement will still be counted as a full cache line.
Bandwidth Utilization: The number of bytes looked up in the vL1D cache as a result
of VMEM instructions, as a percent of the peak theoretical bandwidth achievable
on the specific accelerator. The number of bytes is calculated as the number
of cache lines requested multiplied by the cache line size. This value does
not consider partial requests, so for instance, if only a single value is requested
in a cache line, the data movement will still be counted as a full cache line.
Utilization: Indicates how busy the vL1D Cache RAM was during the kernel execution.
The number of cycles where the vL1D Cache RAM is actively processing any request
divided by the number of cycles where the vL1D is active.
@@ -42,11 +42,11 @@ Panel Config:
Atomic Req: The total number of incoming atomic requests from the address processing
unit after coalescing per normalization unit.
Cache BW: The number of bytes looked up in the vL1D cache as a result of VMEM
instructions per normalization unit. The number of bytes is calculated as the
number of cache lines requested multiplied by the cache line size. This value
does not consider partial requests, so for instance, if only a single value
is requested in a cache line, the data movement will still be counted as a full
cache line.
instructions divided by total duration. The number of bytes is calculated as
the number of cache lines requested multiplied by the cache line size. This
value does not consider partial requests, so for instance, if only a single
value is requested in a cache line, the data movement will still be counted
as a full cache line.
Cache Hit Rate: The ratio of the number of vL1D cache line requests that hit in
vL1D cache over the total number of cache line requests to the vL1D Cache RAM.
Cache Accesses: The total number of cache line lookups in the vL1D.
@@ -57,7 +57,7 @@ Panel Config:
command during the kernel's execution per normalization unit. This may be triggered
by, for instance, the buffer_wbinvl1 instruction.
L1-L2 BW: The number of bytes transferred across the vL1D-L2 interface as a result
of VMEM instructions, per normalization unit. The number of bytes is calculated
of VMEM instructions, divided by total duration. The number of bytes is calculated
as the number of cache lines requested multiplied by the cache line size. This
value does not consider partial requests, so for instance, if only a single
value is requested in a cache line, the data movement will still be counted
@@ -128,7 +128,7 @@ Panel Config:
/ TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0)
else None))
unit: Pct of Peak
Bandwidth:
Bandwidth Utilization:
value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp
- Start_Timestamp)))) / ((($max_sclk / 1000) * 64) * $cu_per_gpu))
unit: Pct of Peak
@@ -201,10 +201,10 @@ Panel Config:
/ $denom))
unit: (Req + $normUnit)
Cache BW:
avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom))
min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom))
max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom))
unit: (Bytes + $normUnit)
avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp)))
min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp)))
max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
Cache Hit Rate:
avg: AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum)
+ TCP_TCC_ATOMIC_WITH_RET_REQ_sum) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum))
@@ -242,12 +242,12 @@ Panel Config:
unit: (Req + $normUnit)
L1-L2 BW:
avg: AVG(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
min: MIN(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
max: MAX(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
unit: (Bytes + $normUnit)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
L1-L2 Read:
avg: AVG((TCP_TCC_READ_REQ_sum / $denom))
min: MIN((TCP_TCC_READ_REQ_sum / $denom))
@@ -20,8 +20,8 @@ Panel Config:
HBM Bandwidth: Maximum theoretical bandwidth of the accelerator's local high-bandwidth
memory (HBM) per unit time. This value is calculated as the number of HBM channels
multiplied by the HBM channel width multiplied by the HBM clock frequency.
Read BW: The total number of bytes read by the L2 cache from Infinity Fabric per
normalization unit.
Read BW: The total number of bytes read by the L2 cache from Infinity Fabric divided
by total duration.
HBM Read Traffic: The percent of read requests generated by the L2 cache that
are routed to the accelerator's local high-bandwidth memory (HBM). This breakdown
does not consider the size of the request (meaning that 32B and 64B requests
@@ -42,9 +42,9 @@ Panel Config:
as a single request), so this metric only approximates the percent of the L2-Fabric
read bandwidth directed to an uncached memory location.
Write and Atomic BW: The total number of bytes written by the L2 over Infinity
Fabric by write and atomic operations per normalization unit. Note that on current
CDNA accelerators, such as the MI2XX, requests are only considered atomic by
Infinity Fabric if they are targeted at non-write-cacheable memory, for example,
Fabric by write and atomic operations divided by total duration. Note that on
current CDNA accelerators, such as the MI2XX, requests are only considered atomic
by Infinity Fabric if they are targeted at non-write-cacheable memory, for example,
fine-grained memory allocations or uncached memory allocations on the MI2XX.
HBM Write and Atomic Traffic: The percent of write and atomic requests generated
by the L2 cache that are routed to the accelerator's local high-bandwidth memory
@@ -82,17 +82,17 @@ Panel Config:
Atomic Latency: The time-averaged number of cycles atomic requests spent in Infinity
Fabric before a completion acknowledgement (atomic without return value) or
data (atomic with return value) was returned to the L2.
Bandwidth: The number of bytes looked up in the L2 cache, per normalization unit.
Bandwidth: The number of bytes looked up in the L2 cache, divided by total duration.
The number of bytes is calculated as the number of cache lines requested multiplied
by the cache line size. This value does not consider partial requests, so for
example, if only a single value is requested in a cache line, the data movement
will still be counted as a full cache line.
Read Bandwidth: Total number of bytes looked up in the L2 cache for read requests,
per normalization unit.
divided by total duration.
Write Bandwidth: Total number of bytes looked up in the L2 cache for write requests,
per normalization unit.
divided by total duration.
Atomic Bandwidth: Total number of bytes looked up in the L2 cache for atomic requests,
per normalization unit.
divided by total duration.
Req: The total number of incoming requests to the L2 from all clients for all
request types, per normalization unit.
Read Req: The total number of read requests to the L2 from all clients.
@@ -150,11 +150,11 @@ Panel Config:
64B of data from any source other than the accelerator's local HBM, per normalization
unit.
Read Bandwidth - PCIe: Total number of bytes due to L2 read requests due to PCIe
traffic, per normalization unit.
traffic, divided by total duration.
"Read Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 read
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Read Bandwidth - HBM: Total number of bytes due to L2 read requests due to HBM
traffic, per normalization unit.
traffic, divided by total duration.
Write and Atomic (32B): The total number of L2 requests to Infinity Fabric to
write or atomically update 32B of data to any memory location, per normalization
unit.
@@ -171,17 +171,17 @@ Panel Config:
write or atomically update 32B or 64B of data in any memory location other than
the accelerator's local HBM, per normalization unit.
Write Bandwidth - PCIe: Total number of bytes due to L2 write requests due to
PCIe traffic, per normalization unit.
PCIe traffic, divided by total duration.
"Write Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 write
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Write Bandwidth - HBM: Total number of bytes due to L2 write requests due to HBM
traffic, per normalization unit.
traffic, divided by total duration.
Atomic Bandwidth - PCIe: Total number of bytes due to L2 atomic requests due to
PCIe traffic, per normalization unit.
PCIe traffic, divided by total duration.
"Atomic Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 atomic
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Atomic Bandwidth - HBM: Total number of bytes due to L2 atomic requests due to
HBM traffic, per normalization unit.
HBM traffic, divided by total duration.
Atomic: The total number of L2 requests to Infinity Fabric to atomically update
32B or 64B of data in any memory location, per normalization unit. See Request
flow for more detail. Note that on current CDNA accelerators, such as the MI2XX,
@@ -257,12 +257,12 @@ Panel Config:
metric:
Read BW:
avg: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
min: MIN((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
max: MAX((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / $denom))
unit: (Bytes + $normUnit)
* 64)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
HBM Read Traffic:
avg: AVG((100 * (TCC_EA_RDREQ_DRAM_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum
!= 0) else None))
@@ -289,12 +289,12 @@ Panel Config:
unit: pct
Write and Atomic BW:
avg: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
* 32)) / $denom))
* 32)) / (End_Timestamp - Start_Timestamp)))
min: MIN((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
* 32)) / $denom))
* 32)) / (End_Timestamp - Start_Timestamp)))
max: MAX((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
* 32)) / $denom))
unit: (Bytes + $normUnit)
* 32)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
HBM Write and Atomic Traffic:
avg: AVG((100 * (TCC_EA_WRREQ_DRAM_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum
!= 0) else None))
@@ -362,10 +362,10 @@ Panel Config:
unit: Unit
metric:
Bandwidth:
avg: AVG((TCC_REQ_sum * 128) / $denom)
min: MIN((TCC_REQ_sum * 128) / $denom)
max: MAX((TCC_REQ_sum * 128) / $denom)
unit: (Bytes + $normUnit)
avg: AVG((TCC_REQ_sum * 128) / (End_Timestamp - Start_Timestamp))
min: MIN((TCC_REQ_sum * 128) / (End_Timestamp - Start_Timestamp))
max: MAX((TCC_REQ_sum * 128) / (End_Timestamp - Start_Timestamp))
unit: Gbps
Req:
avg: AVG((TCC_REQ_sum / $denom))
min: MIN((TCC_REQ_sum / $denom))
@@ -11,8 +11,12 @@ Panel Config:
instructions, averaged over the lifetime of the kernel. Calculated as the ratio
of the total number of cycles spent by the scheduler issuing LDS instructions
over the total CU cycles.
Theoretical Bandwidth Utilization: Indicates the maximum amount of bytes that
could have been loaded from, stored to, or atomically updated in the LDS divided
as percentage of theoretical peak. Does not take into account the execution
mask of the wavefront when the instruction was executed.
Theoretical Bandwidth: Indicates the maximum amount of bytes that could have been
loaded from, stored to, or atomically updated in the LDS per normalization unit.
loaded from, stored to, or atomically updated in the LDS divided by total duration.
Does not take into account the execution mask of the wavefront when the instruction
was executed.
Bank Conflict Rate: Indicates the percentage of active LDS cycles that were spent
@@ -58,7 +62,7 @@ Panel Config:
Access Rate:
value: AVG(((200 * SQ_ACTIVE_INST_LDS) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)))
unit: Pct of Peak
Theoretical Bandwidth (% of Peak):
Theoretical Bandwidth Utilization:
value: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ (End_Timestamp - Start_Timestamp)) / (($max_sclk * $cu_per_gpu) * 0.00128)))
unit: Pct of Peak
@@ -86,12 +90,12 @@ Panel Config:
unit: (Instr + $normUnit)
Theoretical Bandwidth:
avg: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
/ (End_Timestamp - Start_Timestamp)))
min: MIN(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
/ (End_Timestamp - Start_Timestamp)))
max: MAX(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
unit: (Bytes + $normUnit)
/ (End_Timestamp - Start_Timestamp)))
unit: Gbps
LDS Latency:
avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else
None))
@@ -3,15 +3,18 @@ Panel Config:
id: 1300
title: Instruction Cache
metrics_description:
Bandwidth: The number of bytes looked up in the L1I cache, as a percent of the
peak theoretical bandwidth. Calculated as the ratio of L1I requests over the
total L1I cycles.
Bandwidth Utilization: The number of bytes looked up in the L1I cache, as a percent
of the peak theoretical bandwidth. Calculated as the ratio of L1I requests over
the total L1I cycles.
Cache Hit Rate: The percent of L1I requests that hit [#l1i-cache]_ on a previously
loaded line the cache. Calculated as the ratio of the number of L1I requests
that hit over the number of all L1I requests.
L1I-L2 Bandwidth: "The percent of the peak theoretical L1I \u2192 L2 cache request\
\ bandwidth achieved. Calculated as the ratio of the total number of requests\
\ from the L1I to the L2 cache over the total L1I-L2 interface cycles."
L1I-L2 Bandwidth Utilization: "The percent of the peak theoretical L1I \u2192\
\ L2 cache request bandwidth achieved. Calculated as the ratio of the total\
\ number of requests from the L1I to the L2 cache over the total L1I-L2 interface\
\ cycles."
L1I-L2 Bandwidth: Total number of bytes transferred across L1I - L2 interface
divided by total duration.
Req: The total number of requests made to the L1I per normalization-unit
Hits: The total number of L1I requests that hit on a previously loaded cache line,
per normalization-unit.
@@ -30,7 +33,7 @@ Panel Config:
value: Avg
unit: Unit
metric:
Bandwidth:
Bandwidth Utilization:
value: AVG(((SQC_ICACHE_REQ * 100000) / (($max_sclk * $sqc_per_gpu) * (End_Timestamp
- Start_Timestamp))))
unit: Pct of Peak
@@ -38,7 +41,7 @@ Panel Config:
value: AVG(((SQC_ICACHE_HITS * 100) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES)
+ SQC_ICACHE_MISSES_DUPLICATE)))
unit: Pct of Peak
L1I-L2 Bandwidth:
L1I-L2 Bandwidth Utilization:
value: AVG(((SQC_TC_INST_REQ * 100000) / (2 * ($max_sclk * $sqc_per_gpu)
* (End_Timestamp - Start_Timestamp))))
unit: Pct of Peak
@@ -100,7 +103,7 @@ Panel Config:
unit: Unit
metric:
L1I-L2 Bandwidth:
avg: AVG(((SQC_TC_INST_REQ * 64) / $denom))
min: MIN(((SQC_TC_INST_REQ * 64) / $denom))
max: MAX(((SQC_TC_INST_REQ * 64) / $denom))
unit: (Bytes + $normUnit)
avg: AVG(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
min: MIN(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
max: MAX(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
@@ -3,14 +3,17 @@ Panel Config:
id: 1400
title: Scalar L1 Data Cache
metrics_description:
Bandwidth: The number of bytes looked up in the sL1D cache, as a percent of the
peak theoretical bandwidth. Calculated as the ratio of sL1D requests over the
total sL1D cycles.
Bandwidth Utilization: The number of bytes looked up in the sL1D cache, as a percent
of the peak theoretical bandwidth. Calculated as the ratio of sL1D requests
over the total sL1D cycles.
Cache Hit Rate: Indicates the percent of sL1D requests that hit on a previously
loaded line the cache. The ratio of the number of sL1D requests that hit over
the number of all sL1D requests.
sL1D-L2 BW Utilization: The percentage of the peak theoretical sL1D - L2 interface
bandwidth acheived.\ \ Caclulated as total number of bytes read from, written
to, or atomically updated\ \ across the sL1D - L2 interface.
sL1D-L2 BW: "The total number of bytes read from, written to, or atomically updated\
\ across the sL1D\u2194L2 interface, per normalization unit. Note that sL1D\
\ across the sL1D\u2194L2 interface, divided by total duration. Note that sL1D\
\ writes and atomics are typically unused on current CDNA accelerators, so in\
\ the majority of cases this can be interpreted as an sL1D\u2192L2 read bandwidth."
Req: The total number of requests, of any size or type, made to the sL1D per normalization
@@ -51,7 +54,7 @@ Panel Config:
value: Avg
unit: Unit
metric:
Bandwidth:
Bandwidth Utilization:
value: AVG(((SQC_DCACHE_REQ * 100000) / (($max_sclk * $sqc_per_gpu) * (End_Timestamp
- Start_Timestamp))))
unit: Pct of Peak
@@ -60,7 +63,7 @@ Panel Config:
+ SQC_DCACHE_MISSES_DUPLICATE)) if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES
+ SQC_DCACHE_MISSES_DUPLICATE) != 0) else None))
unit: Pct of Peak
sL1D-L2 BW:
sL1D-L2 BW Utilization:
value: AVG(((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 100000) / (2 * ($max_sclk * $sqc_per_gpu) * (End_Timestamp - Start_Timestamp)))
unit: Pct of Peak
@@ -158,12 +161,12 @@ Panel Config:
metric:
sL1D-L2 BW:
avg: AVG(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
min: MIN(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
max: MAX(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
unit: (Bytes + $normUnit)
* 64)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
Read Req:
avg: AVG((SQC_TC_DATA_READ_REQ / $denom))
min: MIN((SQC_TC_DATA_READ_REQ / $denom))
@@ -5,12 +5,12 @@ Panel Config:
metrics_description:
Hit rate: The ratio of the number of vL1D cache line requests that hit in vL1D
cache over the total number of cache line requests to the vL1D Cache RAM.
Bandwidth: The number of bytes looked up in the vL1D cache as a result of VMEM
instructions, as a percent of the peak theoretical bandwidth achievable on the
specific accelerator. The number of bytes is calculated as the number of cache
lines requested multiplied by the cache line size. This value does not consider
partial requests, so for instance, if only a single value is requested in a
cache line, the data movement will still be counted as a full cache line.
Bandwidth Utilization: The number of bytes looked up in the vL1D cache as a result
of VMEM instructions, as a percent of the peak theoretical bandwidth achievable
on the specific accelerator. The number of bytes is calculated as the number
of cache lines requested multiplied by the cache line size. This value does
not consider partial requests, so for instance, if only a single value is requested
in a cache line, the data movement will still be counted as a full cache line.
Utilization: Indicates how busy the vL1D Cache RAM was during the kernel execution.
The number of cycles where the vL1D Cache RAM is actively processing any request
divided by the number of cycles where the vL1D is active.
@@ -42,11 +42,11 @@ Panel Config:
Atomic Req: The total number of incoming atomic requests from the address processing
unit after coalescing per normalization unit.
Cache BW: The number of bytes looked up in the vL1D cache as a result of VMEM
instructions per normalization unit. The number of bytes is calculated as the
number of cache lines requested multiplied by the cache line size. This value
does not consider partial requests, so for instance, if only a single value
is requested in a cache line, the data movement will still be counted as a full
cache line.
instructions divided by total duration. The number of bytes is calculated as
the number of cache lines requested multiplied by the cache line size. This
value does not consider partial requests, so for instance, if only a single
value is requested in a cache line, the data movement will still be counted
as a full cache line.
Cache Hit Rate: The ratio of the number of vL1D cache line requests that hit in
vL1D cache over the total number of cache line requests to the vL1D Cache RAM.
Cache Accesses: The total number of cache line lookups in the vL1D.
@@ -57,7 +57,7 @@ Panel Config:
command during the kernel's execution per normalization unit. This may be triggered
by, for instance, the buffer_wbinvl1 instruction.
L1-L2 BW: The number of bytes transferred across the vL1D-L2 interface as a result
of VMEM instructions, per normalization unit. The number of bytes is calculated
of VMEM instructions, divided by total duration. The number of bytes is calculated
as the number of cache lines requested multiplied by the cache line size. This
value does not consider partial requests, so for instance, if only a single
value is requested in a cache line, the data movement will still be counted
@@ -128,7 +128,7 @@ Panel Config:
/ TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0)
else None))
unit: Pct of Peak
Bandwidth:
Bandwidth Utilization:
value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / (End_Timestamp
- Start_Timestamp)))) / ((($max_sclk / 1000) * 128) * $cu_per_gpu))
unit: Pct of Peak
@@ -201,10 +201,10 @@ Panel Config:
/ $denom))
unit: (Req + $normUnit)
Cache BW:
avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / $denom))
min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / $denom))
max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / $denom))
unit: (Bytes + $normUnit)
avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / (End_Timestamp - Start_Timestamp)))
min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / (End_Timestamp - Start_Timestamp)))
max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
Cache Hit Rate:
avg: AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum)
+ TCP_TCC_ATOMIC_WITH_RET_REQ_sum) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum))
@@ -242,12 +242,12 @@ Panel Config:
unit: (Req + $normUnit)
L1-L2 BW:
avg: AVG(((128 * TCP_TCC_READ_REQ_sum + 64 * (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
min: MIN(((128 * TCP_TCC_READ_REQ_sum + 64 * (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
max: MAX(((128 * TCP_TCC_READ_REQ_sum + 64 * (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
unit: (Bytes + $normUnit)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
L1-L2 Read:
avg: AVG((TCP_TCC_READ_REQ_sum / $denom))
min: MIN((TCP_TCC_READ_REQ_sum / $denom))
@@ -20,8 +20,8 @@ Panel Config:
HBM Bandwidth: Maximum theoretical bandwidth of the accelerator's local high-bandwidth
memory (HBM) per unit time. This value is calculated as the number of HBM channels
multiplied by the HBM channel width multiplied by the HBM clock frequency.
Read BW: The total number of bytes read by the L2 cache from Infinity Fabric per
normalization unit.
Read BW: The total number of bytes read by the L2 cache from Infinity Fabric divided
by total duration.
HBM Read Traffic: The percent of read requests generated by the L2 cache that
are routed to the accelerator's local high-bandwidth memory (HBM). This breakdown
does not consider the size of the request (meaning that 32B and 64B requests
@@ -42,9 +42,9 @@ Panel Config:
as a single request), so this metric only approximates the percent of the L2-Fabric
read bandwidth directed to an uncached memory location.
Write and Atomic BW: The total number of bytes written by the L2 over Infinity
Fabric by write and atomic operations per normalization unit. Note that on current
CDNA accelerators, such as the MI2XX, requests are only considered atomic by
Infinity Fabric if they are targeted at non-write-cacheable memory, for example,
Fabric by write and atomic operations divided by total duration. Note that on
current CDNA accelerators, such as the MI2XX, requests are only considered atomic
by Infinity Fabric if they are targeted at non-write-cacheable memory, for example,
fine-grained memory allocations or uncached memory allocations on the MI2XX.
HBM Write and Atomic Traffic: The percent of write and atomic requests generated
by the L2 cache that are routed to the accelerator's local high-bandwidth memory
@@ -82,17 +82,17 @@ Panel Config:
Atomic Latency: The time-averaged number of cycles atomic requests spent in Infinity
Fabric before a completion acknowledgement (atomic without return value) or
data (atomic with return value) was returned to the L2.
Bandwidth: The number of bytes looked up in the L2 cache, per normalization unit.
Bandwidth: The number of bytes looked up in the L2 cache, divided by total duration.
The number of bytes is calculated as the number of cache lines requested multiplied
by the cache line size. This value does not consider partial requests, so for
example, if only a single value is requested in a cache line, the data movement
will still be counted as a full cache line.
Read Bandwidth: Total number of bytes looked up in the L2 cache for read requests,
per normalization unit.
divided by total duration.
Write Bandwidth: Total number of bytes looked up in the L2 cache for write requests,
per normalization unit.
divided by total duration.
Atomic Bandwidth: Total number of bytes looked up in the L2 cache for atomic requests,
per normalization unit.
divided by total duration.
Req: The total number of incoming requests to the L2 from all clients for all
request types, per normalization unit.
Read Req: The total number of read requests to the L2 from all clients.
@@ -150,11 +150,11 @@ Panel Config:
64B of data from any source other than the accelerator's local HBM, per normalization
unit.
Read Bandwidth - PCIe: Total number of bytes due to L2 read requests due to PCIe
traffic, per normalization unit.
traffic, divided by total duration.
"Read Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 read
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Read Bandwidth - HBM: Total number of bytes due to L2 read requests due to HBM
traffic, per normalization unit.
traffic, divided by total duration.
Write and Atomic (32B): The total number of L2 requests to Infinity Fabric to
write or atomically update 32B of data to any memory location, per normalization
unit.
@@ -171,17 +171,17 @@ Panel Config:
write or atomically update 32B or 64B of data in any memory location other than
the accelerator's local HBM, per normalization unit.
Write Bandwidth - PCIe: Total number of bytes due to L2 write requests due to
PCIe traffic, per normalization unit.
PCIe traffic, divided by total duration.
"Write Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 write
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Write Bandwidth - HBM: Total number of bytes due to L2 write requests due to HBM
traffic, per normalization unit.
traffic, divided by total duration.
Atomic Bandwidth - PCIe: Total number of bytes due to L2 atomic requests due to
PCIe traffic, per normalization unit.
PCIe traffic, divided by total duration.
"Atomic Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 atomic
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Atomic Bandwidth - HBM: Total number of bytes due to L2 atomic requests due to
HBM traffic, per normalization unit.
HBM traffic, divided by total duration.
Atomic: The total number of L2 requests to Infinity Fabric to atomically update
32B or 64B of data in any memory location, per normalization unit. See Request
flow for more detail. Note that on current CDNA accelerators, such as the MI2XX,
@@ -257,12 +257,12 @@ Panel Config:
metric:
Read BW:
avg: AVG((((TCC_EA0_RDREQ_32B_sum * 32) + ((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_32B_sum)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
min: MIN((((TCC_EA0_RDREQ_32B_sum * 32) + ((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_32B_sum)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
max: MAX((((TCC_EA0_RDREQ_32B_sum * 32) + ((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_32B_sum)
* 64)) / $denom))
unit: (Bytes + $normUnit)
* 64)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
HBM Read Traffic:
avg: AVG((100 * (TCC_EA0_RDREQ_DRAM_sum / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum
!= 0) else None))
@@ -289,12 +289,12 @@ Panel Config:
unit: pct
Write and Atomic BW:
avg: AVG((((TCC_EA0_WRREQ_64B_sum * 64) + ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_64B_sum)
* 32)) / $denom))
* 32)) / (End_Timestamp - Start_Timestamp)))
min: MIN((((TCC_EA0_WRREQ_64B_sum * 64) + ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_64B_sum)
* 32)) / $denom))
* 32)) / (End_Timestamp - Start_Timestamp)))
max: MAX((((TCC_EA0_WRREQ_64B_sum * 64) + ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_64B_sum)
* 32)) / $denom))
unit: (Bytes + $normUnit)
* 32)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
HBM Write and Atomic Traffic:
avg: AVG((100 * (TCC_EA0_WRREQ_DRAM_sum / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum
!= 0) else None))
@@ -362,10 +362,10 @@ Panel Config:
unit: Unit
metric:
Bandwidth:
avg: AVG((TCC_REQ_sum * 128) / $denom)
min: MIN((TCC_REQ_sum * 128) / $denom)
max: MAX((TCC_REQ_sum * 128) / $denom)
unit: (Bytes + $normUnit)
avg: AVG((TCC_REQ_sum * 128) / (End_Timestamp - Start_Timestamp))
min: MIN((TCC_REQ_sum * 128) / (End_Timestamp - Start_Timestamp))
max: MAX((TCC_REQ_sum * 128) / (End_Timestamp - Start_Timestamp))
unit: Gbps
Req:
avg: AVG((TCC_REQ_sum / $denom))
min: MIN((TCC_REQ_sum / $denom))
@@ -11,8 +11,12 @@ Panel Config:
instructions, averaged over the lifetime of the kernel. Calculated as the ratio
of the total number of cycles spent by the scheduler issuing LDS instructions
over the total CU cycles.
Theoretical Bandwidth Utilization: Indicates the maximum amount of bytes that
could have been loaded from, stored to, or atomically updated in the LDS divided
as percentage of theoretical peak. Does not take into account the execution
mask of the wavefront when the instruction was executed.
Theoretical Bandwidth: Indicates the maximum amount of bytes that could have been
loaded from, stored to, or atomically updated in the LDS per normalization unit.
loaded from, stored to, or atomically updated in the LDS divided by total duration.
Does not take into account the execution mask of the wavefront when the instruction
was executed.
Bank Conflict Rate: Indicates the percentage of active LDS cycles that were spent
@@ -58,7 +62,7 @@ Panel Config:
Access Rate:
value: AVG(((200 * SQ_ACTIVE_INST_LDS) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)))
unit: Pct of Peak
Theoretical Bandwidth (% of Peak):
Theoretical Bandwidth Utilization:
value: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ (End_Timestamp - Start_Timestamp)) / (($max_sclk * $cu_per_gpu) * 0.00128)))
unit: Pct of Peak
@@ -86,12 +90,12 @@ Panel Config:
unit: (Instr + $normUnit)
Theoretical Bandwidth:
avg: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
/ (End_Timestamp - Start_Timestamp)))
min: MIN(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
/ (End_Timestamp - Start_Timestamp)))
max: MAX(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
unit: (Bytes + $normUnit)
/ (End_Timestamp - Start_Timestamp)))
unit: Gbps
LDS Latency:
avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else
None))
@@ -3,15 +3,18 @@ Panel Config:
id: 1300
title: Instruction Cache
metrics_description:
Bandwidth: The number of bytes looked up in the L1I cache, as a percent of the
peak theoretical bandwidth. Calculated as the ratio of L1I requests over the
total L1I cycles.
Bandwidth Utilization: The number of bytes looked up in the L1I cache, as a percent
of the peak theoretical bandwidth. Calculated as the ratio of L1I requests over
the total L1I cycles.
Cache Hit Rate: The percent of L1I requests that hit [#l1i-cache]_ on a previously
loaded line the cache. Calculated as the ratio of the number of L1I requests
that hit over the number of all L1I requests.
L1I-L2 Bandwidth: "The percent of the peak theoretical L1I \u2192 L2 cache request\
\ bandwidth achieved. Calculated as the ratio of the total number of requests\
\ from the L1I to the L2 cache over the total L1I-L2 interface cycles."
L1I-L2 Bandwidth Utilization: "The percent of the peak theoretical L1I \u2192\
\ L2 cache request bandwidth achieved. Calculated as the ratio of the total\
\ number of requests from the L1I to the L2 cache over the total L1I-L2 interface\
\ cycles."
L1I-L2 Bandwidth: Total number of bytes transferred across L1I - L2 interface
divided by total duration.
Req: The total number of requests made to the L1I per normalization-unit
Hits: The total number of L1I requests that hit on a previously loaded cache line,
per normalization-unit.
@@ -30,7 +33,7 @@ Panel Config:
value: Avg
unit: Unit
metric:
Bandwidth:
Bandwidth Utilization:
value: AVG(((SQC_ICACHE_REQ * 100000) / (($max_sclk * $sqc_per_gpu) * (End_Timestamp
- Start_Timestamp))))
unit: Pct of Peak
@@ -38,7 +41,7 @@ Panel Config:
value: AVG(((SQC_ICACHE_HITS * 100) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES)
+ SQC_ICACHE_MISSES_DUPLICATE)))
unit: Pct of Peak
L1I-L2 Bandwidth:
L1I-L2 Bandwidth Utilization:
value: AVG(((SQC_TC_INST_REQ * 100000) / (2 * ($max_sclk * $sqc_per_gpu)
* (End_Timestamp - Start_Timestamp))))
unit: Pct of Peak
@@ -100,7 +103,7 @@ Panel Config:
unit: Unit
metric:
L1I-L2 Bandwidth:
avg: AVG(((SQC_TC_INST_REQ * 64) / $denom))
min: MIN(((SQC_TC_INST_REQ * 64) / $denom))
max: MAX(((SQC_TC_INST_REQ * 64) / $denom))
unit: (Bytes + $normUnit)
avg: AVG(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
min: MIN(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
max: MAX(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
@@ -3,14 +3,17 @@ Panel Config:
id: 1400
title: Scalar L1 Data Cache
metrics_description:
Bandwidth: The number of bytes looked up in the sL1D cache, as a percent of the
peak theoretical bandwidth. Calculated as the ratio of sL1D requests over the
total sL1D cycles.
Bandwidth Utilization: The number of bytes looked up in the sL1D cache, as a percent
of the peak theoretical bandwidth. Calculated as the ratio of sL1D requests
over the total sL1D cycles.
Cache Hit Rate: Indicates the percent of sL1D requests that hit on a previously
loaded line the cache. The ratio of the number of sL1D requests that hit over
the number of all sL1D requests.
sL1D-L2 BW Utilization: The percentage of the peak theoretical sL1D - L2 interface
bandwidth acheived.\ \ Caclulated as total number of bytes read from, written
to, or atomically updated\ \ across the sL1D - L2 interface.
sL1D-L2 BW: "The total number of bytes read from, written to, or atomically updated\
\ across the sL1D\u2194L2 interface, per normalization unit. Note that sL1D\
\ across the sL1D\u2194L2 interface, divided by total duration. Note that sL1D\
\ writes and atomics are typically unused on current CDNA accelerators, so in\
\ the majority of cases this can be interpreted as an sL1D\u2192L2 read bandwidth."
Req: The total number of requests, of any size or type, made to the sL1D per normalization
@@ -51,7 +54,7 @@ Panel Config:
value: Avg
unit: Unit
metric:
Bandwidth:
Bandwidth Utilization:
value: AVG(((SQC_DCACHE_REQ * 100000) / (($max_sclk * $sqc_per_gpu) * (End_Timestamp
- Start_Timestamp))))
unit: Pct of Peak
@@ -60,7 +63,7 @@ Panel Config:
+ SQC_DCACHE_MISSES_DUPLICATE)) if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES
+ SQC_DCACHE_MISSES_DUPLICATE) != 0) else None))
unit: Pct of Peak
sL1D-L2 BW:
sL1D-L2 BW Utilization:
value: AVG(((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 100000) / (2 * ($max_sclk * $sqc_per_gpu) * (End_Timestamp - Start_Timestamp)))
unit: Pct of Peak
@@ -158,12 +161,12 @@ Panel Config:
metric:
sL1D-L2 BW:
avg: AVG(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
min: MIN(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
max: MAX(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
unit: (Bytes + $normUnit)
* 64)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
Read Req:
avg: AVG((SQC_TC_DATA_READ_REQ / $denom))
min: MIN((SQC_TC_DATA_READ_REQ / $denom))
@@ -5,12 +5,12 @@ Panel Config:
metrics_description:
Hit rate: The ratio of the number of vL1D cache line requests that hit in vL1D
cache over the total number of cache line requests to the vL1D Cache RAM.
Bandwidth: The number of bytes looked up in the vL1D cache as a result of VMEM
instructions, as a percent of the peak theoretical bandwidth achievable on the
specific accelerator. The number of bytes is calculated as the number of cache
lines requested multiplied by the cache line size. This value does not consider
partial requests, so for instance, if only a single value is requested in a
cache line, the data movement will still be counted as a full cache line.
Bandwidth Utilization: The number of bytes looked up in the vL1D cache as a result
of VMEM instructions, as a percent of the peak theoretical bandwidth achievable
on the specific accelerator. The number of bytes is calculated as the number
of cache lines requested multiplied by the cache line size. This value does
not consider partial requests, so for instance, if only a single value is requested
in a cache line, the data movement will still be counted as a full cache line.
Utilization: Indicates how busy the vL1D Cache RAM was during the kernel execution.
The number of cycles where the vL1D Cache RAM is actively processing any request
divided by the number of cycles where the vL1D is active.
@@ -42,11 +42,11 @@ Panel Config:
Atomic Req: The total number of incoming atomic requests from the address processing
unit after coalescing per normalization unit.
Cache BW: The number of bytes looked up in the vL1D cache as a result of VMEM
instructions per normalization unit. The number of bytes is calculated as the
number of cache lines requested multiplied by the cache line size. This value
does not consider partial requests, so for instance, if only a single value
is requested in a cache line, the data movement will still be counted as a full
cache line.
instructions divided by total duration. The number of bytes is calculated as
the number of cache lines requested multiplied by the cache line size. This
value does not consider partial requests, so for instance, if only a single
value is requested in a cache line, the data movement will still be counted
as a full cache line.
Cache Hit Rate: The ratio of the number of vL1D cache line requests that hit in
vL1D cache over the total number of cache line requests to the vL1D Cache RAM.
Cache Accesses: The total number of cache line lookups in the vL1D.
@@ -57,7 +57,7 @@ Panel Config:
command during the kernel's execution per normalization unit. This may be triggered
by, for instance, the buffer_wbinvl1 instruction.
L1-L2 BW: The number of bytes transferred across the vL1D-L2 interface as a result
of VMEM instructions, per normalization unit. The number of bytes is calculated
of VMEM instructions, divided by total duration. The number of bytes is calculated
as the number of cache lines requested multiplied by the cache line size. This
value does not consider partial requests, so for instance, if only a single
value is requested in a cache line, the data movement will still be counted
@@ -128,7 +128,7 @@ Panel Config:
/ TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0)
else None))
unit: Pct of Peak
Bandwidth:
Bandwidth Utilization:
value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / (End_Timestamp
- Start_Timestamp)))) / ((($max_sclk / 1000) * 128) * $cu_per_gpu))
unit: Pct of Peak
@@ -201,10 +201,10 @@ Panel Config:
/ $denom))
unit: (Req + $normUnit)
Cache BW:
avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / $denom))
min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / $denom))
max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / $denom))
unit: (Bytes + $normUnit)
avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / (End_Timestamp - Start_Timestamp)))
min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / (End_Timestamp - Start_Timestamp)))
max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
Cache Hit Rate:
avg: AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum)
+ TCP_TCC_ATOMIC_WITH_RET_REQ_sum) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum))
@@ -242,12 +242,12 @@ Panel Config:
unit: (Req + $normUnit)
L1-L2 BW:
avg: AVG(((128 * TCP_TCC_READ_REQ_sum + 64 * (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
min: MIN(((128 * TCP_TCC_READ_REQ_sum + 64 * (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
max: MAX(((128 * TCP_TCC_READ_REQ_sum + 64 * (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
unit: (Bytes + $normUnit)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
L1-L2 Read:
avg: AVG((TCP_TCC_READ_REQ_sum / $denom))
min: MIN((TCP_TCC_READ_REQ_sum / $denom))
@@ -20,8 +20,8 @@ Panel Config:
HBM Bandwidth: Maximum theoretical bandwidth of the accelerator's local high-bandwidth
memory (HBM) per unit time. This value is calculated as the number of HBM channels
multiplied by the HBM channel width multiplied by the HBM clock frequency.
Read BW: The total number of bytes read by the L2 cache from Infinity Fabric per
normalization unit.
Read BW: The total number of bytes read by the L2 cache from Infinity Fabric divided
by total duration.
HBM Read Traffic: The percent of read requests generated by the L2 cache that
are routed to the accelerator's local high-bandwidth memory (HBM). This breakdown
does not consider the size of the request (meaning that 32B and 64B requests
@@ -42,9 +42,9 @@ Panel Config:
as a single request), so this metric only approximates the percent of the L2-Fabric
read bandwidth directed to an uncached memory location.
Write and Atomic BW: The total number of bytes written by the L2 over Infinity
Fabric by write and atomic operations per normalization unit. Note that on current
CDNA accelerators, such as the MI2XX, requests are only considered atomic by
Infinity Fabric if they are targeted at non-write-cacheable memory, for example,
Fabric by write and atomic operations divided by total duration. Note that on
current CDNA accelerators, such as the MI2XX, requests are only considered atomic
by Infinity Fabric if they are targeted at non-write-cacheable memory, for example,
fine-grained memory allocations or uncached memory allocations on the MI2XX.
HBM Write and Atomic Traffic: The percent of write and atomic requests generated
by the L2 cache that are routed to the accelerator's local high-bandwidth memory
@@ -82,17 +82,17 @@ Panel Config:
Atomic Latency: The time-averaged number of cycles atomic requests spent in Infinity
Fabric before a completion acknowledgement (atomic without return value) or
data (atomic with return value) was returned to the L2.
Bandwidth: The number of bytes looked up in the L2 cache, per normalization unit.
Bandwidth: The number of bytes looked up in the L2 cache, divided by total duration.
The number of bytes is calculated as the number of cache lines requested multiplied
by the cache line size. This value does not consider partial requests, so for
example, if only a single value is requested in a cache line, the data movement
will still be counted as a full cache line.
Read Bandwidth: Total number of bytes looked up in the L2 cache for read requests,
per normalization unit.
divided by total duration.
Write Bandwidth: Total number of bytes looked up in the L2 cache for write requests,
per normalization unit.
divided by total duration.
Atomic Bandwidth: Total number of bytes looked up in the L2 cache for atomic requests,
per normalization unit.
divided by total duration.
Req: The total number of incoming requests to the L2 from all clients for all
request types, per normalization unit.
Read Req: The total number of read requests to the L2 from all clients.
@@ -150,11 +150,11 @@ Panel Config:
64B of data from any source other than the accelerator's local HBM, per normalization
unit.
Read Bandwidth - PCIe: Total number of bytes due to L2 read requests due to PCIe
traffic, per normalization unit.
traffic, divided by total duration.
"Read Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 read
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Read Bandwidth - HBM: Total number of bytes due to L2 read requests due to HBM
traffic, per normalization unit.
traffic, divided by total duration.
Write and Atomic (32B): The total number of L2 requests to Infinity Fabric to
write or atomically update 32B of data to any memory location, per normalization
unit.
@@ -171,17 +171,17 @@ Panel Config:
write or atomically update 32B or 64B of data in any memory location other than
the accelerator's local HBM, per normalization unit.
Write Bandwidth - PCIe: Total number of bytes due to L2 write requests due to
PCIe traffic, per normalization unit.
PCIe traffic, divided by total duration.
"Write Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 write
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Write Bandwidth - HBM: Total number of bytes due to L2 write requests due to HBM
traffic, per normalization unit.
traffic, divided by total duration.
Atomic Bandwidth - PCIe: Total number of bytes due to L2 atomic requests due to
PCIe traffic, per normalization unit.
PCIe traffic, divided by total duration.
"Atomic Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 atomic
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Atomic Bandwidth - HBM: Total number of bytes due to L2 atomic requests due to
HBM traffic, per normalization unit.
HBM traffic, divided by total duration.
Atomic: The total number of L2 requests to Infinity Fabric to atomically update
32B or 64B of data in any memory location, per normalization unit. See Request
flow for more detail. Note that on current CDNA accelerators, such as the MI2XX,
@@ -257,12 +257,12 @@ Panel Config:
metric:
Read BW:
avg: AVG((((TCC_EA0_RDREQ_32B_sum * 32) + ((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_32B_sum)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
min: MIN((((TCC_EA0_RDREQ_32B_sum * 32) + ((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_32B_sum)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
max: MAX((((TCC_EA0_RDREQ_32B_sum * 32) + ((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_32B_sum)
* 64)) / $denom))
unit: (Bytes + $normUnit)
* 64)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
HBM Read Traffic:
avg: AVG((100 * (TCC_EA0_RDREQ_DRAM_sum / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum
!= 0) else None))
@@ -289,12 +289,12 @@ Panel Config:
unit: pct
Write and Atomic BW:
avg: AVG((((TCC_EA0_WRREQ_64B_sum * 64) + ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_64B_sum)
* 32)) / $denom))
* 32)) / (End_Timestamp - Start_Timestamp)))
min: MIN((((TCC_EA0_WRREQ_64B_sum * 64) + ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_64B_sum)
* 32)) / $denom))
* 32)) / (End_Timestamp - Start_Timestamp)))
max: MAX((((TCC_EA0_WRREQ_64B_sum * 64) + ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_64B_sum)
* 32)) / $denom))
unit: (Bytes + $normUnit)
* 32)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
HBM Write and Atomic Traffic:
avg: AVG((100 * (TCC_EA0_WRREQ_DRAM_sum / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum
!= 0) else None))
@@ -362,10 +362,10 @@ Panel Config:
unit: Unit
metric:
Bandwidth:
avg: AVG((TCC_REQ_sum * 128) / $denom)
min: MIN((TCC_REQ_sum * 128) / $denom)
max: MAX((TCC_REQ_sum * 128) / $denom)
unit: (Bytes + $normUnit)
avg: AVG((TCC_REQ_sum * 128) / (End_Timestamp - Start_Timestamp))
min: MIN((TCC_REQ_sum * 128) / (End_Timestamp - Start_Timestamp))
max: MAX((TCC_REQ_sum * 128) / (End_Timestamp - Start_Timestamp))
unit: Gbps
Req:
avg: AVG((TCC_REQ_sum / $denom))
min: MIN((TCC_REQ_sum / $denom))
@@ -11,8 +11,12 @@ Panel Config:
instructions, averaged over the lifetime of the kernel. Calculated as the ratio
of the total number of cycles spent by the scheduler issuing LDS instructions
over the total CU cycles.
Theoretical Bandwidth Utilization: Indicates the maximum amount of bytes that
could have been loaded from, stored to, or atomically updated in the LDS divided
as percentage of theoretical peak. Does not take into account the execution
mask of the wavefront when the instruction was executed.
Theoretical Bandwidth: Indicates the maximum amount of bytes that could have been
loaded from, stored to, or atomically updated in the LDS per normalization unit.
loaded from, stored to, or atomically updated in the LDS divided by total duration.
Does not take into account the execution mask of the wavefront when the instruction
was executed.
Bank Conflict Rate: Indicates the percentage of active LDS cycles that were spent
@@ -58,7 +62,7 @@ Panel Config:
Access Rate:
value: AVG(((200 * SQ_ACTIVE_INST_LDS) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)))
unit: Pct of Peak
Theoretical Bandwidth (% of Peak):
Theoretical Bandwidth Utilization:
value: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ (End_Timestamp - Start_Timestamp)) / (($max_sclk * $cu_per_gpu) * 0.00128)))
unit: Pct of Peak
@@ -86,12 +90,12 @@ Panel Config:
unit: (Instr + $normUnit)
Theoretical Bandwidth:
avg: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
/ (End_Timestamp - Start_Timestamp)))
min: MIN(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
/ (End_Timestamp - Start_Timestamp)))
max: MAX(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
unit: (Bytes + $normUnit)
/ (End_Timestamp - Start_Timestamp)))
unit: Gbps
LDS Latency:
avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else
None))
@@ -3,15 +3,18 @@ Panel Config:
id: 1300
title: Instruction Cache
metrics_description:
Bandwidth: The number of bytes looked up in the L1I cache, as a percent of the
peak theoretical bandwidth. Calculated as the ratio of L1I requests over the
total L1I cycles.
Bandwidth Utilization: The number of bytes looked up in the L1I cache, as a percent
of the peak theoretical bandwidth. Calculated as the ratio of L1I requests over
the total L1I cycles.
Cache Hit Rate: The percent of L1I requests that hit [#l1i-cache]_ on a previously
loaded line the cache. Calculated as the ratio of the number of L1I requests
that hit over the number of all L1I requests.
L1I-L2 Bandwidth: "The percent of the peak theoretical L1I \u2192 L2 cache request\
\ bandwidth achieved. Calculated as the ratio of the total number of requests\
\ from the L1I to the L2 cache over the total L1I-L2 interface cycles."
L1I-L2 Bandwidth Utilization: "The percent of the peak theoretical L1I \u2192\
\ L2 cache request bandwidth achieved. Calculated as the ratio of the total\
\ number of requests from the L1I to the L2 cache over the total L1I-L2 interface\
\ cycles."
L1I-L2 Bandwidth: Total number of bytes transferred across L1I - L2 interface
divided by total duration.
Req: The total number of requests made to the L1I per normalization-unit
Hits: The total number of L1I requests that hit on a previously loaded cache line,
per normalization-unit.
@@ -30,7 +33,7 @@ Panel Config:
value: Avg
unit: Unit
metric:
Bandwidth:
Bandwidth Utilization:
value: AVG(((SQC_ICACHE_REQ * 100000) / (($max_sclk * $sqc_per_gpu) * (End_Timestamp
- Start_Timestamp))))
unit: Pct of Peak
@@ -38,7 +41,7 @@ Panel Config:
value: AVG(((SQC_ICACHE_HITS * 100) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES)
+ SQC_ICACHE_MISSES_DUPLICATE)))
unit: Pct of Peak
L1I-L2 Bandwidth:
L1I-L2 Bandwidth Utilization:
value: AVG(((SQC_TC_INST_REQ * 100000) / (2 * ($max_sclk * $sqc_per_gpu)
* (End_Timestamp - Start_Timestamp))))
unit: Pct of Peak
@@ -100,7 +103,7 @@ Panel Config:
unit: Unit
metric:
L1I-L2 Bandwidth:
avg: AVG(((SQC_TC_INST_REQ * 64) / $denom))
min: MIN(((SQC_TC_INST_REQ * 64) / $denom))
max: MAX(((SQC_TC_INST_REQ * 64) / $denom))
unit: (Bytes + $normUnit)
avg: AVG(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
min: MIN(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
max: MAX(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
@@ -3,14 +3,17 @@ Panel Config:
id: 1400
title: Scalar L1 Data Cache
metrics_description:
Bandwidth: The number of bytes looked up in the sL1D cache, as a percent of the
peak theoretical bandwidth. Calculated as the ratio of sL1D requests over the
total sL1D cycles.
Bandwidth Utilization: The number of bytes looked up in the sL1D cache, as a percent
of the peak theoretical bandwidth. Calculated as the ratio of sL1D requests
over the total sL1D cycles.
Cache Hit Rate: Indicates the percent of sL1D requests that hit on a previously
loaded line the cache. The ratio of the number of sL1D requests that hit over
the number of all sL1D requests.
sL1D-L2 BW Utilization: The percentage of the peak theoretical sL1D - L2 interface
bandwidth acheived.\ \ Caclulated as total number of bytes read from, written
to, or atomically updated\ \ across the sL1D - L2 interface.
sL1D-L2 BW: "The total number of bytes read from, written to, or atomically updated\
\ across the sL1D\u2194L2 interface, per normalization unit. Note that sL1D\
\ across the sL1D\u2194L2 interface, divided by total duration. Note that sL1D\
\ writes and atomics are typically unused on current CDNA accelerators, so in\
\ the majority of cases this can be interpreted as an sL1D\u2192L2 read bandwidth."
Req: The total number of requests, of any size or type, made to the sL1D per normalization
@@ -51,7 +54,7 @@ Panel Config:
value: Avg
unit: Unit
metric:
Bandwidth:
Bandwidth Utilization:
value: AVG(((SQC_DCACHE_REQ * 100000) / (($max_sclk * $sqc_per_gpu) * (End_Timestamp
- Start_Timestamp))))
unit: Pct of Peak
@@ -60,7 +63,7 @@ Panel Config:
+ SQC_DCACHE_MISSES_DUPLICATE)) if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES
+ SQC_DCACHE_MISSES_DUPLICATE) != 0) else None))
unit: Pct of Peak
sL1D-L2 BW:
sL1D-L2 BW Utilization:
value: AVG(((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 100000) / (2 * ($max_sclk * $sqc_per_gpu) * (End_Timestamp - Start_Timestamp)))
unit: Pct of Peak
@@ -158,12 +161,12 @@ Panel Config:
metric:
sL1D-L2 BW:
avg: AVG(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
min: MIN(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
max: MAX(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
unit: (Bytes + $normUnit)
* 64)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
Read Req:
avg: AVG((SQC_TC_DATA_READ_REQ / $denom))
min: MIN((SQC_TC_DATA_READ_REQ / $denom))
@@ -5,12 +5,12 @@ Panel Config:
metrics_description:
Hit rate: The ratio of the number of vL1D cache line requests that hit in vL1D
cache over the total number of cache line requests to the vL1D Cache RAM.
Bandwidth: The number of bytes looked up in the vL1D cache as a result of VMEM
instructions, as a percent of the peak theoretical bandwidth achievable on the
specific accelerator. The number of bytes is calculated as the number of cache
lines requested multiplied by the cache line size. This value does not consider
partial requests, so for instance, if only a single value is requested in a
cache line, the data movement will still be counted as a full cache line.
Bandwidth Utilization: The number of bytes looked up in the vL1D cache as a result
of VMEM instructions, as a percent of the peak theoretical bandwidth achievable
on the specific accelerator. The number of bytes is calculated as the number
of cache lines requested multiplied by the cache line size. This value does
not consider partial requests, so for instance, if only a single value is requested
in a cache line, the data movement will still be counted as a full cache line.
Utilization: Indicates how busy the vL1D Cache RAM was during the kernel execution.
The number of cycles where the vL1D Cache RAM is actively processing any request
divided by the number of cycles where the vL1D is active.
@@ -42,11 +42,11 @@ Panel Config:
Atomic Req: The total number of incoming atomic requests from the address processing
unit after coalescing per normalization unit.
Cache BW: The number of bytes looked up in the vL1D cache as a result of VMEM
instructions per normalization unit. The number of bytes is calculated as the
number of cache lines requested multiplied by the cache line size. This value
does not consider partial requests, so for instance, if only a single value
is requested in a cache line, the data movement will still be counted as a full
cache line.
instructions divided by total duration. The number of bytes is calculated as
the number of cache lines requested multiplied by the cache line size. This
value does not consider partial requests, so for instance, if only a single
value is requested in a cache line, the data movement will still be counted
as a full cache line.
Cache Hit Rate: The ratio of the number of vL1D cache line requests that hit in
vL1D cache over the total number of cache line requests to the vL1D Cache RAM.
Cache Accesses: The total number of cache line lookups in the vL1D.
@@ -57,7 +57,7 @@ Panel Config:
command during the kernel's execution per normalization unit. This may be triggered
by, for instance, the buffer_wbinvl1 instruction.
L1-L2 BW: The number of bytes transferred across the vL1D-L2 interface as a result
of VMEM instructions, per normalization unit. The number of bytes is calculated
of VMEM instructions, divided by total duration. The number of bytes is calculated
as the number of cache lines requested multiplied by the cache line size. This
value does not consider partial requests, so for instance, if only a single
value is requested in a cache line, the data movement will still be counted
@@ -128,7 +128,7 @@ Panel Config:
/ TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0)
else None))
unit: Pct of Peak
Bandwidth:
Bandwidth Utilization:
value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / (End_Timestamp
- Start_Timestamp)))) / ((($max_sclk / 1000) * 128) * $cu_per_gpu))
unit: Pct of Peak
@@ -201,10 +201,10 @@ Panel Config:
/ $denom))
unit: (Req + $normUnit)
Cache BW:
avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / $denom))
min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / $denom))
max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / $denom))
unit: (Bytes + $normUnit)
avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / (End_Timestamp - Start_Timestamp)))
min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / (End_Timestamp - Start_Timestamp)))
max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
Cache Hit Rate:
avg: AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum)
+ TCP_TCC_ATOMIC_WITH_RET_REQ_sum) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum))
@@ -242,12 +242,12 @@ Panel Config:
unit: (Req + $normUnit)
L1-L2 BW:
avg: AVG(((128 * TCP_TCC_READ_REQ_sum + 64 * (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
min: MIN(((128 * TCP_TCC_READ_REQ_sum + 64 * (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
max: MAX(((128 * TCP_TCC_READ_REQ_sum + 64 * (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
unit: (Bytes + $normUnit)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
L1-L2 Read:
avg: AVG((TCP_TCC_READ_REQ_sum / $denom))
min: MIN((TCP_TCC_READ_REQ_sum / $denom))
@@ -20,8 +20,8 @@ Panel Config:
HBM Bandwidth: Maximum theoretical bandwidth of the accelerator's local high-bandwidth
memory (HBM) per unit time. This value is calculated as the number of HBM channels
multiplied by the HBM channel width multiplied by the HBM clock frequency.
Read BW: The total number of bytes read by the L2 cache from Infinity Fabric per
normalization unit.
Read BW: The total number of bytes read by the L2 cache from Infinity Fabric divided
by total duration.
HBM Read Traffic: The percent of read requests generated by the L2 cache that
are routed to the accelerator's local high-bandwidth memory (HBM). This breakdown
does not consider the size of the request (meaning that 32B and 64B requests
@@ -42,9 +42,9 @@ Panel Config:
as a single request), so this metric only approximates the percent of the L2-Fabric
read bandwidth directed to an uncached memory location.
Write and Atomic BW: The total number of bytes written by the L2 over Infinity
Fabric by write and atomic operations per normalization unit. Note that on current
CDNA accelerators, such as the MI2XX, requests are only considered atomic by
Infinity Fabric if they are targeted at non-write-cacheable memory, for example,
Fabric by write and atomic operations divided by total duration. Note that on
current CDNA accelerators, such as the MI2XX, requests are only considered atomic
by Infinity Fabric if they are targeted at non-write-cacheable memory, for example,
fine-grained memory allocations or uncached memory allocations on the MI2XX.
HBM Write and Atomic Traffic: The percent of write and atomic requests generated
by the L2 cache that are routed to the accelerator's local high-bandwidth memory
@@ -82,17 +82,17 @@ Panel Config:
Atomic Latency: The time-averaged number of cycles atomic requests spent in Infinity
Fabric before a completion acknowledgement (atomic without return value) or
data (atomic with return value) was returned to the L2.
Bandwidth: The number of bytes looked up in the L2 cache, per normalization unit.
Bandwidth: The number of bytes looked up in the L2 cache, divided by total duration.
The number of bytes is calculated as the number of cache lines requested multiplied
by the cache line size. This value does not consider partial requests, so for
example, if only a single value is requested in a cache line, the data movement
will still be counted as a full cache line.
Read Bandwidth: Total number of bytes looked up in the L2 cache for read requests,
per normalization unit.
divided by total duration.
Write Bandwidth: Total number of bytes looked up in the L2 cache for write requests,
per normalization unit.
divided by total duration.
Atomic Bandwidth: Total number of bytes looked up in the L2 cache for atomic requests,
per normalization unit.
divided by total duration.
Req: The total number of incoming requests to the L2 from all clients for all
request types, per normalization unit.
Read Req: The total number of read requests to the L2 from all clients.
@@ -150,11 +150,11 @@ Panel Config:
64B of data from any source other than the accelerator's local HBM, per normalization
unit.
Read Bandwidth - PCIe: Total number of bytes due to L2 read requests due to PCIe
traffic, per normalization unit.
traffic, divided by total duration.
"Read Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 read
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Read Bandwidth - HBM: Total number of bytes due to L2 read requests due to HBM
traffic, per normalization unit.
traffic, divided by total duration.
Write and Atomic (32B): The total number of L2 requests to Infinity Fabric to
write or atomically update 32B of data to any memory location, per normalization
unit.
@@ -171,17 +171,17 @@ Panel Config:
write or atomically update 32B or 64B of data in any memory location other than
the accelerator's local HBM, per normalization unit.
Write Bandwidth - PCIe: Total number of bytes due to L2 write requests due to
PCIe traffic, per normalization unit.
PCIe traffic, divided by total duration.
"Write Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 write
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Write Bandwidth - HBM: Total number of bytes due to L2 write requests due to HBM
traffic, per normalization unit.
traffic, divided by total duration.
Atomic Bandwidth - PCIe: Total number of bytes due to L2 atomic requests due to
PCIe traffic, per normalization unit.
PCIe traffic, divided by total duration.
"Atomic Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 atomic
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Atomic Bandwidth - HBM: Total number of bytes due to L2 atomic requests due to
HBM traffic, per normalization unit.
HBM traffic, divided by total duration.
Atomic: The total number of L2 requests to Infinity Fabric to atomically update
32B or 64B of data in any memory location, per normalization unit. See Request
flow for more detail. Note that on current CDNA accelerators, such as the MI2XX,
@@ -258,12 +258,15 @@ Panel Config:
metric:
Read BW:
avg: AVG(((128 * TCC_BUBBLE_sum + 64 * (TCC_EA0_RDREQ_sum - TCC_BUBBLE_sum
- TCC_EA0_RDREQ_32B_sum) + 32 * TCC_EA0_RDREQ_32B_sum) / $denom))
- TCC_EA0_RDREQ_32B_sum) + 32 * TCC_EA0_RDREQ_32B_sum) / (End_Timestamp
- Start_Timestamp)))
min: MIN(((128 * TCC_BUBBLE_sum + 64 * (TCC_EA0_RDREQ_sum - TCC_BUBBLE_sum
- TCC_EA0_RDREQ_32B_sum) + 32 * TCC_EA0_RDREQ_32B_sum) / $denom))
- TCC_EA0_RDREQ_32B_sum) + 32 * TCC_EA0_RDREQ_32B_sum) / (End_Timestamp
- Start_Timestamp)))
max: MAX(((128 * TCC_BUBBLE_sum + 64 * (TCC_EA0_RDREQ_sum - TCC_BUBBLE_sum
- TCC_EA0_RDREQ_32B_sum) + 32 * TCC_EA0_RDREQ_32B_sum) / $denom))
unit: (Bytes + $normUnit)
- TCC_EA0_RDREQ_32B_sum) + 32 * TCC_EA0_RDREQ_32B_sum) / (End_Timestamp
- Start_Timestamp)))
unit: Gbps
HBM Read Traffic:
avg: AVG((100 * (TCC_EA0_RDREQ_DRAM_sum / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum
!= 0) else None))
@@ -290,12 +293,12 @@ Panel Config:
unit: pct
Write and Atomic BW:
avg: AVG((((TCC_EA0_WRREQ_64B_sum * 64) + ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_64B_sum)
* 32)) / $denom))
* 32)) / (End_Timestamp - Start_Timestamp)))
min: MIN((((TCC_EA0_WRREQ_64B_sum * 64) + ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_64B_sum)
* 32)) / $denom))
* 32)) / (End_Timestamp - Start_Timestamp)))
max: MAX((((TCC_EA0_WRREQ_64B_sum * 64) + ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_64B_sum)
* 32)) / $denom))
unit: (Bytes + $normUnit)
* 32)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
HBM Write and Atomic Traffic:
avg: AVG((100 * (TCC_EA0_WRREQ_DRAM_sum / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum
!= 0) else None))
@@ -363,10 +366,10 @@ Panel Config:
unit: Unit
metric:
Bandwidth:
avg: AVG((TCC_REQ_sum * 128) / $denom)
min: MIN((TCC_REQ_sum * 128) / $denom)
max: MAX((TCC_REQ_sum * 128) / $denom)
unit: (Bytes + $normUnit)
avg: AVG((TCC_REQ_sum * 128) / (End_Timestamp - Start_Timestamp))
min: MIN((TCC_REQ_sum * 128) / (End_Timestamp - Start_Timestamp))
max: MAX((TCC_REQ_sum * 128) / (End_Timestamp - Start_Timestamp))
unit: Gbps
Req:
avg: AVG((TCC_REQ_sum / $denom))
min: MIN((TCC_REQ_sum / $denom))
@@ -11,8 +11,12 @@ Panel Config:
instructions, averaged over the lifetime of the kernel. Calculated as the ratio
of the total number of cycles spent by the scheduler issuing LDS instructions
over the total CU cycles.
Theoretical Bandwidth Utilization: Indicates the maximum amount of bytes that
could have been loaded from, stored to, or atomically updated in the LDS divided
as percentage of theoretical peak. Does not take into account the execution
mask of the wavefront when the instruction was executed.
Theoretical Bandwidth: Indicates the maximum amount of bytes that could have been
loaded from, stored to, or atomically updated in the LDS per normalization unit.
loaded from, stored to, or atomically updated in the LDS divided by total duration.
Does not take into account the execution mask of the wavefront when the instruction
was executed.
Bank Conflict Rate: Indicates the percentage of active LDS cycles that were spent
@@ -58,7 +62,7 @@ Panel Config:
Access Rate:
value: AVG(((200 * SQ_ACTIVE_INST_LDS) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)))
unit: Pct of Peak
Theoretical Bandwidth (% of Peak):
Theoretical Bandwidth Utilization:
value: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ (End_Timestamp - Start_Timestamp)) / (($max_sclk * $cu_per_gpu) * 0.00128)))
unit: Pct of Peak
@@ -116,12 +120,12 @@ Panel Config:
units: Gbps
Theoretical Bandwidth:
avg: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
/ (End_Timestamp - Start_Timestamp)))
min: MIN(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
/ (End_Timestamp - Start_Timestamp)))
max: MAX(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu))
/ $denom))
unit: (Bytes + $normUnit)
/ (End_Timestamp - Start_Timestamp)))
unit: Gbps
LDS Latency:
avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else
None))
@@ -3,15 +3,18 @@ Panel Config:
id: 1300
title: Instruction Cache
metrics_description:
Bandwidth: The number of bytes looked up in the L1I cache, as a percent of the
peak theoretical bandwidth. Calculated as the ratio of L1I requests over the
total L1I cycles.
Bandwidth Utilization: The number of bytes looked up in the L1I cache, as a percent
of the peak theoretical bandwidth. Calculated as the ratio of L1I requests over
the total L1I cycles.
Cache Hit Rate: The percent of L1I requests that hit [#l1i-cache]_ on a previously
loaded line the cache. Calculated as the ratio of the number of L1I requests
that hit over the number of all L1I requests.
L1I-L2 Bandwidth: "The percent of the peak theoretical L1I \u2192 L2 cache request\
\ bandwidth achieved. Calculated as the ratio of the total number of requests\
\ from the L1I to the L2 cache over the total L1I-L2 interface cycles."
L1I-L2 Bandwidth Utilization: "The percent of the peak theoretical L1I \u2192\
\ L2 cache request bandwidth achieved. Calculated as the ratio of the total\
\ number of requests from the L1I to the L2 cache over the total L1I-L2 interface\
\ cycles."
L1I-L2 Bandwidth: Total number of bytes transferred across L1I - L2 interface
divided by total duration.
Req: The total number of requests made to the L1I per normalization-unit
Hits: The total number of L1I requests that hit on a previously loaded cache line,
per normalization-unit.
@@ -30,7 +33,7 @@ Panel Config:
value: Avg
unit: Unit
metric:
Bandwidth:
Bandwidth Utilization:
value: AVG(((SQC_ICACHE_REQ * 100000) / (($max_sclk * $sqc_per_gpu) * (End_Timestamp
- Start_Timestamp))))
unit: Pct of Peak
@@ -38,7 +41,7 @@ Panel Config:
value: AVG(((SQC_ICACHE_HITS * 100) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES)
+ SQC_ICACHE_MISSES_DUPLICATE)))
unit: Pct of Peak
L1I-L2 Bandwidth:
L1I-L2 Bandwidth Utilization:
value: AVG(((SQC_TC_INST_REQ * 100000) / (2 * ($max_sclk * $sqc_per_gpu)
* (End_Timestamp - Start_Timestamp))))
unit: Pct of Peak
@@ -100,7 +103,7 @@ Panel Config:
unit: Unit
metric:
L1I-L2 Bandwidth:
avg: AVG(((SQC_TC_INST_REQ * 64) / $denom))
min: MIN(((SQC_TC_INST_REQ * 64) / $denom))
max: MAX(((SQC_TC_INST_REQ * 64) / $denom))
unit: (Bytes + $normUnit)
avg: AVG(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
min: MIN(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
max: MAX(((SQC_TC_INST_REQ * 64) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
@@ -3,14 +3,17 @@ Panel Config:
id: 1400
title: Scalar L1 Data Cache
metrics_description:
Bandwidth: The number of bytes looked up in the sL1D cache, as a percent of the
peak theoretical bandwidth. Calculated as the ratio of sL1D requests over the
total sL1D cycles.
Bandwidth Utilization: The number of bytes looked up in the sL1D cache, as a percent
of the peak theoretical bandwidth. Calculated as the ratio of sL1D requests
over the total sL1D cycles.
Cache Hit Rate: Indicates the percent of sL1D requests that hit on a previously
loaded line the cache. The ratio of the number of sL1D requests that hit over
the number of all sL1D requests.
sL1D-L2 BW Utilization: The percentage of the peak theoretical sL1D - L2 interface
bandwidth acheived.\ \ Caclulated as total number of bytes read from, written
to, or atomically updated\ \ across the sL1D - L2 interface.
sL1D-L2 BW: "The total number of bytes read from, written to, or atomically updated\
\ across the sL1D\u2194L2 interface, per normalization unit. Note that sL1D\
\ across the sL1D\u2194L2 interface, divided by total duration. Note that sL1D\
\ writes and atomics are typically unused on current CDNA accelerators, so in\
\ the majority of cases this can be interpreted as an sL1D\u2192L2 read bandwidth."
Req: The total number of requests, of any size or type, made to the sL1D per normalization
@@ -51,7 +54,7 @@ Panel Config:
value: Avg
unit: Unit
metric:
Bandwidth:
Bandwidth Utilization:
value: AVG(((SQC_DCACHE_REQ * 100000) / (($max_sclk * $sqc_per_gpu) * (End_Timestamp
- Start_Timestamp))))
unit: Pct of Peak
@@ -60,7 +63,7 @@ Panel Config:
+ SQC_DCACHE_MISSES_DUPLICATE)) if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES
+ SQC_DCACHE_MISSES_DUPLICATE) != 0) else None))
unit: Pct of Peak
sL1D-L2 BW:
sL1D-L2 BW Utilization:
value: AVG(((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 100000) / (2 * ($max_sclk * $sqc_per_gpu) * (End_Timestamp - Start_Timestamp)))
unit: Pct of Peak
@@ -158,12 +161,12 @@ Panel Config:
metric:
sL1D-L2 BW:
avg: AVG(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
min: MIN(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
* 64)) / (End_Timestamp - Start_Timestamp)))
max: MAX(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ)
* 64)) / $denom))
unit: (Bytes + $normUnit)
* 64)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
Read Req:
avg: AVG((SQC_TC_DATA_READ_REQ / $denom))
min: MIN((SQC_TC_DATA_READ_REQ / $denom))
@@ -5,12 +5,12 @@ Panel Config:
metrics_description:
Hit rate: The ratio of the number of vL1D cache line requests that hit in vL1D
cache over the total number of cache line requests to the vL1D Cache RAM.
Bandwidth: The number of bytes looked up in the vL1D cache as a result of VMEM
instructions, as a percent of the peak theoretical bandwidth achievable on the
specific accelerator. The number of bytes is calculated as the number of cache
lines requested multiplied by the cache line size. This value does not consider
partial requests, so for instance, if only a single value is requested in a
cache line, the data movement will still be counted as a full cache line.
Bandwidth Utilization: The number of bytes looked up in the vL1D cache as a result
of VMEM instructions, as a percent of the peak theoretical bandwidth achievable
on the specific accelerator. The number of bytes is calculated as the number
of cache lines requested multiplied by the cache line size. This value does
not consider partial requests, so for instance, if only a single value is requested
in a cache line, the data movement will still be counted as a full cache line.
Utilization: Indicates how busy the vL1D Cache RAM was during the kernel execution.
The number of cycles where the vL1D Cache RAM is actively processing any request
divided by the number of cycles where the vL1D is active.
@@ -42,11 +42,11 @@ Panel Config:
Atomic Req: The total number of incoming atomic requests from the address processing
unit after coalescing per normalization unit.
Cache BW: The number of bytes looked up in the vL1D cache as a result of VMEM
instructions per normalization unit. The number of bytes is calculated as the
number of cache lines requested multiplied by the cache line size. This value
does not consider partial requests, so for instance, if only a single value
is requested in a cache line, the data movement will still be counted as a full
cache line.
instructions divided by total duration. The number of bytes is calculated as
the number of cache lines requested multiplied by the cache line size. This
value does not consider partial requests, so for instance, if only a single
value is requested in a cache line, the data movement will still be counted
as a full cache line.
Cache Hit Rate: The ratio of the number of vL1D cache line requests that hit in
vL1D cache over the total number of cache line requests to the vL1D Cache RAM.
Cache Accesses: The total number of cache line lookups in the vL1D.
@@ -57,7 +57,7 @@ Panel Config:
command during the kernel's execution per normalization unit. This may be triggered
by, for instance, the buffer_wbinvl1 instruction.
L1-L2 BW: The number of bytes transferred across the vL1D-L2 interface as a result
of VMEM instructions, per normalization unit. The number of bytes is calculated
of VMEM instructions, divided by total duration. The number of bytes is calculated
as the number of cache lines requested multiplied by the cache line size. This
value does not consider partial requests, so for instance, if only a single
value is requested in a cache line, the data movement will still be counted
@@ -128,7 +128,7 @@ Panel Config:
/ TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0)
else None))
unit: Pct of Peak
Bandwidth:
Bandwidth Utilization:
value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / (End_Timestamp
- Start_Timestamp)))) / ((($max_sclk / 1000) * 128) * $cu_per_gpu))
unit: Pct of Peak
@@ -216,10 +216,10 @@ Panel Config:
/ $denom))
unit: (Req + $normUnit)
Cache BW:
avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / $denom))
min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / $denom))
max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / $denom))
unit: (Bytes + $normUnit)
avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / (End_Timestamp - Start_Timestamp)))
min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / (End_Timestamp - Start_Timestamp)))
max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 128) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
Cache Hit Rate:
avg: AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum)
+ TCP_TCC_ATOMIC_WITH_RET_REQ_sum) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum))
@@ -257,12 +257,12 @@ Panel Config:
unit: (Req + $normUnit)
L1-L2 BW:
avg: AVG(((128 * TCP_TCC_READ_REQ_sum + 64 * (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
min: MIN(((128 * TCP_TCC_READ_REQ_sum + 64 * (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
max: MAX(((128 * TCP_TCC_READ_REQ_sum + 64 * (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
unit: (Bytes + $normUnit)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
Tag RAM 0 Req:
avg: AVG((TCP_TAGRAM0_REQ_sum / $denom))
min: MIN((TCP_TAGRAM0_REQ_sum / $denom))
@@ -20,8 +20,8 @@ Panel Config:
HBM Bandwidth: Maximum theoretical bandwidth of the accelerator's local high-bandwidth
memory (HBM) per unit time. This value is calculated as the number of HBM channels
multiplied by the HBM channel width multiplied by the HBM clock frequency.
Read BW: The total number of bytes read by the L2 cache from Infinity Fabric per
normalization unit.
Read BW: The total number of bytes read by the L2 cache from Infinity Fabric divided
by total duration.
HBM Read Traffic: The percent of read requests generated by the L2 cache that
are routed to the accelerator's local high-bandwidth memory (HBM). This breakdown
does not consider the size of the request (meaning that 32B and 64B requests
@@ -42,9 +42,9 @@ Panel Config:
as a single request), so this metric only approximates the percent of the L2-Fabric
read bandwidth directed to an uncached memory location.
Write and Atomic BW: The total number of bytes written by the L2 over Infinity
Fabric by write and atomic operations per normalization unit. Note that on current
CDNA accelerators, such as the MI2XX, requests are only considered atomic by
Infinity Fabric if they are targeted at non-write-cacheable memory, for example,
Fabric by write and atomic operations divided by total duration. Note that on
current CDNA accelerators, such as the MI2XX, requests are only considered atomic
by Infinity Fabric if they are targeted at non-write-cacheable memory, for example,
fine-grained memory allocations or uncached memory allocations on the MI2XX.
HBM Write and Atomic Traffic: The percent of write and atomic requests generated
by the L2 cache that are routed to the accelerator's local high-bandwidth memory
@@ -82,17 +82,17 @@ Panel Config:
Atomic Latency: The time-averaged number of cycles atomic requests spent in Infinity
Fabric before a completion acknowledgement (atomic without return value) or
data (atomic with return value) was returned to the L2.
Bandwidth: The number of bytes looked up in the L2 cache, per normalization unit.
Bandwidth: The number of bytes looked up in the L2 cache, divided by total duration.
The number of bytes is calculated as the number of cache lines requested multiplied
by the cache line size. This value does not consider partial requests, so for
example, if only a single value is requested in a cache line, the data movement
will still be counted as a full cache line.
Read Bandwidth: Total number of bytes looked up in the L2 cache for read requests,
per normalization unit.
divided by total duration.
Write Bandwidth: Total number of bytes looked up in the L2 cache for write requests,
per normalization unit.
divided by total duration.
Atomic Bandwidth: Total number of bytes looked up in the L2 cache for atomic requests,
per normalization unit.
divided by total duration.
Req: The total number of incoming requests to the L2 from all clients for all
request types, per normalization unit.
Read Req: The total number of read requests to the L2 from all clients.
@@ -150,11 +150,11 @@ Panel Config:
64B of data from any source other than the accelerator's local HBM, per normalization
unit.
Read Bandwidth - PCIe: Total number of bytes due to L2 read requests due to PCIe
traffic, per normalization unit.
traffic, divided by total duration.
"Read Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 read
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Read Bandwidth - HBM: Total number of bytes due to L2 read requests due to HBM
traffic, per normalization unit.
traffic, divided by total duration.
Write and Atomic (32B): The total number of L2 requests to Infinity Fabric to
write or atomically update 32B of data to any memory location, per normalization
unit.
@@ -171,17 +171,17 @@ Panel Config:
write or atomically update 32B or 64B of data in any memory location other than
the accelerator's local HBM, per normalization unit.
Write Bandwidth - PCIe: Total number of bytes due to L2 write requests due to
PCIe traffic, per normalization unit.
PCIe traffic, divided by total duration.
"Write Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 write
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Write Bandwidth - HBM: Total number of bytes due to L2 write requests due to HBM
traffic, per normalization unit.
traffic, divided by total duration.
Atomic Bandwidth - PCIe: Total number of bytes due to L2 atomic requests due to
PCIe traffic, per normalization unit.
PCIe traffic, divided by total duration.
"Atomic Bandwidth - Infinity Fabric\u2122": Total number of bytes due to L2 atomic
requests due to Infinity Fabric traffic, per normalization unit.
requests due to Infinity Fabric traffic, divided by total duration.
Atomic Bandwidth - HBM: Total number of bytes due to L2 atomic requests due to
HBM traffic, per normalization unit.
HBM traffic, divided by total duration.
Atomic: The total number of L2 requests to Infinity Fabric to atomically update
32B or 64B of data in any memory location, per normalization unit. See Request
flow for more detail. Note that on current CDNA accelerators, such as the MI2XX,
@@ -257,12 +257,12 @@ Panel Config:
metric:
Read BW:
avg: AVG((((TCC_EA0_RDREQ_32B_sum * 32) + (TCC_EA0_RDREQ_64B_sum * 64) +
(TCC_EA0_RDREQ_128B_sum * 128)) / $denom))
(TCC_EA0_RDREQ_128B_sum * 128)) / (End_Timestamp - Start_Timestamp)))
min: MIN((((TCC_EA0_RDREQ_32B_sum * 32) + (TCC_EA0_RDREQ_64B_sum * 64) +
(TCC_EA0_RDREQ_128B_sum * 128)) / $denom))
(TCC_EA0_RDREQ_128B_sum * 128)) / (End_Timestamp - Start_Timestamp)))
max: MAX((((TCC_EA0_RDREQ_32B_sum * 32) + (TCC_EA0_RDREQ_64B_sum * 64) +
(TCC_EA0_RDREQ_128B_sum * 128)) / $denom))
unit: (Bytes + $normUnit)
(TCC_EA0_RDREQ_128B_sum * 128)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
HBM Read Traffic:
avg: AVG((100 * (TCC_EA0_RDREQ_DRAM_sum / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum
!= 0) else None))
@@ -289,12 +289,12 @@ Panel Config:
unit: pct
Write and Atomic BW:
avg: AVG((((TCC_EA0_WRREQ_64B_sum * 64) + ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_64B_sum)
* 32)) / $denom))
* 32)) / (End_Timestamp - Start_Timestamp)))
min: MIN((((TCC_EA0_WRREQ_64B_sum * 64) + ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_64B_sum)
* 32)) / $denom))
* 32)) / (End_Timestamp - Start_Timestamp)))
max: MAX((((TCC_EA0_WRREQ_64B_sum * 64) + ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_64B_sum)
* 32)) / $denom))
unit: (Bytes + $normUnit)
* 32)) / (End_Timestamp - Start_Timestamp)))
unit: Gbps
HBM Write and Atomic Traffic:
avg: AVG((100 * (TCC_EA0_WRREQ_DRAM_sum / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum
!= 0) else None))
@@ -381,25 +381,25 @@ Panel Config:
unit: Unit
metric:
Bandwidth:
avg: AVG((TCC_REQ_sum * 128) / $denom)
min: MIN((TCC_REQ_sum * 128) / $denom)
max: MAX((TCC_REQ_sum * 128) / $denom)
unit: (Bytes + $normUnit)
avg: AVG((TCC_REQ_sum * 128) / (End_Timestamp - Start_Timestamp))
min: MIN((TCC_REQ_sum * 128) / (End_Timestamp - Start_Timestamp))
max: MAX((TCC_REQ_sum * 128) / (End_Timestamp - Start_Timestamp))
unit: Gbps
Read Bandwidth:
avg: AVG(TCC_READ_SECTORS_sum * 32/ $denom)
min: MIN(TCC_READ_SECTORS_sum * 32/ $denom)
max: MAX(TCC_READ_SECTORS_sum * 32/ $denom)
unit: (Bytes + $normUnit)
avg: AVG(TCC_READ_SECTORS_sum * 32/ (End_Timestamp - Start_Timestamp))
min: MIN(TCC_READ_SECTORS_sum * 32/ (End_Timestamp - Start_Timestamp))
max: MAX(TCC_READ_SECTORS_sum * 32/ (End_Timestamp - Start_Timestamp))
unit: Gbps
Write Bandwidth:
avg: AVG(TCC_WRITE_SECTORS_sum * 32/ $denom)
min: MIN(TCC_WRITE_SECTORS_sum * 32/ $denom)
max: MAX(TCC_WRITE_SECTORS_sum * 32/ $denom)
unit: (Bytes + $normUnit)
avg: AVG(TCC_WRITE_SECTORS_sum * 32/ (End_Timestamp - Start_Timestamp))
min: MIN(TCC_WRITE_SECTORS_sum * 32/ (End_Timestamp - Start_Timestamp))
max: MAX(TCC_WRITE_SECTORS_sum * 32/ (End_Timestamp - Start_Timestamp))
unit: Gbps
Atomic Bandwidth:
avg: AVG(TCC_ATOMIC_SECTORS_sum * 32/ $denom)
min: MIN(TCC_ATOMIC_SECTORS_sum * 32/ $denom)
max: MAX(TCC_ATOMIC_SECTORS_sum * 32/ $denom)
unit: (Bytes + $normUnit)
avg: AVG(TCC_ATOMIC_SECTORS_sum * 32/ (End_Timestamp - Start_Timestamp))
min: MIN(TCC_ATOMIC_SECTORS_sum * 32/ (End_Timestamp - Start_Timestamp))
max: MAX(TCC_ATOMIC_SECTORS_sum * 32/ (End_Timestamp - Start_Timestamp))
unit: Gbps
Req:
avg: AVG((TCC_REQ_sum / $denom))
min: MIN((TCC_REQ_sum / $denom))
@@ -653,20 +653,20 @@ Panel Config:
max: MAX((MAX((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum), 0) / $denom))
unit: (Req + $normUnit)
Read Bandwidth - PCIe:
avg: AVG(TCC_EA0_RDREQ_IO_32B_sum * 32/ $denom)
min: MIN(TCC_EA0_RDREQ_IO_32B_sum * 32/ $denom)
max: MAX(TCC_EA0_RDREQ_IO_32B_sum * 32/ $denom)
unit: (Bytes + $normUnit)
avg: AVG(TCC_EA0_RDREQ_IO_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
min: MIN(TCC_EA0_RDREQ_IO_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
max: MAX(TCC_EA0_RDREQ_IO_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
unit: Gbps
"Read Bandwidth - Infinity Fabric\u2122":
avg: AVG(TCC_EA0_RDREQ_GMI_32B_sum * 32/ $denom)
min: MIN(TCC_EA0_RDREQ_GMI_32B_sum * 32/ $denom)
max: MAX(TCC_EA0_RDREQ_GMI_32B_sum * 32/ $denom)
unit: (Bytes + $normUnit)
avg: AVG(TCC_EA0_RDREQ_GMI_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
min: MIN(TCC_EA0_RDREQ_GMI_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
max: MAX(TCC_EA0_RDREQ_GMI_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
unit: Gbps
Read Bandwidth - HBM:
avg: AVG(TCC_EA0_RDREQ_DRAM_32B_sum * 32/ $denom)
min: MIN(TCC_EA0_RDREQ_DRAM_32B_sum * 32/ $denom)
max: MAX(TCC_EA0_RDREQ_DRAM_32B_sum * 32/ $denom)
unit: (Bytes + $normUnit)
avg: AVG(TCC_EA0_RDREQ_DRAM_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
min: MIN(TCC_EA0_RDREQ_DRAM_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
max: MAX(TCC_EA0_RDREQ_DRAM_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
unit: Gbps
Write and Atomic (32B):
avg: AVG(((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_64B_sum) / $denom))
min: MIN(((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_64B_sum) / $denom))
@@ -693,20 +693,20 @@ Panel Config:
max: MAX((MAX((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum), 0) / $denom))
unit: (Req + $normUnit)
Write Bandwidth - PCIe:
avg: AVG(TCC_EA0_WRREQ_WRITE_IO_32B_sum * 32/ $denom)
min: MIN(TCC_EA0_WRREQ_WRITE_IO_32B_sum * 32/ $denom)
max: MAX(TCC_EA0_WRREQ_WRITE_IO_32B_sum * 32/ $denom)
unit: (Bytes + $normUnit)
avg: AVG(TCC_EA0_WRREQ_WRITE_IO_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
min: MIN(TCC_EA0_WRREQ_WRITE_IO_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
max: MAX(TCC_EA0_WRREQ_WRITE_IO_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
unit: Gbps
"Write Bandwidth - Infinity Fabric\u2122":
avg: AVG(TCC_EA0_WRREQ_WRITE_GMI_32B_sum * 32/ $denom)
min: MIN(TCC_EA0_WRREQ_WRITE_GMI_32B_sum * 32/ $denom)
max: MAX(TCC_EA0_WRREQ_WRITE_GMI_32B_sum * 32/ $denom)
unit: (Bytes + $normUnit)
avg: AVG(TCC_EA0_WRREQ_WRITE_GMI_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
min: MIN(TCC_EA0_WRREQ_WRITE_GMI_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
max: MAX(TCC_EA0_WRREQ_WRITE_GMI_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
unit: Gbps
Write Bandwidth - HBM:
avg: AVG(TCC_EA0_WRREQ_WRITE_DRAM_32B_sum * 32/ $denom)
min: MIN(TCC_EA0_WRREQ_WRITE_DRAM_32B_sum * 32/ $denom)
max: MAX(TCC_EA0_WRREQ_WRITE_DRAM_32B_sum * 32/ $denom)
unit: (Bytes + $normUnit)
avg: AVG(TCC_EA0_WRREQ_WRITE_DRAM_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
min: MIN(TCC_EA0_WRREQ_WRITE_DRAM_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
max: MAX(TCC_EA0_WRREQ_WRITE_DRAM_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
unit: Gbps
Atomic:
avg: AVG((TCC_EA0_ATOMIC_sum / $denom))
min: MIN((TCC_EA0_ATOMIC_sum / $denom))
@@ -718,17 +718,17 @@ Panel Config:
max: MAX((TCC_EA0_WRREQ_ATOMIC_DRAM_sum / $denom))
unit: (Req + $normUnit)
Atomic Bandwidth - PCIe:
avg: AVG(TCC_EA0_WRREQ_ATOMIC_IO_32B_sum * 32/ $denom)
min: MIN(TCC_EA0_WRREQ_ATOMIC_IO_32B_sum * 32/ $denom)
max: MAX(TCC_EA0_WRREQ_ATOMIC_IO_32B_sum * 32/ $denom)
unit: (Bytes + $normUnit)
avg: AVG(TCC_EA0_WRREQ_ATOMIC_IO_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
min: MIN(TCC_EA0_WRREQ_ATOMIC_IO_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
max: MAX(TCC_EA0_WRREQ_ATOMIC_IO_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
unit: Gbps
"Atomic Bandwidth - Infinity Fabric\u2122":
avg: AVG(TCC_EA0_WRREQ_ATOMIC_GMI_32B_sum * 32/ $denom)
min: MIN(TCC_EA0_WRREQ_ATOMIC_GMI_32B_sum * 32/ $denom)
max: MAX(TCC_EA0_WRREQ_ATOMIC_GMI_32B_sum * 32/ $denom)
unit: (Bytes + $normUnit)
avg: AVG(TCC_EA0_WRREQ_ATOMIC_GMI_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
min: MIN(TCC_EA0_WRREQ_ATOMIC_GMI_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
max: MAX(TCC_EA0_WRREQ_ATOMIC_GMI_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
unit: Gbps
Atomic Bandwidth - HBM:
avg: AVG(TCC_EA0_WRREQ_ATOMIC_DRAM_32B_sum * 32/ $denom)
min: MIN(TCC_EA0_WRREQ_ATOMIC_DRAM_32B_sum * 32/ $denom)
max: MAX(TCC_EA0_WRREQ_ATOMIC_DRAM_32B_sum * 32/ $denom)
unit: (Bytes + $normUnit)
avg: AVG(TCC_EA0_WRREQ_ATOMIC_DRAM_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
min: MIN(TCC_EA0_WRREQ_ATOMIC_DRAM_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
max: MAX(TCC_EA0_WRREQ_ATOMIC_DRAM_32B_sum * 32/ (End_Timestamp - Start_Timestamp))
unit: Gbps