diff --git a/projects/rocprofiler-compute/src/argparser.py b/projects/rocprofiler-compute/src/argparser.py index 8525a30fc4..40dc63030a 100644 --- a/projects/rocprofiler-compute/src/argparser.py +++ b/projects/rocprofiler-compute/src/argparser.py @@ -505,7 +505,7 @@ def omniarg_parser(parser, omniperf_home, supported_archs, omniperf_version): nargs="+", help="\t\tSpecify column indices to display.", ) - analyze_advanced_group.add_argument("-g", action="store_true", help="\t\tDebug single metric.") + analyze_advanced_group.add_argument("-g", dest="debug", action="store_true", help="\t\tDebug single metric.") analyze_advanced_group.add_argument( "--dependency", action="store_true", help="\t\tList the installation dependency." ) diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/0000_top_stat.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/0000_top_stat.yaml deleted file mode 100644 index 077004080f..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/0000_top_stat.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -Panel Config: - id: 000 - title: Top Stat - data source: - - raw_csv_table: - id: 001 - source: pmc_kernel_top.csv diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/0100_system_info.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/0100_system_info.yaml deleted file mode 100644 index b7ec29eaf9..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/0100_system_info.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -Panel Config: - id: 100 - title: System Info - data source: - - raw_csv_table: - id: 101 - source: sysinfo.csv - columnwise: True diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/0200_system-speed-of-light.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/0200_system-speed-of-light.yaml deleted file mode 100644 index 986b2f0aec..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/0200_system-speed-of-light.yaml +++ /dev/null @@ -1,230 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - SALU: &SALU_anchor Scalar Arithmetic Logic Unit - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 200 - title: System Speed-of-Light - data source: - - metric_table: - id: 201 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - peak: Peak - pop: PoP - tips: Tips - metric: - VALU FLOPs: - value: None # No perf counter - unit: GFLOPs - peak: (((($sclk * $numCU) * 64) * 2) / 1000) - pop: None # No perf counter - tips: - VALU IOPs: - value: None # No perf counter - unit: GOPs - peak: (((($sclk * $numCU) * 64) * 2) / 1000) - pop: None # No perf counter - tips: - MFMA FLOPs (BF16): - value: None # No perf counter - unit: GFLOPs - peak: ((($sclk * $numCU) * 512) / 1000) - pop: None # No perf counter - tips: - MFMA FLOPs (F16): - value: None # No perf counter - unit: GFLOPs - peak: ((($sclk * $numCU) * 1024) / 1000) - pop: None # No perf counter - tips: - MFMA FLOPs (F32): - value: None # No perf counter - unit: GFLOPs - peak: ((($sclk * $numCU) * 256) / 1000) - pop: None # No perf counter - tips: - MFMA FLOPs (F64): - value: None # No perf counter - unit: GFLOPs - peak: ((($sclk * $numCU) * 256) / 1000) - pop: None # No perf counter - tips: - MFMA IOPs (Int8): - value: None # No perf counter - unit: GOPs - peak: ((($sclk * $numCU) * 1024) / 1000) - pop: None # No perf counter - tips: - Active CUs: - value: $numActiveCUs - unit: CUs - peak: $numCU - pop: ((100 * $numActiveCUs) / $numCU) - tips: - SALU Util: - value: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - peak: 100 - pop: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU))) - tips: - VALU Util: - value: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - peak: 100 - pop: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU))) - tips: - MFMA Util: - value: None # No HW module - unit: pct - peak: 100 - pop: None # No HW module - tips: - VALU Active Threads/Wave: - value: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) - unit: Threads - peak: 64 - pop: (AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) * 1.5625) - tips: - IPC - Issue: - value: AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) - + SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) - / SQ_ACTIVE_INST_ANY)) - unit: Instr/cycle - peak: 5 - pop: ((100 * AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) - + SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) - / SQ_ACTIVE_INST_ANY))) / 5) - tips: - LDS BW: - value: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / (EndNs - BeginNs))) - unit: GB/sec - peak: (($sclk * $numCU) * 0.128) - pop: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / (EndNs - BeginNs)) / (($sclk * $numCU) * 0.00128))) - tips: - LDS Bank Conflict: - value: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - unit: Conflicts/access - peak: 32 - pop: ((100 * AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))) / 32) - tips: - Instr Cache Hit Rate: - value: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES))) - unit: pct - peak: 100 - pop: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES))) - tips: - Instr Cache BW: - value: AVG(((SQC_ICACHE_REQ / (EndNs - BeginNs)) * 64)) - unit: GB/s - peak: ((($sclk / 1000) * 64) * $numSQC) - pop: ((100 * AVG(((SQC_ICACHE_REQ / (EndNs - BeginNs)) * 64))) / ((($sclk - / 1000) * 64) * $numSQC)) - tips: - Scalar L1D Cache Hit Rate: - value: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES)) - if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None)) - unit: pct - peak: 100 - pop: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES)) - if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None)) - tips: - Scalar L1D Cache BW: - value: AVG(((SQC_DCACHE_REQ / (EndNs - BeginNs)) * 64)) - unit: GB/s - peak: ((($sclk / 1000) * 64) * $numSQC) - pop: ((100 * AVG(((SQC_DCACHE_REQ / (EndNs - BeginNs)) * 64))) / ((($sclk - / 1000) * 64) * $numSQC)) - tips: - Vector L1D Cache Hit Rate: - value: 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)) - / TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - unit: pct - peak: 100 - pop: 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)) / - TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - tips: - Vector L1D Cache BW: - value: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) - unit: GB/s - peak: ((($sclk / 1000) * 64) * $numCU) - pop: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs)))) - / ((($sclk / 1000) * 64) * $numCU)) - tips: - L2 Cache Hit Rate: - value: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - unit: pct - peak: 100 - pop: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - tips: - L2-Fabric Read BW: - value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / (EndNs - BeginNs))) - unit: GB/s - peak: $hbmBW - pop: ((100 * AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / (EndNs - BeginNs)))) / $hbmBW) - tips: - L2-Fabric Write BW: - value: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / (EndNs - BeginNs))) - unit: GB/s - peak: $hbmBW - pop: ((100 * AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / (EndNs - BeginNs)))) / $hbmBW) - tips: - L2-Fabric Read Latency: - value: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum - != 0) else None)) - unit: Cycles - peak: '' - pop: '' - tips: - L2-Fabric Write Latency: - value: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum - != 0) else None)) - unit: Cycles - peak: '' - pop: '' - tips: - Wave Occupancy: - value: AVG((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE)) - unit: Wavefronts - peak: ($maxWavesPerCU * $numCU) - pop: (100 * AVG(((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE) / ($maxWavesPerCU - * $numCU)))) - coll_level: SQ_LEVEL_WAVES - tips: - Instr Fetch BW: - value: AVG(((SQ_IFETCH / (EndNs - BeginNs)) * 32)) - unit: GB/s - peak: ((($sclk / 1000) * 32) * $numSQC) - pop: ((100 * AVG(((SQ_IFETCH / (EndNs - BeginNs)) * 32))) / ($numSQC - * (($sclk / 1000) * 32))) - coll_level: SQ_IFETCH_LEVEL - tips: - Instr Fetch Latency: - value: AVG((SQ_ACCUM_PREV_HIRES / SQ_IFETCH)) - unit: Cycles - peak: '' - pop: '' - coll_level: SQ_IFETCH_LEVEL - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/0500_command-processor.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/0500_command-processor.yaml deleted file mode 100644 index 5250918799..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/0500_command-processor.yaml +++ /dev/null @@ -1,180 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 500 - title: Command Processor (CPC/CPF) - data source: - - metric_table: - id: 501 - title: Command Processor Fetcher - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - GPU Busy Cycles: - avg: AVG(GRBM_GUI_ACTIVE) - min: MIN(GRBM_GUI_ACTIVE) - max: MAX(GRBM_GUI_ACTIVE) - unit: Cycles/Kernel - tips: - CPF Busy: - avg: AVG(CPF_CPF_STAT_BUSY) - min: MIN(CPF_CPF_STAT_BUSY) - max: MAX(CPF_CPF_STAT_BUSY) - unit: Cycles/Kernel - tips: - CPF Util: - avg: AVG((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE)) - if ((CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE) != 0) else None)) - min: MIN((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE)) - if ((CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE) != 0) else None)) - max: MAX((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE)) - if ((CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE) != 0) else None)) - unit: pct - tips: - CPF Stall: - avg: AVG((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY - != 0) else None)) - min: MIN((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY - != 0) else None)) - max: MAX((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY - != 0) else None)) - unit: Cycles/Kernel - tips: - L2Cache Intf Busy: - avg: AVG(CPF_CPF_TCIU_BUSY) - min: MIN(CPF_CPF_TCIU_BUSY) - max: MAX(CPF_CPF_TCIU_BUSY) - unit: Cycles/Kernel - tips: - L2Cache Intf Util: - avg: AVG((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE)) - if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None)) - min: MIN((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE)) - if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None)) - max: MAX((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE)) - if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None)) - unit: pct - tips: - L2Cache Intf Stall: - avg: AVG((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY - != 0) else None)) - min: MIN((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY - != 0) else None)) - max: MAX((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY - != 0) else None)) - unit: pct - tips: - UTCL1 Stall: - avg: AVG(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) - min: MIN(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) - max: MAX(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) - unit: Cycles/Kernel - tips: - - - metric_table: - id: 502 - title: Command Processor Compute - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - GPU Busy Cycles: - avg: AVG(GRBM_GUI_ACTIVE) - min: MIN(GRBM_GUI_ACTIVE) - max: MAX(GRBM_GUI_ACTIVE) - unit: Cycles - tips: - CPC Busy Cycles: - avg: AVG(CPC_CPC_STAT_BUSY) - min: MIN(CPC_CPC_STAT_BUSY) - max: MAX(CPC_CPC_STAT_BUSY) - unit: Cycles - tips: - CPC Util: - avg: AVG((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE)) - if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None)) - min: MIN((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE)) - if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None)) - max: MAX((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE)) - if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None)) - unit: pct - tips: - CPC Stall Cycles: - avg: AVG(CPC_CPC_STAT_STALL) - min: MIN(CPC_CPC_STAT_STALL) - max: MAX(CPC_CPC_STAT_STALL) - unit: Cycles - tips: - CPC Stall Rate: - avg: AVG((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - min: MIN((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - max: MAX((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - unit: pct - tips: - CPC Packet Decoding: - avg: AVG(CPC_ME1_BUSY_FOR_PACKET_DECODE) - min: MIN(CPC_ME1_BUSY_FOR_PACKET_DECODE) - max: MAX(CPC_ME1_BUSY_FOR_PACKET_DECODE) - unit: Cycles - tips: - SPI Intf Busy Cycles: - avg: AVG(CPC_ME1_DC0_SPI_BUSY) - min: MIN(CPC_ME1_DC0_SPI_BUSY) - max: MAX(CPC_ME1_DC0_SPI_BUSY) - unit: Cycles - tips: - SPI Intf Util: - avg: AVG((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - min: MIN((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - max: MAX((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - unit: pct - tips: - L2Cache Intf Util: - avg: AVG((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE)) - if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None)) - min: MIN((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE)) - if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None)) - max: MAX((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE)) - if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None)) - unit: pct - tips: - UTCL1 Stall Cycles: - avg: AVG(CPC_UTCL1_STALL_ON_TRANSLATION) - min: MIN(CPC_UTCL1_STALL_ON_TRANSLATION) - max: MAX(CPC_UTCL1_STALL_ON_TRANSLATION) - unit: Cycles - tips: - UTCL2 Intf Busy Cycles: - avg: AVG(CPC_CPC_UTCL2IU_BUSY) - min: MIN(CPC_CPC_UTCL2IU_BUSY) - max: MAX(CPC_CPC_UTCL2IU_BUSY) - unit: Cycles - tips: - UTCL2 Intf Util: - avg: AVG((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE)) - if ((CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE) != 0) else None)) - min: MIN((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE)) - if ((CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE) != 0) else None)) - max: MAX((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE)) - if ((CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE) != 0) else None)) - unit: pct - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/0600_shader-processor-input.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/0600_shader-processor-input.yaml deleted file mode 100644 index bab48700ac..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/0600_shader-processor-input.yaml +++ /dev/null @@ -1,174 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 600 - title: Shader Processor Input (SPI) - data source: - - metric_table: - id: 601 - title: SPI Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - GPU Busy: - avg: AVG(GRBM_GUI_ACTIVE) - min: MIN(GRBM_GUI_ACTIVE) - max: MAX(GRBM_GUI_ACTIVE) - unit: Cycles - tips: - CS Busy: - avg: AVG(SPI_CSN_BUSY) - min: MIN(SPI_CSN_BUSY) - max: MAX(SPI_CSN_BUSY) - unit: Cycles - tips: - SPI Busy: - avg: AVG(GRBM_SPI_BUSY) - min: MIN(GRBM_SPI_BUSY) - max: MAX(GRBM_SPI_BUSY) - unit: Cycles - tips: - SQ Busy: - avg: AVG(SQ_BUSY_CYCLES) - min: MIN(SQ_BUSY_CYCLES) - max: MAX(SQ_BUSY_CYCLES) - unit: Cycles - tips: - Dispatched Workgroups: - avg: AVG(SPI_CSN_NUM_THREADGROUPS) - min: MIN(SPI_CSN_NUM_THREADGROUPS) - max: MAX(SPI_CSN_NUM_THREADGROUPS) - unit: Workgroups - tips: - Dispatched Wavefronts: - avg: AVG(SPI_CSN_WAVE) - min: MIN(SPI_CSN_WAVE) - max: MAX(SPI_CSN_WAVE) - unit: Wavefronts - tips: - Wave Alloc Failed: - avg: AVG(SPI_RA_REQ_NO_ALLOC) - min: MIN(SPI_RA_REQ_NO_ALLOC) - max: MAX(SPI_RA_REQ_NO_ALLOC) - unit: Cycles - tips: - Wave Alloc Failed - CS: - avg: AVG(SPI_RA_REQ_NO_ALLOC_CSN) - min: MIN(SPI_RA_REQ_NO_ALLOC_CSN) - max: MAX(SPI_RA_REQ_NO_ALLOC_CSN) - unit: Cycles - tips: - - - metric_table: - id: 602 - title: SPI Resource Allocation - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Wave request Failed (CS): - avg: AVG(SPI_RA_REQ_NO_ALLOC_CSN) - min: MIN(SPI_RA_REQ_NO_ALLOC_CSN) - max: MAX(SPI_RA_REQ_NO_ALLOC_CSN) - unit: Cycles - tips: - CS Stall: - avg: AVG(SPI_RA_RES_STALL_CSN) - min: MIN(SPI_RA_RES_STALL_CSN) - max: MAX(SPI_RA_RES_STALL_CSN) - unit: Cycles - tips: - CS Stall Rate: - avg: AVG((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY != - 0) else None)) - min: MIN((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY != - 0) else None)) - max: MAX((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY != - 0) else None)) - unit: pct - tips: - Scratch Stall: - avg: AVG(SPI_RA_TMP_STALL_CSN) - min: MIN(SPI_RA_TMP_STALL_CSN) - max: MAX(SPI_RA_TMP_STALL_CSN) - unit: Cycles - tips: - Insufficient SIMD Waveslots: - avg: AVG(SPI_RA_WAVE_SIMD_FULL_CSN) - min: MIN(SPI_RA_WAVE_SIMD_FULL_CSN) - max: MAX(SPI_RA_WAVE_SIMD_FULL_CSN) - unit: SIMD - tips: - Insufficient SIMD VGPRs: - avg: AVG(SPI_RA_VGPR_SIMD_FULL_CSN) - min: MIN(SPI_RA_VGPR_SIMD_FULL_CSN) - max: MAX(SPI_RA_VGPR_SIMD_FULL_CSN) - unit: SIMD - tips: - Insufficient SIMD SGPRs: - avg: AVG(SPI_RA_SGPR_SIMD_FULL_CSN) - min: MIN(SPI_RA_SGPR_SIMD_FULL_CSN) - max: MAX(SPI_RA_SGPR_SIMD_FULL_CSN) - unit: SIMD - tips: - Insufficient CU LDS: - avg: AVG(SPI_RA_LDS_CU_FULL_CSN) - min: MIN(SPI_RA_LDS_CU_FULL_CSN) - max: MAX(SPI_RA_LDS_CU_FULL_CSN) - unit: CU - tips: - Insufficient CU Barries: - avg: AVG(SPI_RA_BAR_CU_FULL_CSN) - min: MIN(SPI_RA_BAR_CU_FULL_CSN) - max: MAX(SPI_RA_BAR_CU_FULL_CSN) - unit: CU - tips: - Insufficient Bulky Resource: - avg: AVG(SPI_RA_BULKY_CU_FULL_CSN) - min: MIN(SPI_RA_BULKY_CU_FULL_CSN) - max: MAX(SPI_RA_BULKY_CU_FULL_CSN) - unit: CU - tips: - Reach CU Threadgroups Limit: - avg: AVG(SPI_RA_TGLIM_CU_FULL_CSN) - min: MIN(SPI_RA_TGLIM_CU_FULL_CSN) - max: MAX(SPI_RA_TGLIM_CU_FULL_CSN) - unit: Cycles - tips: - Reach CU Wave Limit: - avg: AVG(SPI_RA_WVLIM_STALL_CSN) - min: MIN(SPI_RA_WVLIM_STALL_CSN) - max: MAX(SPI_RA_WVLIM_STALL_CSN) - unit: Cycles - tips: - VGPR Writes: - avg: AVG((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - min: MIN((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - max: MAX((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - unit: Cycles/wave - tips: - SGPR Writes: - avg: AVG((((1 * SPI_SWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - min: MIN((((1 * SPI_SWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - max: MAX((((1 * SPI_SWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - unit: Cycles/wave - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/0700_wavefront-launch.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/0700_wavefront-launch.yaml deleted file mode 100644 index 70141193e6..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/0700_wavefront-launch.yaml +++ /dev/null @@ -1,142 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 700 - title: Wavefront - data source: - - metric_table: - id: 701 - title: Wavefront Launch Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Grid Size: - avg: AVG(grd) - min: MIN(grd) - max: MAX(grd) - unit: Work Items - tips: - Workgroup Size: - avg: AVG(wgr) - min: MIN(wgr) - max: MAX(wgr) - unit: Work Items - tips: - Total Wavefronts: - avg: AVG(SPI_CSN_WAVE) - min: MIN(SPI_CSN_WAVE) - max: MAX(SPI_CSN_WAVE) - unit: Wavefronts - tips: - Saved Wavefronts: - avg: AVG(SQ_WAVES_SAVED) - min: MIN(SQ_WAVES_SAVED) - max: MAX(SQ_WAVES_SAVED) - unit: Wavefronts - tips: - Restored Wavefronts: - avg: AVG(SQ_WAVES_RESTORED) - min: MIN(SQ_WAVES_RESTORED) - max: MAX(SQ_WAVES_RESTORED) - unit: Wavefronts - tips: - VGPRs: - avg: AVG(arch_vgpr) - min: MIN(arch_vgpr) - max: MAX(arch_vgpr) - unit: Registers - tips: - AGPRs: - avg: AVG(accum_vgpr) - min: MIN(accum_vgpr) - max: MAX(accum_vgpr) - unit: Registers - tips: - SGPRs: - avg: AVG(sgpr) - min: MIN(sgpr) - max: MAX(sgpr) - unit: Registers - tips: - LDS Allocation: - avg: AVG(lds) - min: MIN(lds) - max: MAX(lds) - unit: Bytes - tips: - Scratch Allocation: - avg: AVG(scr) - min: MIN(scr) - max: MAX(scr) - unit: Bytes - tips: - - - metric_table: - id: 702 - title: Wavefront Runtime Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Kernel Time (Nanosec): - avg: AVG((EndNs - BeginNs)) - min: MIN((EndNs - BeginNs)) - max: MAX((EndNs - BeginNs)) - unit: ns - tips: - Kernel Time (Cycles): - avg: AVG(GRBM_GUI_ACTIVE) - min: MIN(GRBM_GUI_ACTIVE) - max: MAX(GRBM_GUI_ACTIVE) - unit: Cycle - tips: - Instr/wavefront: - avg: AVG((SQ_INSTS / SQ_WAVES)) - min: MIN((SQ_INSTS / SQ_WAVES)) - max: MAX((SQ_INSTS / SQ_WAVES)) - unit: Instr/wavefront - tips: - Wave Cycles: - avg: AVG(((4 * SQ_WAVE_CYCLES) / $denom)) - min: MIN(((4 * SQ_WAVE_CYCLES) / $denom)) - max: MAX(((4 * SQ_WAVE_CYCLES) / $denom)) - unit: (Cycles + $normUnit) - tips: - Dependency Wait Cycles: - avg: AVG(((4 * SQ_WAIT_ANY) / $denom)) - min: MIN(((4 * SQ_WAIT_ANY) / $denom)) - max: MAX(((4 * SQ_WAIT_ANY) / $denom)) - unit: (Cycles + $normUnit) - tips: - Issue Wait Cycles: - avg: AVG(((4 * SQ_WAIT_INST_ANY) / $denom)) - min: MIN(((4 * SQ_WAIT_INST_ANY) / $denom)) - max: MAX(((4 * SQ_WAIT_INST_ANY) / $denom)) - unit: (Cycles + $normUnit) - tips: - Active Cycles: - avg: AVG(((4 * SQ_ACTIVE_INST_ANY) / $denom)) - min: MIN(((4 * SQ_ACTIVE_INST_ANY) / $denom)) - max: MAX(((4 * SQ_ACTIVE_INST_ANY) / $denom)) - unit: (Cycles + $normUnit) - tips: - Wavefront Occupancy: - avg: AVG((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE)) - min: MIN((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE)) - max: MAX((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE)) - unit: Wavefronts - coll_level: SQ_LEVEL_WAVES - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/1000_compute-unit-instruction-mix.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/1000_compute-unit-instruction-mix.yaml deleted file mode 100644 index 679acc34d1..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/1000_compute-unit-instruction-mix.yaml +++ /dev/null @@ -1,234 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1000 - title: Compute Units - Instruction Mix - data source: - - metric_table: - id: 1001 - title: Instruction Mix - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - style: - type: simple_bar - label_txt: (# of instr + $normUnit) - metric: - VALU - Vector: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - VMEM: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - LDS: - avg: AVG((SQ_INSTS_LDS / $denom)) - min: MIN((SQ_INSTS_LDS / $denom)) - max: MAX((SQ_INSTS_LDS / $denom)) - unit: (instr + $normUnit) - tips: - VALU - MFMA: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - SALU: - avg: AVG((SQ_INSTS_SALU / $denom)) - min: MIN((SQ_INSTS_SALU / $denom)) - max: MAX((SQ_INSTS_SALU / $denom)) - unit: (instr + $normUnit) - tips: - SMEM: - avg: AVG((SQ_INSTS_SMEM / $denom)) - min: MIN((SQ_INSTS_SMEM / $denom)) - max: MAX((SQ_INSTS_SMEM / $denom)) - unit: (instr + $normUnit) - tips: - Branch: - avg: AVG((SQ_INSTS_BRANCH / $denom)) - min: MIN((SQ_INSTS_BRANCH / $denom)) - max: MAX((SQ_INSTS_BRANCH / $denom)) - unit: (instr + $normUnit) - tips: - GDS: - avg: AVG((SQ_INSTS_GDS / $denom)) - min: MIN((SQ_INSTS_GDS / $denom)) - max: MAX((SQ_INSTS_GDS / $denom)) - unit: (instr + $normUnit) - tips: - - - metric_table: - id: 1002 - title: VALU Arithmetic Instr Mix - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - style: - type: simple_bar - label_txt: (# of instr + $normUnit) - metric: - INT-32: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - INT-64: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F16-ADD: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F16-Mult: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F16-FMA: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F16-Trans: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F32-ADD: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F32-Mult: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F32-FMA: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F32-Trans: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F64-ADD: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F64-Mult: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F64-FMA: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F64-Trans: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - Conversion: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - - - metric_table: - id: 1003 - title: VMEM Instr Mix - header: - type: Type - count: Count - tips: Tips - metric: - Buffer Instr: - count: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom)) - tips: - Buffer Read: - count: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) - tips: - Buffer Write: - count: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) - tips: - Buffer Atomic: - count: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) - tips: - Flat Instr: - count: AVG((TA_FLAT_WAVEFRONTS_sum / $denom)) - tips: - Flat Read: - count: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - tips: - Flat Write: - count: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - tips: - Flat Atomic: - count: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - tips: - - - metric_table: - id: 1004 - title: MFMA Arithmetic Instr Mix - header: - type: Type - count: Count - tips: Tips - metric: - MFMA-I8: - count: None # No HW module - tips: - MFMA-F16: - count: None # No HW module - tips: - MFMA-BF16: - count: None # No HW module - tips: - MFMA-F32: - count: None # No HW module - tips: - MFMA-F64: - count: None # No HW module - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/1100_compute-unit-compute-pipeline.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/1100_compute-unit-compute-pipeline.yaml deleted file mode 100644 index 8cffb24c7e..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/1100_compute-unit-compute-pipeline.yaml +++ /dev/null @@ -1,154 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1100 - title: Compute Units - Compute Pipeline - data source: - - metric_table: - id: 1101 - title: Speed-of-Light - header: - metric: Metric - value: Value - tips: Tips - style: - type: simple_bar - range_color: [1, 100] - label_txt: (%) - xrange: [0, 110] - metric: - valu_flops_pop: - value: None # No perf counter - tips: - mfma_flops_bf16_pop: - value: None # No perf counter - tips: - mfma_flops_f16_pop: - value: None # No perf counter - tips: - mfma_flops_f32_pop: - value: None # No perf counter - tips: - mfma_flops_f64_pop: - value: None # No perf counter - tips: - mfma_flops_i8_pop: - value: None # No perf counter - tips: - - - metric_table: - id: 1102 - title: Pipeline Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - IPC (Avg): - avg: AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES)) - min: MIN((SQ_INSTS / SQ_BUSY_CU_CYCLES)) - max: MAX((SQ_INSTS / SQ_BUSY_CU_CYCLES)) - unit: Instr/cycle - tips: - IPC (Issue): - avg: AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) - + SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) - / SQ_ACTIVE_INST_ANY)) - min: MIN(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) - + SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) - / SQ_ACTIVE_INST_ANY)) - max: MAX(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) - + SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) - / SQ_ACTIVE_INST_ANY)) - unit: Instr/cycle - tips: - SALU Util: - avg: AVG((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) - min: MIN((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) - max: MAX((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) - unit: pct - tips: - VALU Util: - avg: AVG((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) - min: MIN((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) - max: MAX((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) - unit: pct - tips: - VALU Active Threads: - avg: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) - min: MIN(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) - max: MAX(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) - unit: Threads - tips: - MFMA Util: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: pct - tips: - MFMA Instr Cycles: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: cycles/instr - tips: - - - metric_table: - id: 1103 - title: Arithmetic Operations - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - FLOPs (Total): - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - INT8 OPs: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - F16 OPs: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - BF16 OPs: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - F32 OPs: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - F64 OPs: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - - diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/1200_lds.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/1200_lds.yaml deleted file mode 100644 index 3fd52c3b1b..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/1200_lds.yaml +++ /dev/null @@ -1,121 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1200 - title: Local Data Share (LDS) - data source: - - metric_table: - id: 1201 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - tips: Tips - style: - type: simple_bar - range_color: [1, 100] - label_txt: (%) - xrange: [0, 110] - metric: - Utilization: - value: AVG(((100 * SQ_LDS_IDX_ACTIVE) / (GRBM_GUI_ACTIVE * $numCU))) - unit: Pct of Peak - tips: - Access Rate: - value: AVG(((200 * SQ_ACTIVE_INST_LDS) / (GRBM_GUI_ACTIVE * $numCU))) - unit: Pct of Peak - tips: - Bandwidth (Pct-of-Peak): - value: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / (EndNs - BeginNs)) / (($sclk * $numCU) * 0.00128))) - unit: Pct of Peak - tips: - Bank Conflict Rate: - value: AVG((((SQ_LDS_BANK_CONFLICT * 3.125) / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - unit: Pct of Peak - tips: - - - metric_table: - id: 1202 - title: LDS Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - LDS Instrs: - avg: AVG((SQ_INSTS_LDS / $denom)) - min: MIN((SQ_INSTS_LDS / $denom)) - max: MAX((SQ_INSTS_LDS / $denom)) - unit: (Instr + $normUnit) - tips: - Bandwidth: - avg: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / $denom)) - min: MIN(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / $denom)) - max: MAX(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / $denom)) - unit: (Bytes + $normUnit) - tips: - Bank Conficts/Access: - avg: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - min: MIN(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - max: MAX(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - unit: Conflicts/Access - tips: - Index Accesses: - avg: AVG((SQ_LDS_IDX_ACTIVE / $denom)) - min: MIN((SQ_LDS_IDX_ACTIVE / $denom)) - max: MAX((SQ_LDS_IDX_ACTIVE / $denom)) - unit: (Cycles + $normUnit) - tips: - Atomic Cycles: - avg: AVG((SQ_LDS_ATOMIC_RETURN / $denom)) - min: MIN((SQ_LDS_ATOMIC_RETURN / $denom)) - max: MAX((SQ_LDS_ATOMIC_RETURN / $denom)) - unit: (Cycles + $normUnit) - tips: - Bank Conflict: - avg: AVG((SQ_LDS_BANK_CONFLICT / $denom)) - min: MIN((SQ_LDS_BANK_CONFLICT / $denom)) - max: MAX((SQ_LDS_BANK_CONFLICT / $denom)) - unit: (Cycles + $normUnit) - tips: - Addr Conflict: - avg: AVG((SQ_LDS_ADDR_CONFLICT / $denom)) - min: MIN((SQ_LDS_ADDR_CONFLICT / $denom)) - max: MAX((SQ_LDS_ADDR_CONFLICT / $denom)) - unit: (Cycles + $normUnit) - tips: - Unaligned Stall: - avg: AVG((SQ_LDS_UNALIGNED_STALL / $denom)) - min: MIN((SQ_LDS_UNALIGNED_STALL / $denom)) - max: MAX((SQ_LDS_UNALIGNED_STALL / $denom)) - unit: (Cycles + $normUnit) - tips: - Mem Violations: - avg: AVG((SQ_LDS_MEM_VIOLATIONS / $denom)) - min: MIN((SQ_LDS_MEM_VIOLATIONS / $denom)) - max: MAX((SQ_LDS_MEM_VIOLATIONS / $denom)) - unit: ( + $normUnit) - tips: - LDS Latency: - avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None)) - min: MIN(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None)) - max: MAX(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None)) - unit: Cycles - coll_level: SQ_INST_LEVEL_LDS - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/1300_instruction-cache.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/1300_instruction-cache.yaml deleted file mode 100644 index 05dc759803..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/1300_instruction-cache.yaml +++ /dev/null @@ -1,79 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1300 - title: Instruction Cache - data source: - - metric_table: - id: 1301 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - tips: Tips - style: - type: simple_bar - range_color: [1, 100] - label_txt: (%) - xrange: [0, 110] - metric: - Bandwidth: - value: AVG(((SQC_ICACHE_REQ * 100000) / (($sclk * $numSQC) - * (EndNs - BeginNs)))) - unit: Pct of Peak - tips: - Cache Hit: - value: AVG(((SQC_ICACHE_HITS * 100) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) - + SQC_ICACHE_MISSES_DUPLICATE))) - unit: Pct of Peak - tips: - - - metric_table: - id: 1302 - title: Instruction Cache Accesses - header: - metric: L1I Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Req: - avg: AVG((SQC_ICACHE_REQ / $denom)) - min: MIN((SQC_ICACHE_REQ / $denom)) - max: MAX((SQC_ICACHE_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Hits: - avg: AVG((SQC_ICACHE_HITS / $denom)) - min: MIN((SQC_ICACHE_HITS / $denom)) - max: MAX((SQC_ICACHE_HITS / $denom)) - unit: (Hits + $normUnit) - tips: - Misses - Non Duplicated: - avg: AVG((SQC_ICACHE_MISSES / $denom)) - min: MIN((SQC_ICACHE_MISSES / $denom)) - max: MAX((SQC_ICACHE_MISSES / $denom)) - unit: (Misses + $normUnit) - tips: - Misses - Duplicated: - avg: AVG((SQC_ICACHE_MISSES_DUPLICATE / $denom)) - min: MIN((SQC_ICACHE_MISSES_DUPLICATE / $denom)) - max: MAX((SQC_ICACHE_MISSES_DUPLICATE / $denom)) - unit: (Misses + $normUnit) - tips: - Cache Hit: - avg: AVG(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) - + SQC_ICACHE_MISSES_DUPLICATE))) - min: MIN(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) + - SQC_ICACHE_MISSES_DUPLICATE))) - max: MAX(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) + - SQC_ICACHE_MISSES_DUPLICATE))) - unit: pct - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/1400_constant-cache.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/1400_constant-cache.yaml deleted file mode 100644 index 563caad13f..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/1400_constant-cache.yaml +++ /dev/null @@ -1,164 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1400 - title: Scalar L1 Data Cache - data source: - - metric_table: - id: 1401 - title: Speed-of-Light - header: - mertic: Metric - value: Value - unit: Unit - tips: Tips - style: - type: simple_bar - range_color: [1, 100] - label_txt: (%) - xrange: [0, 110] - metric: - Bandwidth: - value: AVG(((SQC_DCACHE_REQ * 100000) / (($sclk * $numSQC) - * (EndNs - BeginNs)))) - unit: Pct of Peak - tips: - Cache Hit: - value: - AVG((((SQC_DCACHE_HITS * 100) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE)) - if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) - unit: Pct of Peak - tips: - - - metric_table: - id: 1402 - title: Scalar L1D Cache Accesses - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Req: - avg: AVG((SQC_DCACHE_REQ / $denom)) - min: MIN((SQC_DCACHE_REQ / $denom)) - max: MAX((SQC_DCACHE_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Hits: - avg: AVG((SQC_DCACHE_HITS / $denom)) - min: MIN((SQC_DCACHE_HITS / $denom)) - max: MAX((SQC_DCACHE_HITS / $denom)) - unit: (Req + $normUnit) - tips: - Misses - Non Duplicated: - avg: AVG((SQC_DCACHE_MISSES / $denom)) - min: MIN((SQC_DCACHE_MISSES / $denom)) - max: MAX((SQC_DCACHE_MISSES / $denom)) - unit: (Req + $normUnit) - tips: - Misses- Duplicated: - avg: AVG((SQC_DCACHE_MISSES_DUPLICATE / $denom)) - min: MIN((SQC_DCACHE_MISSES_DUPLICATE / $denom)) - max: MAX((SQC_DCACHE_MISSES_DUPLICATE / $denom)) - unit: (Req + $normUnit) - tips: - Cache Hit: - avg: AVG((((100 * SQC_DCACHE_HITS) / ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE)) if (((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) - min: MIN((((100 * SQC_DCACHE_HITS) / ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE)) if (((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) - max: MAX((((100 * SQC_DCACHE_HITS) / ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE)) if (((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) - unit: pct - tips: - Read Req (Total): - avg: AVG((((((SQC_DCACHE_REQ_READ_1 + SQC_DCACHE_REQ_READ_2) + SQC_DCACHE_REQ_READ_4) - + SQC_DCACHE_REQ_READ_8) + SQC_DCACHE_REQ_READ_16) / $denom)) - min: MIN((((((SQC_DCACHE_REQ_READ_1 + SQC_DCACHE_REQ_READ_2) + SQC_DCACHE_REQ_READ_4) - + SQC_DCACHE_REQ_READ_8) + SQC_DCACHE_REQ_READ_16) / $denom)) - max: MAX((((((SQC_DCACHE_REQ_READ_1 + SQC_DCACHE_REQ_READ_2) + SQC_DCACHE_REQ_READ_4) - + SQC_DCACHE_REQ_READ_8) + SQC_DCACHE_REQ_READ_16) / $denom)) - unit: (Req + $normUnit) - tips: - Atomic Req: - avg: AVG((SQC_DCACHE_ATOMIC / $denom)) - min: MIN((SQC_DCACHE_ATOMIC / $denom)) - max: MAX((SQC_DCACHE_ATOMIC / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (1 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_1 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_1 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_1 / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (2 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_2 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_2 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_2 / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (4 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_4 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_4 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_4 / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (8 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_8 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_8 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_8 / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (16 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_16 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_16 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_16 / $denom)) - unit: (Req + $normUnit) - tips: - - - metric_table: - id: 1403 - title: Scalar L1D Cache - L2 Interface - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Read Req: - avg: AVG((SQC_TC_DATA_READ_REQ / $denom)) - min: MIN((SQC_TC_DATA_READ_REQ / $denom)) - max: MAX((SQC_TC_DATA_READ_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Write Req: - avg: AVG((SQC_TC_DATA_WRITE_REQ / $denom)) - min: MIN((SQC_TC_DATA_WRITE_REQ / $denom)) - max: MAX((SQC_TC_DATA_WRITE_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Atomic Req: - avg: AVG((SQC_TC_DATA_ATOMIC_REQ / $denom)) - min: MIN((SQC_TC_DATA_ATOMIC_REQ / $denom)) - max: MAX((SQC_TC_DATA_ATOMIC_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Stall: - avg: AVG((SQC_TC_STALL / $denom)) - min: MIN((SQC_TC_STALL / $denom)) - max: MAX((SQC_TC_STALL / $denom)) - unit: (Cycles + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/1500_TA_and_TD.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/1500_TA_and_TD.yaml deleted file mode 100644 index 8f71cedc99..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/1500_TA_and_TD.yaml +++ /dev/null @@ -1,174 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1500 - title: Texture Addresser and Texture Data (TA/TD) - data source: - - metric_table: - id: 1501 - title: TA - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - TA Busy: - avg: AVG(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - TC2TA Addr Stall: - avg: AVG(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - TC2TA Data Stall: - avg: AVG(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - TD2TA Addr Stall: - avg: AVG(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - Total Instructions: - avg: AVG((TA_TOTAL_WAVEFRONTS_sum / $denom)) - min: MIN((TA_TOTAL_WAVEFRONTS_sum / $denom)) - max: MAX((TA_TOTAL_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Flat Instr: - avg: AVG((TA_FLAT_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Flat Read Instr: - avg: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Flat Write Instr: - avg: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Flat Atomic Instr: - avg: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Buffer Instr: - avg: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom)) - min: MIN((TA_BUFFER_WAVEFRONTS_sum / $denom)) - max: MAX((TA_BUFFER_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Buffer Read Instr: - avg: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) - min: MIN((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) - max: MAX((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Buffer Write Instr: - avg: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) - min: MIN((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) - max: MAX((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Buffer Atomic Instr: - avg: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) - min: MIN((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) - max: MAX((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Buffer Total Cylces: - avg: AVG((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) - min: MIN((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) - max: MAX((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) - unit: (Cycles + $normUnit) - tips: - Buffer Coalesced Read: - avg: AVG((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) - min: MIN((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) - max: MAX((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) - unit: (Cycles + $normUnit) - tips: - Buffer Coalesced Write: - avg: AVG((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) - min: MIN((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) - max: MAX((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) - unit: (Cycles + $normUnit) - tips: - - - metric_table: - id: 1502 - title: TD - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - TD Busy: - avg: AVG(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - TC2TD Stall: - avg: AVG(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - SPI2TD Stall: - avg: # No perf counter - min: # No perf counter - max: # No perf counter - unit: pct - tips: - Coalescable Instr: - avg: AVG((TD_COALESCABLE_WAVEFRONT_sum / $denom)) - min: MIN((TD_COALESCABLE_WAVEFRONT_sum / $denom)) - max: MAX((TD_COALESCABLE_WAVEFRONT_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Load Instr: - avg: AVG((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) - / $denom)) - min: MIN((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) - / $denom)) - max: MAX((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) - / $denom)) - unit: (Instr + $normUnit) - tips: - Store Instr: - avg: AVG((TD_STORE_WAVEFRONT_sum / $denom)) - min: MIN((TD_STORE_WAVEFRONT_sum / $denom)) - max: MAX((TD_STORE_WAVEFRONT_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Atomic Instr: - avg: AVG((TD_ATOMIC_WAVEFRONT_sum / $denom)) - min: MIN((TD_ATOMIC_WAVEFRONT_sum / $denom)) - max: MAX((TD_ATOMIC_WAVEFRONT_sum / $denom)) - unit: (Instr + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/1600_L1_cache.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/1600_L1_cache.yaml deleted file mode 100644 index 01e6d29d71..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/1600_L1_cache.yaml +++ /dev/null @@ -1,404 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1600 - title: Vector L1 Data Cache - data source: - - metric_table: - id: 1601 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - tips: Tips - style: - type: simple_bar - range_color: [1, 100] - label_txt: (%) - xrange: [0, 110] - metric: - Buffer Coalescing: - value: AVG(((((TA_TOTAL_WAVEFRONTS_sum * 64) * 100) / (TCP_TOTAL_ACCESSES_sum - * 4)) if (TCP_TOTAL_ACCESSES_sum != 0) else None)) - unit: Pct of Peak - tips: - Cache Util: - value: AVG((((TCP_GATE_EN2_sum * 100) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - unit: Pct of Peak - tips: - Cache BW: - value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs)))) - / ((($sclk / 1000) * 64) * $numCU)) - unit: Pct of Peak - tips: - Cache Hit: - value: 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)) - / TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - unit: Pct of Peak - tips: - - - metric_table: - id: 1602 - title: L1D Cache Stalls - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Stalled on L2 Data: - avg: AVG((((100 * TCP_PENDING_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - min: MIN((((100 * TCP_PENDING_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - max: MAX((((100 * TCP_PENDING_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - unit: pct - tips: - Stalled on L2 Req: - avg: AVG((((100 * TCP_TCR_TCP_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - min: MIN((((100 * TCP_TCR_TCP_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - max: MAX((((100 * TCP_TCR_TCP_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - unit: pct - tips: - Tag RAM Stall (Read): - avg: AVG((((100 * TCP_READ_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - min: MIN((((100 * TCP_READ_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - max: MAX((((100 * TCP_READ_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - unit: pct - tips: - Tag RAM Stall (Write): - avg: AVG((((100 * TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - min: MIN((((100 * TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - max: MAX((((100 * TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - unit: pct - tips: - Tag RAM Stall (Atomic): - avg: AVG((((100 * TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - min: MIN((((100 * TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - max: MAX((((100 * TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - unit: pct - tips: - - - metric_table: - id: 1603 - title: L1D Cache Accesses - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Total Req: - avg: AVG((TCP_TOTAL_ACCESSES_sum / $denom)) - min: MIN((TCP_TOTAL_ACCESSES_sum / $denom)) - max: MAX((TCP_TOTAL_ACCESSES_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read Req: - avg: AVG((TCP_TOTAL_READ_sum / $denom)) - min: MIN((TCP_TOTAL_READ_sum / $denom)) - max: MAX((TCP_TOTAL_READ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write Req: - avg: AVG((TCP_TOTAL_WRITE_sum / $denom)) - min: MIN((TCP_TOTAL_WRITE_sum / $denom)) - max: MAX((TCP_TOTAL_WRITE_sum / $denom)) - unit: (Req + $normUnit) - tips: - Atomic Req: - avg: AVG(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) - / $denom)) - min: MIN(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) - / $denom)) - max: MAX(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) - / $denom)) - unit: (Req + $normUnit) - tips: - Cache BW: - avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) - min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) - max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) - unit: GB/s - tips: - Cache Accesses: - avg: AVG((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) - min: MIN((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) - max: MAX((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) - unit: (Req + $normUnit) - tips: - Cache Hits: - avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum - (((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)) - min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum - (((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)) - max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum - (((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: (Req + $normUnit) - tips: - 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)) / - TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - min: MIN(((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)) / - TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - max: MAX(((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)) / - TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - unit: pct - tips: - Invalidate: - avg: AVG((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) - min: MIN((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) - max: MAX((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) - unit: ( + $normUnit) - tips: - 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)) - min: 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)) - max: 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)) - unit: (Bytes + $normUnit) - tips: - L1-L2 Read: - avg: AVG((TCP_TCC_READ_REQ_sum / $denom)) - min: MIN((TCP_TCC_READ_REQ_sum / $denom)) - max: MAX((TCP_TCC_READ_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - L1-L2 Write: - avg: AVG((TCP_TCC_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - L1-L2 Atomic: - avg: AVG(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - / $denom)) - min: MIN(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - / $denom)) - max: MAX(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - / $denom)) - unit: (Req + $normUnit) - tips: - L1 Access Latency: - avg: AVG(((TCP_TCP_LATENCY_sum / TCP_TA_TCP_STATE_READ_sum) if (TCP_TA_TCP_STATE_READ_sum - != 0) else None)) - min: MIN(((TCP_TCP_LATENCY_sum / TCP_TA_TCP_STATE_READ_sum) if (TCP_TA_TCP_STATE_READ_sum - != 0) else None)) - max: MAX(((TCP_TCP_LATENCY_sum / TCP_TA_TCP_STATE_READ_sum) if (TCP_TA_TCP_STATE_READ_sum - != 0) else None)) - unit: Cycles - tips: - L1-L2 Read Latency: - avg: AVG(((TCP_TCC_READ_REQ_LATENCY_sum / (TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)) - if ((TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) != 0) else None)) - min: MIN(((TCP_TCC_READ_REQ_LATENCY_sum / (TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)) - if ((TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) != 0) else None)) - max: MAX(((TCP_TCC_READ_REQ_LATENCY_sum / (TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)) - if ((TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) != 0) else None)) - unit: Cycles - tips: - L1-L2 Write Latency: - avg: AVG(((TCP_TCC_WRITE_REQ_LATENCY_sum / (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) - if ((TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) != 0) else - None)) - min: MIN(((TCP_TCC_WRITE_REQ_LATENCY_sum / (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) - if ((TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) != 0) else - None)) - max: MAX(((TCP_TCC_WRITE_REQ_LATENCY_sum / (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) - if ((TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) != 0) else - None)) - unit: Cycles - tips: - - - metric_table: - id: 1604 - title: L1D - L2 Transactions - header: - metric: Metric - xfer: Xfer - coherency: Coherency - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - style: - type: simple_multi_bar - metric: - NC - Read: - xfer: Read - coherency: NC - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - UC - Read: - xfer: Read - coherency: UC - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - CC - Read: - xfer: Read - coherency: CC - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - RW - Read: - xfer: Read - coherency: RW - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - RW - Write: - xfer: Write - coherency: RW - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - NC - Write: - xfer: Write - coherency: NC - avg: AVG((TCP_TCC_NC_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_NC_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_NC_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - CC - Write: - xfer: Write - coherency: CC - avg: AVG((TCP_TCC_CC_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_CC_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_CC_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - UC - Write: - xfer: Write - coherency: UC - avg: AVG((TCP_TCC_UC_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_UC_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_UC_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - NC - Atomic: - xfer: Atomic - coherency: NC - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - UC - Atomic: - xfer: Atomic - coherency: UC - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - CC - Atomic: - xfer: Atomic - coherency: CC - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - RW - Atomic: - xfer: Atomic - coherency: RW - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - - - metric_table: - id: 1605 - title: L1D Addr Translation - header: - metric: Metric - avg: Avg - min: Min - max: Max - units: Units - tips: Tips - metric: - Req: - avg: AVG((TCP_UTCL1_REQUEST_sum / $denom)) - min: MIN((TCP_UTCL1_REQUEST_sum / $denom)) - max: MAX((TCP_UTCL1_REQUEST_sum / $denom)) - units: (Req + $normUnit) - tips: - Hit Ratio: - avg: AVG((((100 * TCP_UTCL1_TRANSLATION_HIT_sum) / TCP_UTCL1_REQUEST_sum) if - (TCP_UTCL1_REQUEST_sum != 0) else None)) - min: MIN((((100 * TCP_UTCL1_TRANSLATION_HIT_sum) / TCP_UTCL1_REQUEST_sum) if - (TCP_UTCL1_REQUEST_sum != 0) else None)) - max: MAX((((100 * TCP_UTCL1_TRANSLATION_HIT_sum) / TCP_UTCL1_REQUEST_sum) if - (TCP_UTCL1_REQUEST_sum != 0) else None)) - units: pct - tips: - Hits: - avg: AVG((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) - min: MIN((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) - max: MAX((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) - units: (Hits + $normUnit) - tips: - Misses (Translation): - avg: AVG((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) - min: MIN((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) - max: MAX((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) - units: (Misses + $normUnit) - tips: - Misses (Permission): - avg: AVG((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) - min: MIN((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) - max: MAX((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) - units: (Misses + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/1700_L2_cache.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/1700_L2_cache.yaml deleted file mode 100644 index 0b5f5e827a..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/1700_L2_cache.yaml +++ /dev/null @@ -1,364 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1700 - title: L2 Cache - data source: - - metric_table: - id: 1701 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - tips: Tips - style: - type: simple_bar - metric: - L2 Util: - value: AVG(((TCC_BUSY_sum * 100) / (TO_INT($L2Banks) * GRBM_GUI_ACTIVE))) - unit: pct - tips: - Cache Hit: - value: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else 0)) - unit: pct - tips: - L2-EA Rd BW: - value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / (EndNs - BeginNs))) - unit: GB/s - tips: - L2-EA Wr BW: - value: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / (EndNs - BeginNs))) - unit: GB/s - tips: - - - metric_table: - id: 1702 - title: L2 - Fabric Transactions - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Read BW: - avg: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / $denom)) - min: MIN((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / $denom)) - max: MAX((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / $denom)) - unit: (Bytes + $normUnit) - tips: - Write BW: - avg: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / $denom)) - min: MIN((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / $denom)) - max: MAX((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / $denom)) - unit: (Bytes + $normUnit) - tips: - Read (32B): - avg: AVG((TCC_EA_RDREQ_32B_sum / $denom)) - min: MIN((TCC_EA_RDREQ_32B_sum / $denom)) - max: MAX((TCC_EA_RDREQ_32B_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read (Uncached 32B): - avg: AVG((TCC_EA_RD_UNCACHED_32B_sum / $denom)) - min: MIN((TCC_EA_RD_UNCACHED_32B_sum / $denom)) - max: MAX((TCC_EA_RD_UNCACHED_32B_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read (64B): - avg: AVG(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) - min: MIN(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) - max: MAX(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) - unit: (Req + $normUnit) - tips: - HBM Read: - avg: AVG((TCC_EA_RDREQ_DRAM_sum / $denom)) - min: MIN((TCC_EA_RDREQ_DRAM_sum / $denom)) - max: MAX((TCC_EA_RDREQ_DRAM_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write (32B): - avg: AVG(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom)) - min: MIN(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom)) - max: MAX(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom)) - unit: (Req + $normUnit) - tips: - Write (Uncached 32B): - avg: AVG((TCC_EA_WR_UNCACHED_32B_sum / $denom)) - min: MIN((TCC_EA_WR_UNCACHED_32B_sum / $denom)) - max: MAX((TCC_EA_WR_UNCACHED_32B_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write (64B): - avg: AVG((TCC_EA_WRREQ_64B_sum / $denom)) - min: MIN((TCC_EA_WRREQ_64B_sum / $denom)) - max: MAX((TCC_EA_WRREQ_64B_sum / $denom)) - unit: (Req + $normUnit) - tips: - HBM Write: - avg: AVG((TCC_EA_WRREQ_DRAM_sum / $denom)) - min: MIN((TCC_EA_WRREQ_DRAM_sum / $denom)) - max: MAX((TCC_EA_WRREQ_DRAM_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read Latency: - avg: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != - 0) else None)) - min: MIN(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != - 0) else None)) - max: MAX(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != - 0) else None)) - unit: Cycles - tips: - Write Latency: - avg: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != - 0) else None)) - min: MIN(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != - 0) else None)) - max: MAX(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != - 0) else None)) - unit: Cycles - tips: - Atomic Latency: - avg: AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum - != 0) else None)) - min: MIN(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum - != 0) else None)) - max: MAX(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum - != 0) else None)) - unit: Cycles - tips: - Read Stall: - avg: AVG((((100 * ((TCC_EA_RDREQ_IO_CREDIT_STALL_sum + TCC_EA_RDREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - min: MIN((((100 * ((TCC_EA_RDREQ_IO_CREDIT_STALL_sum + TCC_EA_RDREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - max: MAX((((100 * ((TCC_EA_RDREQ_IO_CREDIT_STALL_sum + TCC_EA_RDREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - unit: pct - tips: - Write Stall: - avg: AVG((((100 * ((TCC_EA_WRREQ_IO_CREDIT_STALL_sum + TCC_EA_WRREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - min: MIN((((100 * ((TCC_EA_WRREQ_IO_CREDIT_STALL_sum + TCC_EA_WRREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - max: MAX((((100 * ((TCC_EA_WRREQ_IO_CREDIT_STALL_sum + TCC_EA_WRREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - unit: pct - tips: - - - metric_table: - id: 1703 - title: L2 Cache Accesses - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Req: - avg: AVG((TCC_REQ_sum / $denom)) - min: MIN((TCC_REQ_sum / $denom)) - max: MAX((TCC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Streaming Req: - avg: AVG((TCC_STREAMING_REQ_sum / $denom)) - min: MIN((TCC_STREAMING_REQ_sum / $denom)) - max: MAX((TCC_STREAMING_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read Req: - avg: AVG((TCC_READ_sum / $denom)) - min: MIN((TCC_READ_sum / $denom)) - max: MAX((TCC_READ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write Req: - avg: AVG((TCC_WRITE_sum / $denom)) - min: MIN((TCC_WRITE_sum / $denom)) - max: MAX((TCC_WRITE_sum / $denom)) - unit: (Req + $normUnit) - tips: - Atomic Req: - avg: AVG((TCC_ATOMIC_sum / $denom)) - min: MIN((TCC_ATOMIC_sum / $denom)) - max: MAX((TCC_ATOMIC_sum / $denom)) - unit: (Req + $normUnit) - tips: - Probe Req: - avg: AVG((TCC_PROBE_sum / $denom)) - min: MIN((TCC_PROBE_sum / $denom)) - max: MAX((TCC_PROBE_sum / $denom)) - unit: (Req + $normUnit) - tips: - Hits: - avg: AVG((TCC_HIT_sum / $denom)) - min: MIN((TCC_HIT_sum / $denom)) - max: MAX((TCC_HIT_sum / $denom)) - unit: (Hits + $normUnit) - tips: - Misses: - avg: AVG((TCC_MISS_sum / $denom)) - min: MIN((TCC_MISS_sum / $denom)) - max: MAX((TCC_MISS_sum / $denom)) - unit: (Misses + $normUnit) - tips: - Cache Hit: - avg: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - min: MIN((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - max: MAX((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - unit: pct - tips: - Writeback: - avg: AVG((TCC_WRITEBACK_sum / $denom)) - min: MIN((TCC_WRITEBACK_sum / $denom)) - max: MAX((TCC_WRITEBACK_sum / $denom)) - unit: ( + $normUnit) - tips: - NC Req: - avg: AVG((TCC_NC_REQ_sum / $denom)) - min: MIN((TCC_NC_REQ_sum / $denom)) - max: MAX((TCC_NC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - UC Req: - avg: AVG((TCC_UC_REQ_sum / $denom)) - min: MIN((TCC_UC_REQ_sum / $denom)) - max: MAX((TCC_UC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - CC Req: - avg: AVG((TCC_CC_REQ_sum / $denom)) - min: MIN((TCC_CC_REQ_sum / $denom)) - max: MAX((TCC_CC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - RW Req: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (Req + $normUnit) - tips: - Writeback (Normal): - avg: AVG((TCC_NORMAL_WRITEBACK_sum / $denom)) - min: MIN((TCC_NORMAL_WRITEBACK_sum / $denom)) - max: MAX((TCC_NORMAL_WRITEBACK_sum / $denom)) - unit: ( + $normUnit) - tips: - Writeback (TC Req): - avg: AVG((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom)) - min: MIN((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom)) - max: MAX((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom)) - unit: ( + $normUnit) - tips: - Evict (Normal): - avg: AVG((TCC_NORMAL_EVICT_sum / $denom)) - min: MIN((TCC_NORMAL_EVICT_sum / $denom)) - max: MAX((TCC_NORMAL_EVICT_sum / $denom)) - unit: ( + $normUnit) - tips: - Evict (TC Req): - avg: AVG((TCC_ALL_TC_OP_INV_EVICT_sum / $denom)) - min: MIN((TCC_ALL_TC_OP_INV_EVICT_sum / $denom)) - max: MAX((TCC_ALL_TC_OP_INV_EVICT_sum / $denom)) - unit: ( + $normUnit) - tips: - - - metric_table: - id: 1704 - title: L2 - EA Interface Stalls - header: - metric: Metric - type: Type - transaction: Transaction - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - style: - type: simple_multi_bar - metric: - Read - Remote Socket Stall: - type: Remote Socket Stall - transaction: Read - avg: AVG((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read - Peer GCD Stall: - type: Peer GCD Stall - transaction: Read - avg: AVG((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read - HBM Stall: - type: HBM Stall - transaction: Read - avg: AVG((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write - Remote Socket Stall: - type: Remote Socket Stall - transaction: Write - avg: AVG((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write - Peer GCD Stall: - type: Peer GCD Stall - transaction: Write - avg: AVG((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write - HBM Stall: - type: HBM Stall - transaction: Write - avg: AVG((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write - Credit Starvation: - type: Credit Starvation - transaction: Write - avg: AVG((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) - min: MIN((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) - max: MAX((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/1800_L2_cache_per_channel.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/1800_L2_cache_per_channel.yaml deleted file mode 100644 index 7a808c5b82..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/1800_L2_cache_per_channel.yaml +++ /dev/null @@ -1,1721 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1800 - title: L2 Cache (per Channel) - data source: - - metric_table: - id: 1801 - title: Aggregate Stats (All 32 channels) - header: - metric: Metric - avg: Mean - std dev: Std Dev - min: Min - max: Max - unit: Unit - tips: Tips - metric: - L2 Cache Hit Rate: - avg: AVG(((((((((((((((((((((((((((((((((((100 * TCC_HIT[0]) + (100 * TCC_HIT[1])) - + (100 * TCC_HIT[2])) + (100 * TCC_HIT[3])) + (100 * TCC_HIT[4])) + (100 * - TCC_HIT[5])) + (100 * TCC_HIT[6])) + (100 * TCC_HIT[7])) + (100 * TCC_HIT[8])) - + (100 * TCC_HIT[9])) + (100 * TCC_HIT[10])) + (100 * TCC_HIT[11])) + (100 - * TCC_HIT[12])) + (100 * TCC_HIT[13])) + (100 * TCC_HIT[14])) + (100 * TCC_HIT[15])) - + (100 * TCC_HIT[16])) + (100 * TCC_HIT[17])) + (100 * TCC_HIT[18])) + (100 - * TCC_HIT[19])) + (100 * TCC_HIT[20])) + (100 * TCC_HIT[21])) + (100 * TCC_HIT[22])) - + (100 * TCC_HIT[23])) + (100 * TCC_HIT[24])) + (100 * TCC_HIT[25])) + (100 - * TCC_HIT[26])) + (100 * TCC_HIT[27])) + (100 * TCC_HIT[28])) + (100 * TCC_HIT[29])) - + (100 * TCC_HIT[30])) + (100 * TCC_HIT[31])) / ((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31]))) if (((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[29] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31])) != 0) else None)) - std dev: STD(((((((((((((((((((((((((((((((((((100 * TCC_HIT[0]) + (100 * TCC_HIT[1])) - + (100 * TCC_HIT[2])) + (100 * TCC_HIT[3])) + (100 * TCC_HIT[4])) + (100 * - TCC_HIT[5])) + (100 * TCC_HIT[6])) + (100 * TCC_HIT[7])) + (100 * TCC_HIT[8])) - + (100 * TCC_HIT[9])) + (100 * TCC_HIT[10])) + (100 * TCC_HIT[11])) + (100 - * TCC_HIT[12])) + (100 * TCC_HIT[13])) + (100 * TCC_HIT[14])) + (100 * TCC_HIT[15])) - + (100 * TCC_HIT[16])) + (100 * TCC_HIT[17])) + (100 * TCC_HIT[18])) + (100 - * TCC_HIT[19])) + (100 * TCC_HIT[20])) + (100 * TCC_HIT[21])) + (100 * TCC_HIT[22])) - + (100 * TCC_HIT[23])) + (100 * TCC_HIT[24])) + (100 * TCC_HIT[25])) + (100 - * TCC_HIT[26])) + (100 * TCC_HIT[27])) + (100 * TCC_HIT[28])) + (100 * TCC_HIT[29])) - + (100 * TCC_HIT[30])) + (100 * TCC_HIT[31])) / ((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31]))) if (((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31])) != 0) else None)) - min: MIN(((((((((((((((((((((((((((((((((((100 * TCC_HIT[0]) + (100 * TCC_HIT[1])) - + (100 * TCC_HIT[2])) + (100 * TCC_HIT[3])) + (100 * TCC_HIT[4])) + (100 * - TCC_HIT[5])) + (100 * TCC_HIT[6])) + (100 * TCC_HIT[7])) + (100 * TCC_HIT[8])) - + (100 * TCC_HIT[9])) + (100 * TCC_HIT[10])) + (100 * TCC_HIT[11])) + (100 - * TCC_HIT[12])) + (100 * TCC_HIT[13])) + (100 * TCC_HIT[14])) + (100 * TCC_HIT[15])) - + (100 * TCC_HIT[16])) + (100 * TCC_HIT[17])) + (100 * TCC_HIT[18])) + (100 - * TCC_HIT[19])) + (100 * TCC_HIT[20])) + (100 * TCC_HIT[21])) + (100 * TCC_HIT[22])) - + (100 * TCC_HIT[23])) + (100 * TCC_HIT[24])) + (100 * TCC_HIT[25])) + (100 - * TCC_HIT[26])) + (100 * TCC_HIT[27])) + (100 * TCC_HIT[28])) + (100 * TCC_HIT[29])) - + (100 * TCC_HIT[30])) + (100 * TCC_HIT[31])) / ((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31]))) if (((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31])) != 0) else None)) - max: MAX(((((((((((((((((((((((((((((((((((100 * TCC_HIT[0]) + (100 * TCC_HIT[1])) - + (100 * TCC_HIT[2])) + (100 * TCC_HIT[3])) + (100 * TCC_HIT[4])) + (100 * - TCC_HIT[5])) + (100 * TCC_HIT[6])) + (100 * TCC_HIT[7])) + (100 * TCC_HIT[8])) - + (100 * TCC_HIT[9])) + (100 * TCC_HIT[10])) + (100 * TCC_HIT[11])) + (100 - * TCC_HIT[12])) + (100 * TCC_HIT[13])) + (100 * TCC_HIT[14])) + (100 * TCC_HIT[15])) - + (100 * TCC_HIT[16])) + (100 * TCC_HIT[17])) + (100 * TCC_HIT[18])) + (100 - * TCC_HIT[19])) + (100 * TCC_HIT[20])) + (100 * TCC_HIT[21])) + (100 * TCC_HIT[22])) - + (100 * TCC_HIT[23])) + (100 * TCC_HIT[24])) + (100 * TCC_HIT[25])) + (100 - * TCC_HIT[26])) + (100 * TCC_HIT[27])) + (100 * TCC_HIT[28])) + (100 * TCC_HIT[29])) - + (100 * TCC_HIT[30])) + (100 * TCC_HIT[31])) / ((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31]))) if (((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31])) != 0) else None)) - unit: pct - tips: - Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_REQ[0]) + TO_INT(TCC_REQ[1])) - + TO_INT(TCC_REQ[2])) + TO_INT(TCC_REQ[3])) + TO_INT(TCC_REQ[4])) + TO_INT(TCC_REQ[5])) - + TO_INT(TCC_REQ[6])) + TO_INT(TCC_REQ[7])) + TO_INT(TCC_REQ[8])) + TO_INT(TCC_REQ[9])) - + TO_INT(TCC_REQ[10])) + TO_INT(TCC_REQ[11])) + TO_INT(TCC_REQ[12])) + TO_INT(TCC_REQ[13])) - + TO_INT(TCC_REQ[14])) + TO_INT(TCC_REQ[15])) + TO_INT(TCC_REQ[16])) + TO_INT(TCC_REQ[17])) - + TO_INT(TCC_REQ[18])) + TO_INT(TCC_REQ[19])) + TO_INT(TCC_REQ[20])) + TO_INT(TCC_REQ[21])) - + TO_INT(TCC_REQ[22])) + TO_INT(TCC_REQ[23])) + TO_INT(TCC_REQ[24])) + TO_INT(TCC_REQ[25])) - + TO_INT(TCC_REQ[26])) + TO_INT(TCC_REQ[27])) + TO_INT(TCC_REQ[28])) + TO_INT(TCC_REQ[29])) - + TO_INT(TCC_REQ[30])) + TO_INT(TCC_REQ[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_REQ[0]) + TO_INT(TCC_REQ[1])) - + TO_INT(TCC_REQ[2])) + TO_INT(TCC_REQ[3])) + TO_INT(TCC_REQ[4])) + TO_INT(TCC_REQ[5])) - + TO_INT(TCC_REQ[6])) + TO_INT(TCC_REQ[7])) + TO_INT(TCC_REQ[8])) + TO_INT(TCC_REQ[9])) - + TO_INT(TCC_REQ[10])) + TO_INT(TCC_REQ[11])) + TO_INT(TCC_REQ[12])) + TO_INT(TCC_REQ[13])) - + TO_INT(TCC_REQ[14])) + TO_INT(TCC_REQ[15])) + TO_INT(TCC_REQ[16])) + TO_INT(TCC_REQ[17])) - + TO_INT(TCC_REQ[18])) + TO_INT(TCC_REQ[19])) + TO_INT(TCC_REQ[20])) + TO_INT(TCC_REQ[21])) - + TO_INT(TCC_REQ[22])) + TO_INT(TCC_REQ[23])) + TO_INT(TCC_REQ[24])) + TO_INT(TCC_REQ[25])) - + TO_INT(TCC_REQ[26])) + TO_INT(TCC_REQ[27])) + TO_INT(TCC_REQ[28])) + TO_INT(TCC_REQ[29])) - + TO_INT(TCC_REQ[30])) + TO_INT(TCC_REQ[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_REQ[0]) + TO_INT(TCC_REQ[1])) - + TO_INT(TCC_REQ[2])) + TO_INT(TCC_REQ[3])) + TO_INT(TCC_REQ[4])) + TO_INT(TCC_REQ[5])) - + TO_INT(TCC_REQ[6])) + TO_INT(TCC_REQ[7])) + TO_INT(TCC_REQ[8])) + TO_INT(TCC_REQ[9])) - + TO_INT(TCC_REQ[10])) + TO_INT(TCC_REQ[11])) + TO_INT(TCC_REQ[12])) + TO_INT(TCC_REQ[13])) - + TO_INT(TCC_REQ[14])) + TO_INT(TCC_REQ[15])) + TO_INT(TCC_REQ[16])) + TO_INT(TCC_REQ[17])) - + TO_INT(TCC_REQ[18])) + TO_INT(TCC_REQ[19])) + TO_INT(TCC_REQ[20])) + TO_INT(TCC_REQ[21])) - + TO_INT(TCC_REQ[22])) + TO_INT(TCC_REQ[23])) + TO_INT(TCC_REQ[24])) + TO_INT(TCC_REQ[25])) - + TO_INT(TCC_REQ[26])) + TO_INT(TCC_REQ[27])) + TO_INT(TCC_REQ[28])) + TO_INT(TCC_REQ[29])) - + TO_INT(TCC_REQ[30])) + TO_INT(TCC_REQ[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_REQ[0]) + TO_INT(TCC_REQ[1])) - + TO_INT(TCC_REQ[2])) + TO_INT(TCC_REQ[3])) + TO_INT(TCC_REQ[4])) + TO_INT(TCC_REQ[5])) - + TO_INT(TCC_REQ[6])) + TO_INT(TCC_REQ[7])) + TO_INT(TCC_REQ[8])) + TO_INT(TCC_REQ[9])) - + TO_INT(TCC_REQ[10])) + TO_INT(TCC_REQ[11])) + TO_INT(TCC_REQ[12])) + TO_INT(TCC_REQ[13])) - + TO_INT(TCC_REQ[14])) + TO_INT(TCC_REQ[15])) + TO_INT(TCC_REQ[16])) + TO_INT(TCC_REQ[17])) - + TO_INT(TCC_REQ[18])) + TO_INT(TCC_REQ[19])) + TO_INT(TCC_REQ[20])) + TO_INT(TCC_REQ[21])) - + TO_INT(TCC_REQ[22])) + TO_INT(TCC_REQ[23])) + TO_INT(TCC_REQ[24])) + TO_INT(TCC_REQ[25])) - + TO_INT(TCC_REQ[26])) + TO_INT(TCC_REQ[27])) + TO_INT(TCC_REQ[28])) + TO_INT(TCC_REQ[29])) - + TO_INT(TCC_REQ[30])) + TO_INT(TCC_REQ[31])) / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L1 - L2 Read Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_READ[0]) + TO_INT(TCC_READ[1])) - + TO_INT(TCC_READ[2])) + TO_INT(TCC_READ[3])) + TO_INT(TCC_READ[4])) + TO_INT(TCC_READ[5])) - + TO_INT(TCC_READ[6])) + TO_INT(TCC_READ[7])) + TO_INT(TCC_READ[8])) + TO_INT(TCC_READ[9])) - + TO_INT(TCC_READ[10])) + TO_INT(TCC_READ[11])) + TO_INT(TCC_READ[12])) + - TO_INT(TCC_READ[13])) + TO_INT(TCC_READ[14])) + TO_INT(TCC_READ[15])) + TO_INT(TCC_READ[16])) - + TO_INT(TCC_READ[17])) + TO_INT(TCC_READ[18])) + TO_INT(TCC_READ[19])) + - TO_INT(TCC_READ[20])) + TO_INT(TCC_READ[21])) + TO_INT(TCC_READ[22])) + TO_INT(TCC_READ[23])) - + TO_INT(TCC_READ[24])) + TO_INT(TCC_READ[25])) + TO_INT(TCC_READ[26])) + - TO_INT(TCC_READ[27])) + TO_INT(TCC_READ[28])) + TO_INT(TCC_READ[29])) + TO_INT(TCC_READ[30])) - + TO_INT(TCC_READ[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_READ[0]) + TO_INT(TCC_READ[1])) - + TO_INT(TCC_READ[2])) + TO_INT(TCC_READ[3])) + TO_INT(TCC_READ[4])) + TO_INT(TCC_READ[5])) - + TO_INT(TCC_READ[6])) + TO_INT(TCC_READ[7])) + TO_INT(TCC_READ[8])) + TO_INT(TCC_READ[9])) - + TO_INT(TCC_READ[10])) + TO_INT(TCC_READ[11])) + TO_INT(TCC_READ[12])) + - TO_INT(TCC_READ[13])) + TO_INT(TCC_READ[14])) + TO_INT(TCC_READ[15])) + TO_INT(TCC_READ[16])) - + TO_INT(TCC_READ[17])) + TO_INT(TCC_READ[18])) + TO_INT(TCC_READ[19])) + - TO_INT(TCC_READ[20])) + TO_INT(TCC_READ[21])) + TO_INT(TCC_READ[22])) + TO_INT(TCC_READ[23])) - + TO_INT(TCC_READ[24])) + TO_INT(TCC_READ[25])) + TO_INT(TCC_READ[26])) + - TO_INT(TCC_READ[27])) + TO_INT(TCC_READ[28])) + TO_INT(TCC_READ[29])) + TO_INT(TCC_READ[30])) - + TO_INT(TCC_READ[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_READ[0]) + TO_INT(TCC_READ[1])) - + TO_INT(TCC_READ[2])) + TO_INT(TCC_READ[3])) + TO_INT(TCC_READ[4])) + TO_INT(TCC_READ[5])) - + TO_INT(TCC_READ[6])) + TO_INT(TCC_READ[7])) + TO_INT(TCC_READ[8])) + TO_INT(TCC_READ[9])) - + TO_INT(TCC_READ[10])) + TO_INT(TCC_READ[11])) + TO_INT(TCC_READ[12])) + - TO_INT(TCC_READ[13])) + TO_INT(TCC_READ[14])) + TO_INT(TCC_READ[15])) + TO_INT(TCC_READ[16])) - + TO_INT(TCC_READ[17])) + TO_INT(TCC_READ[18])) + TO_INT(TCC_READ[19])) + - TO_INT(TCC_READ[20])) + TO_INT(TCC_READ[21])) + TO_INT(TCC_READ[22])) + TO_INT(TCC_READ[23])) - + TO_INT(TCC_READ[24])) + TO_INT(TCC_READ[25])) + TO_INT(TCC_READ[26])) + - TO_INT(TCC_READ[27])) + TO_INT(TCC_READ[28])) + TO_INT(TCC_READ[29])) + TO_INT(TCC_READ[30])) - + TO_INT(TCC_READ[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_READ[0]) + TO_INT(TCC_READ[1])) - + TO_INT(TCC_READ[2])) + TO_INT(TCC_READ[3])) + TO_INT(TCC_READ[4])) + TO_INT(TCC_READ[5])) - + TO_INT(TCC_READ[6])) + TO_INT(TCC_READ[7])) + TO_INT(TCC_READ[8])) + TO_INT(TCC_READ[9])) - + TO_INT(TCC_READ[10])) + TO_INT(TCC_READ[11])) + TO_INT(TCC_READ[12])) + - TO_INT(TCC_READ[13])) + TO_INT(TCC_READ[14])) + TO_INT(TCC_READ[15])) + TO_INT(TCC_READ[16])) - + TO_INT(TCC_READ[17])) + TO_INT(TCC_READ[18])) + TO_INT(TCC_READ[19])) + - TO_INT(TCC_READ[20])) + TO_INT(TCC_READ[21])) + TO_INT(TCC_READ[22])) + TO_INT(TCC_READ[23])) - + TO_INT(TCC_READ[24])) + TO_INT(TCC_READ[25])) + TO_INT(TCC_READ[26])) + - TO_INT(TCC_READ[27])) + TO_INT(TCC_READ[28])) + TO_INT(TCC_READ[29])) + TO_INT(TCC_READ[30])) - + TO_INT(TCC_READ[31])) / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L1 - L2 Write Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_WRITE[0]) + TO_INT(TCC_WRITE[1])) - + TO_INT(TCC_WRITE[2])) + TO_INT(TCC_WRITE[3])) + TO_INT(TCC_WRITE[4])) + - TO_INT(TCC_WRITE[5])) + TO_INT(TCC_WRITE[6])) + TO_INT(TCC_WRITE[7])) + TO_INT(TCC_WRITE[8])) - + TO_INT(TCC_WRITE[9])) + TO_INT(TCC_WRITE[10])) + TO_INT(TCC_WRITE[11])) - + TO_INT(TCC_WRITE[12])) + TO_INT(TCC_WRITE[13])) + TO_INT(TCC_WRITE[14])) - + TO_INT(TCC_WRITE[15])) + TO_INT(TCC_WRITE[16])) + TO_INT(TCC_WRITE[17])) - + TO_INT(TCC_WRITE[18])) + TO_INT(TCC_WRITE[19])) + TO_INT(TCC_WRITE[20])) - + TO_INT(TCC_WRITE[21])) + TO_INT(TCC_WRITE[22])) + TO_INT(TCC_WRITE[23])) - + TO_INT(TCC_WRITE[24])) + TO_INT(TCC_WRITE[25])) + TO_INT(TCC_WRITE[26])) - + TO_INT(TCC_WRITE[27])) + TO_INT(TCC_WRITE[28])) + TO_INT(TCC_WRITE[29])) - + TO_INT(TCC_WRITE[30])) + TO_INT(TCC_WRITE[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_WRITE[0]) + TO_INT(TCC_WRITE[1])) - + TO_INT(TCC_WRITE[2])) + TO_INT(TCC_WRITE[3])) + TO_INT(TCC_WRITE[4])) + - TO_INT(TCC_WRITE[5])) + TO_INT(TCC_WRITE[6])) + TO_INT(TCC_WRITE[7])) + TO_INT(TCC_WRITE[8])) - + TO_INT(TCC_WRITE[9])) + TO_INT(TCC_WRITE[10])) + TO_INT(TCC_WRITE[11])) - + TO_INT(TCC_WRITE[12])) + TO_INT(TCC_WRITE[13])) + TO_INT(TCC_WRITE[14])) - + TO_INT(TCC_WRITE[15])) + TO_INT(TCC_WRITE[16])) + TO_INT(TCC_WRITE[17])) - + TO_INT(TCC_WRITE[18])) + TO_INT(TCC_WRITE[19])) + TO_INT(TCC_WRITE[20])) - + TO_INT(TCC_WRITE[21])) + TO_INT(TCC_WRITE[22])) + TO_INT(TCC_WRITE[23])) - + TO_INT(TCC_WRITE[24])) + TO_INT(TCC_WRITE[25])) + TO_INT(TCC_WRITE[26])) - + TO_INT(TCC_WRITE[27])) + TO_INT(TCC_WRITE[28])) + TO_INT(TCC_WRITE[29])) - + TO_INT(TCC_WRITE[30])) + TO_INT(TCC_WRITE[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_WRITE[0]) + TO_INT(TCC_WRITE[1])) - + TO_INT(TCC_WRITE[2])) + TO_INT(TCC_WRITE[3])) + TO_INT(TCC_WRITE[4])) + - TO_INT(TCC_WRITE[5])) + TO_INT(TCC_WRITE[6])) + TO_INT(TCC_WRITE[7])) + TO_INT(TCC_WRITE[8])) - + TO_INT(TCC_WRITE[9])) + TO_INT(TCC_WRITE[10])) + TO_INT(TCC_WRITE[11])) - + TO_INT(TCC_WRITE[12])) + TO_INT(TCC_WRITE[13])) + TO_INT(TCC_WRITE[14])) - + TO_INT(TCC_WRITE[15])) + TO_INT(TCC_WRITE[16])) + TO_INT(TCC_WRITE[17])) - + TO_INT(TCC_WRITE[18])) + TO_INT(TCC_WRITE[19])) + TO_INT(TCC_WRITE[20])) - + TO_INT(TCC_WRITE[21])) + TO_INT(TCC_WRITE[22])) + TO_INT(TCC_WRITE[23])) - + TO_INT(TCC_WRITE[24])) + TO_INT(TCC_WRITE[25])) + TO_INT(TCC_WRITE[26])) - + TO_INT(TCC_WRITE[27])) + TO_INT(TCC_WRITE[28])) + TO_INT(TCC_WRITE[29])) - + TO_INT(TCC_WRITE[30])) + TO_INT(TCC_WRITE[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_WRITE[0]) + TO_INT(TCC_WRITE[1])) - + TO_INT(TCC_WRITE[2])) + TO_INT(TCC_WRITE[3])) + TO_INT(TCC_WRITE[4])) + - TO_INT(TCC_WRITE[5])) + TO_INT(TCC_WRITE[6])) + TO_INT(TCC_WRITE[7])) + TO_INT(TCC_WRITE[8])) - + TO_INT(TCC_WRITE[9])) + TO_INT(TCC_WRITE[10])) + TO_INT(TCC_WRITE[11])) - + TO_INT(TCC_WRITE[12])) + TO_INT(TCC_WRITE[13])) + TO_INT(TCC_WRITE[14])) - + TO_INT(TCC_WRITE[15])) + TO_INT(TCC_WRITE[16])) + TO_INT(TCC_WRITE[17])) - + TO_INT(TCC_WRITE[18])) + TO_INT(TCC_WRITE[19])) + TO_INT(TCC_WRITE[20])) - + TO_INT(TCC_WRITE[21])) + TO_INT(TCC_WRITE[22])) + TO_INT(TCC_WRITE[23])) - + TO_INT(TCC_WRITE[24])) + TO_INT(TCC_WRITE[25])) + TO_INT(TCC_WRITE[26])) - + TO_INT(TCC_WRITE[27])) + TO_INT(TCC_WRITE[28])) + TO_INT(TCC_WRITE[29])) - + TO_INT(TCC_WRITE[30])) + TO_INT(TCC_WRITE[31])) / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L1 - L2 Atomic Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_ATOMIC[0]) + TO_INT(TCC_ATOMIC[1])) - + TO_INT(TCC_ATOMIC[2])) + TO_INT(TCC_ATOMIC[3])) + TO_INT(TCC_ATOMIC[4])) - + TO_INT(TCC_ATOMIC[5])) + TO_INT(TCC_ATOMIC[6])) + TO_INT(TCC_ATOMIC[7])) - + TO_INT(TCC_ATOMIC[8])) + TO_INT(TCC_ATOMIC[9])) + TO_INT(TCC_ATOMIC[10])) - + TO_INT(TCC_ATOMIC[11])) + TO_INT(TCC_ATOMIC[12])) + TO_INT(TCC_ATOMIC[13])) - + TO_INT(TCC_ATOMIC[14])) + TO_INT(TCC_ATOMIC[15])) + TO_INT(TCC_ATOMIC[16])) - + TO_INT(TCC_ATOMIC[17])) + TO_INT(TCC_ATOMIC[18])) + TO_INT(TCC_ATOMIC[19])) - + TO_INT(TCC_ATOMIC[20])) + TO_INT(TCC_ATOMIC[21])) + TO_INT(TCC_ATOMIC[22])) - + TO_INT(TCC_ATOMIC[23])) + TO_INT(TCC_ATOMIC[24])) + TO_INT(TCC_ATOMIC[25])) - + TO_INT(TCC_ATOMIC[26])) + TO_INT(TCC_ATOMIC[27])) + TO_INT(TCC_ATOMIC[28])) - + TO_INT(TCC_ATOMIC[29])) + TO_INT(TCC_ATOMIC[30])) + TO_INT(TCC_ATOMIC[31])) - / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_ATOMIC[0]) + TO_INT(TCC_ATOMIC[1])) - + TO_INT(TCC_ATOMIC[2])) + TO_INT(TCC_ATOMIC[3])) + TO_INT(TCC_ATOMIC[4])) - + TO_INT(TCC_ATOMIC[5])) + TO_INT(TCC_ATOMIC[6])) + TO_INT(TCC_ATOMIC[7])) - + TO_INT(TCC_ATOMIC[8])) + TO_INT(TCC_ATOMIC[9])) + TO_INT(TCC_ATOMIC[10])) - + TO_INT(TCC_ATOMIC[11])) + TO_INT(TCC_ATOMIC[12])) + TO_INT(TCC_ATOMIC[13])) - + TO_INT(TCC_ATOMIC[14])) + TO_INT(TCC_ATOMIC[15])) + TO_INT(TCC_ATOMIC[16])) - + TO_INT(TCC_ATOMIC[17])) + TO_INT(TCC_ATOMIC[18])) + TO_INT(TCC_ATOMIC[19])) - + TO_INT(TCC_ATOMIC[20])) + TO_INT(TCC_ATOMIC[21])) + TO_INT(TCC_ATOMIC[22])) - + TO_INT(TCC_ATOMIC[23])) + TO_INT(TCC_ATOMIC[24])) + TO_INT(TCC_ATOMIC[25])) - + TO_INT(TCC_ATOMIC[26])) + TO_INT(TCC_ATOMIC[27])) + TO_INT(TCC_ATOMIC[28])) - + TO_INT(TCC_ATOMIC[29])) + TO_INT(TCC_ATOMIC[30])) + TO_INT(TCC_ATOMIC[31])) - / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_ATOMIC[0]) + TO_INT(TCC_ATOMIC[1])) - + TO_INT(TCC_ATOMIC[2])) + TO_INT(TCC_ATOMIC[3])) + TO_INT(TCC_ATOMIC[4])) - + TO_INT(TCC_ATOMIC[5])) + TO_INT(TCC_ATOMIC[6])) + TO_INT(TCC_ATOMIC[7])) - + TO_INT(TCC_ATOMIC[8])) + TO_INT(TCC_ATOMIC[9])) + TO_INT(TCC_ATOMIC[10])) - + TO_INT(TCC_ATOMIC[11])) + TO_INT(TCC_ATOMIC[12])) + TO_INT(TCC_ATOMIC[13])) - + TO_INT(TCC_ATOMIC[14])) + TO_INT(TCC_ATOMIC[15])) + TO_INT(TCC_ATOMIC[16])) - + TO_INT(TCC_ATOMIC[17])) + TO_INT(TCC_ATOMIC[18])) + TO_INT(TCC_ATOMIC[19])) - + TO_INT(TCC_ATOMIC[20])) + TO_INT(TCC_ATOMIC[21])) + TO_INT(TCC_ATOMIC[22])) - + TO_INT(TCC_ATOMIC[23])) + TO_INT(TCC_ATOMIC[24])) + TO_INT(TCC_ATOMIC[25])) - + TO_INT(TCC_ATOMIC[26])) + TO_INT(TCC_ATOMIC[27])) + TO_INT(TCC_ATOMIC[28])) - + TO_INT(TCC_ATOMIC[29])) + TO_INT(TCC_ATOMIC[30])) + TO_INT(TCC_ATOMIC[31])) - / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_ATOMIC[0]) + TO_INT(TCC_ATOMIC[1])) - + TO_INT(TCC_ATOMIC[2])) + TO_INT(TCC_ATOMIC[3])) + TO_INT(TCC_ATOMIC[4])) - + TO_INT(TCC_ATOMIC[5])) + TO_INT(TCC_ATOMIC[6])) + TO_INT(TCC_ATOMIC[7])) - + TO_INT(TCC_ATOMIC[8])) + TO_INT(TCC_ATOMIC[9])) + TO_INT(TCC_ATOMIC[10])) - + TO_INT(TCC_ATOMIC[11])) + TO_INT(TCC_ATOMIC[12])) + TO_INT(TCC_ATOMIC[13])) - + TO_INT(TCC_ATOMIC[14])) + TO_INT(TCC_ATOMIC[15])) + TO_INT(TCC_ATOMIC[16])) - + TO_INT(TCC_ATOMIC[17])) + TO_INT(TCC_ATOMIC[18])) + TO_INT(TCC_ATOMIC[19])) - + TO_INT(TCC_ATOMIC[20])) + TO_INT(TCC_ATOMIC[21])) + TO_INT(TCC_ATOMIC[22])) - + TO_INT(TCC_ATOMIC[23])) + TO_INT(TCC_ATOMIC[24])) + TO_INT(TCC_ATOMIC[25])) - + TO_INT(TCC_ATOMIC[26])) + TO_INT(TCC_ATOMIC[27])) + TO_INT(TCC_ATOMIC[28])) - + TO_INT(TCC_ATOMIC[29])) + TO_INT(TCC_ATOMIC[30])) + TO_INT(TCC_ATOMIC[31])) - / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L2 - EA Read Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ[0]) + TO_INT(TCC_EA_RDREQ[1])) - + TO_INT(TCC_EA_RDREQ[2])) + TO_INT(TCC_EA_RDREQ[3])) + TO_INT(TCC_EA_RDREQ[4])) - + TO_INT(TCC_EA_RDREQ[5])) + TO_INT(TCC_EA_RDREQ[6])) + TO_INT(TCC_EA_RDREQ[7])) - + TO_INT(TCC_EA_RDREQ[8])) + TO_INT(TCC_EA_RDREQ[9])) + TO_INT(TCC_EA_RDREQ[10])) - + TO_INT(TCC_EA_RDREQ[11])) + TO_INT(TCC_EA_RDREQ[12])) + TO_INT(TCC_EA_RDREQ[13])) - + TO_INT(TCC_EA_RDREQ[14])) + TO_INT(TCC_EA_RDREQ[15])) + TO_INT(TCC_EA_RDREQ[16])) - + TO_INT(TCC_EA_RDREQ[17])) + TO_INT(TCC_EA_RDREQ[18])) + TO_INT(TCC_EA_RDREQ[19])) - + TO_INT(TCC_EA_RDREQ[20])) + TO_INT(TCC_EA_RDREQ[21])) + TO_INT(TCC_EA_RDREQ[22])) - + TO_INT(TCC_EA_RDREQ[23])) + TO_INT(TCC_EA_RDREQ[24])) + TO_INT(TCC_EA_RDREQ[25])) - + TO_INT(TCC_EA_RDREQ[26])) + TO_INT(TCC_EA_RDREQ[27])) + TO_INT(TCC_EA_RDREQ[28])) - + TO_INT(TCC_EA_RDREQ[29])) + TO_INT(TCC_EA_RDREQ[30])) + TO_INT(TCC_EA_RDREQ[31])) - / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ[0]) + TO_INT(TCC_EA_RDREQ[1])) - + TO_INT(TCC_EA_RDREQ[2])) + TO_INT(TCC_EA_RDREQ[3])) + TO_INT(TCC_EA_RDREQ[4])) - + TO_INT(TCC_EA_RDREQ[5])) + TO_INT(TCC_EA_RDREQ[6])) + TO_INT(TCC_EA_RDREQ[7])) - + TO_INT(TCC_EA_RDREQ[8])) + TO_INT(TCC_EA_RDREQ[9])) + TO_INT(TCC_EA_RDREQ[10])) - + TO_INT(TCC_EA_RDREQ[11])) + TO_INT(TCC_EA_RDREQ[12])) + TO_INT(TCC_EA_RDREQ[13])) - + TO_INT(TCC_EA_RDREQ[14])) + TO_INT(TCC_EA_RDREQ[15])) + TO_INT(TCC_EA_RDREQ[16])) - + TO_INT(TCC_EA_RDREQ[17])) + TO_INT(TCC_EA_RDREQ[18])) + TO_INT(TCC_EA_RDREQ[19])) - + TO_INT(TCC_EA_RDREQ[20])) + TO_INT(TCC_EA_RDREQ[21])) + TO_INT(TCC_EA_RDREQ[22])) - + TO_INT(TCC_EA_RDREQ[23])) + TO_INT(TCC_EA_RDREQ[24])) + TO_INT(TCC_EA_RDREQ[25])) - + TO_INT(TCC_EA_RDREQ[26])) + TO_INT(TCC_EA_RDREQ[27])) + TO_INT(TCC_EA_RDREQ[28])) - + TO_INT(TCC_EA_RDREQ[29])) + TO_INT(TCC_EA_RDREQ[30])) + TO_INT(TCC_EA_RDREQ[31])) - / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ[0]) + TO_INT(TCC_EA_RDREQ[1])) - + TO_INT(TCC_EA_RDREQ[2])) + TO_INT(TCC_EA_RDREQ[3])) + TO_INT(TCC_EA_RDREQ[4])) - + TO_INT(TCC_EA_RDREQ[5])) + TO_INT(TCC_EA_RDREQ[6])) + TO_INT(TCC_EA_RDREQ[7])) - + TO_INT(TCC_EA_RDREQ[8])) + TO_INT(TCC_EA_RDREQ[9])) + TO_INT(TCC_EA_RDREQ[10])) - + TO_INT(TCC_EA_RDREQ[11])) + TO_INT(TCC_EA_RDREQ[12])) + TO_INT(TCC_EA_RDREQ[13])) - + TO_INT(TCC_EA_RDREQ[14])) + TO_INT(TCC_EA_RDREQ[15])) + TO_INT(TCC_EA_RDREQ[16])) - + TO_INT(TCC_EA_RDREQ[17])) + TO_INT(TCC_EA_RDREQ[18])) + TO_INT(TCC_EA_RDREQ[19])) - + TO_INT(TCC_EA_RDREQ[20])) + TO_INT(TCC_EA_RDREQ[21])) + TO_INT(TCC_EA_RDREQ[22])) - + TO_INT(TCC_EA_RDREQ[23])) + TO_INT(TCC_EA_RDREQ[24])) + TO_INT(TCC_EA_RDREQ[25])) - + TO_INT(TCC_EA_RDREQ[26])) + TO_INT(TCC_EA_RDREQ[27])) + TO_INT(TCC_EA_RDREQ[28])) - + TO_INT(TCC_EA_RDREQ[29])) + TO_INT(TCC_EA_RDREQ[30])) + TO_INT(TCC_EA_RDREQ[31])) - / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ[0]) + TO_INT(TCC_EA_RDREQ[1])) - + TO_INT(TCC_EA_RDREQ[2])) + TO_INT(TCC_EA_RDREQ[3])) + TO_INT(TCC_EA_RDREQ[4])) - + TO_INT(TCC_EA_RDREQ[5])) + TO_INT(TCC_EA_RDREQ[6])) + TO_INT(TCC_EA_RDREQ[7])) - + TO_INT(TCC_EA_RDREQ[8])) + TO_INT(TCC_EA_RDREQ[9])) + TO_INT(TCC_EA_RDREQ[10])) - + TO_INT(TCC_EA_RDREQ[11])) + TO_INT(TCC_EA_RDREQ[12])) + TO_INT(TCC_EA_RDREQ[13])) - + TO_INT(TCC_EA_RDREQ[14])) + TO_INT(TCC_EA_RDREQ[15])) + TO_INT(TCC_EA_RDREQ[16])) - + TO_INT(TCC_EA_RDREQ[17])) + TO_INT(TCC_EA_RDREQ[18])) + TO_INT(TCC_EA_RDREQ[19])) - + TO_INT(TCC_EA_RDREQ[20])) + TO_INT(TCC_EA_RDREQ[21])) + TO_INT(TCC_EA_RDREQ[22])) - + TO_INT(TCC_EA_RDREQ[23])) + TO_INT(TCC_EA_RDREQ[24])) + TO_INT(TCC_EA_RDREQ[25])) - + TO_INT(TCC_EA_RDREQ[26])) + TO_INT(TCC_EA_RDREQ[27])) + TO_INT(TCC_EA_RDREQ[28])) - + TO_INT(TCC_EA_RDREQ[29])) + TO_INT(TCC_EA_RDREQ[30])) + TO_INT(TCC_EA_RDREQ[31])) - / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L2 - EA Write Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ[0]) + TO_INT(TCC_EA_WRREQ[1])) - + TO_INT(TCC_EA_WRREQ[2])) + TO_INT(TCC_EA_WRREQ[3])) + TO_INT(TCC_EA_WRREQ[4])) - + TO_INT(TCC_EA_WRREQ[5])) + TO_INT(TCC_EA_WRREQ[6])) + TO_INT(TCC_EA_WRREQ[7])) - + TO_INT(TCC_EA_WRREQ[8])) + TO_INT(TCC_EA_WRREQ[9])) + TO_INT(TCC_EA_WRREQ[10])) - + TO_INT(TCC_EA_WRREQ[11])) + TO_INT(TCC_EA_WRREQ[12])) + TO_INT(TCC_EA_WRREQ[13])) - + TO_INT(TCC_EA_WRREQ[14])) + TO_INT(TCC_EA_WRREQ[15])) + TO_INT(TCC_EA_WRREQ[16])) - + TO_INT(TCC_EA_WRREQ[17])) + TO_INT(TCC_EA_WRREQ[18])) + TO_INT(TCC_EA_WRREQ[19])) - + TO_INT(TCC_EA_WRREQ[20])) + TO_INT(TCC_EA_WRREQ[21])) + TO_INT(TCC_EA_WRREQ[22])) - + TO_INT(TCC_EA_WRREQ[23])) + TO_INT(TCC_EA_WRREQ[24])) + TO_INT(TCC_EA_WRREQ[25])) - + TO_INT(TCC_EA_WRREQ[26])) + TO_INT(TCC_EA_WRREQ[27])) + TO_INT(TCC_EA_WRREQ[28])) - + TO_INT(TCC_EA_WRREQ[29])) + TO_INT(TCC_EA_WRREQ[30])) + TO_INT(TCC_EA_WRREQ[31])) - / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ[0]) + TO_INT(TCC_EA_WRREQ[1])) - + TO_INT(TCC_EA_WRREQ[2])) + TO_INT(TCC_EA_WRREQ[3])) + TO_INT(TCC_EA_WRREQ[4])) - + TO_INT(TCC_EA_WRREQ[5])) + TO_INT(TCC_EA_WRREQ[6])) + TO_INT(TCC_EA_WRREQ[7])) - + TO_INT(TCC_EA_WRREQ[8])) + TO_INT(TCC_EA_WRREQ[9])) + TO_INT(TCC_EA_WRREQ[10])) - + TO_INT(TCC_EA_WRREQ[11])) + TO_INT(TCC_EA_WRREQ[12])) + TO_INT(TCC_EA_WRREQ[13])) - + TO_INT(TCC_EA_WRREQ[14])) + TO_INT(TCC_EA_WRREQ[15])) + TO_INT(TCC_EA_WRREQ[16])) - + TO_INT(TCC_EA_WRREQ[17])) + TO_INT(TCC_EA_WRREQ[18])) + TO_INT(TCC_EA_WRREQ[19])) - + TO_INT(TCC_EA_WRREQ[20])) + TO_INT(TCC_EA_WRREQ[21])) + TO_INT(TCC_EA_WRREQ[22])) - + TO_INT(TCC_EA_WRREQ[23])) + TO_INT(TCC_EA_WRREQ[24])) + TO_INT(TCC_EA_WRREQ[25])) - + TO_INT(TCC_EA_WRREQ[26])) + TO_INT(TCC_EA_WRREQ[27])) + TO_INT(TCC_EA_WRREQ[28])) - + TO_INT(TCC_EA_WRREQ[29])) + TO_INT(TCC_EA_WRREQ[30])) + TO_INT(TCC_EA_WRREQ[31])) - / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ[0]) + TO_INT(TCC_EA_WRREQ[1])) - + TO_INT(TCC_EA_WRREQ[2])) + TO_INT(TCC_EA_WRREQ[3])) + TO_INT(TCC_EA_WRREQ[4])) - + TO_INT(TCC_EA_WRREQ[5])) + TO_INT(TCC_EA_WRREQ[6])) + TO_INT(TCC_EA_WRREQ[7])) - + TO_INT(TCC_EA_WRREQ[8])) + TO_INT(TCC_EA_WRREQ[9])) + TO_INT(TCC_EA_WRREQ[10])) - + TO_INT(TCC_EA_WRREQ[11])) + TO_INT(TCC_EA_WRREQ[12])) + TO_INT(TCC_EA_WRREQ[13])) - + TO_INT(TCC_EA_WRREQ[14])) + TO_INT(TCC_EA_WRREQ[15])) + TO_INT(TCC_EA_WRREQ[16])) - + TO_INT(TCC_EA_WRREQ[17])) + TO_INT(TCC_EA_WRREQ[18])) + TO_INT(TCC_EA_WRREQ[19])) - + TO_INT(TCC_EA_WRREQ[20])) + TO_INT(TCC_EA_WRREQ[21])) + TO_INT(TCC_EA_WRREQ[22])) - + TO_INT(TCC_EA_WRREQ[23])) + TO_INT(TCC_EA_WRREQ[24])) + TO_INT(TCC_EA_WRREQ[25])) - + TO_INT(TCC_EA_WRREQ[26])) + TO_INT(TCC_EA_WRREQ[27])) + TO_INT(TCC_EA_WRREQ[28])) - + TO_INT(TCC_EA_WRREQ[29])) + TO_INT(TCC_EA_WRREQ[30])) + TO_INT(TCC_EA_WRREQ[31])) - / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ[0]) + TO_INT(TCC_EA_WRREQ[1])) - + TO_INT(TCC_EA_WRREQ[2])) + TO_INT(TCC_EA_WRREQ[3])) + TO_INT(TCC_EA_WRREQ[4])) - + TO_INT(TCC_EA_WRREQ[5])) + TO_INT(TCC_EA_WRREQ[6])) + TO_INT(TCC_EA_WRREQ[7])) - + TO_INT(TCC_EA_WRREQ[8])) + TO_INT(TCC_EA_WRREQ[9])) + TO_INT(TCC_EA_WRREQ[10])) - + TO_INT(TCC_EA_WRREQ[11])) + TO_INT(TCC_EA_WRREQ[12])) + TO_INT(TCC_EA_WRREQ[13])) - + TO_INT(TCC_EA_WRREQ[14])) + TO_INT(TCC_EA_WRREQ[15])) + TO_INT(TCC_EA_WRREQ[16])) - + TO_INT(TCC_EA_WRREQ[17])) + TO_INT(TCC_EA_WRREQ[18])) + TO_INT(TCC_EA_WRREQ[19])) - + TO_INT(TCC_EA_WRREQ[20])) + TO_INT(TCC_EA_WRREQ[21])) + TO_INT(TCC_EA_WRREQ[22])) - + TO_INT(TCC_EA_WRREQ[23])) + TO_INT(TCC_EA_WRREQ[24])) + TO_INT(TCC_EA_WRREQ[25])) - + TO_INT(TCC_EA_WRREQ[26])) + TO_INT(TCC_EA_WRREQ[27])) + TO_INT(TCC_EA_WRREQ[28])) - + TO_INT(TCC_EA_WRREQ[29])) + TO_INT(TCC_EA_WRREQ[30])) + TO_INT(TCC_EA_WRREQ[31])) - / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L2 - EA Atomic Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_ATOMIC[0]) + TO_INT(TCC_EA_ATOMIC[1])) - + TO_INT(TCC_EA_ATOMIC[2])) + TO_INT(TCC_EA_ATOMIC[3])) + TO_INT(TCC_EA_ATOMIC[4])) - + TO_INT(TCC_EA_ATOMIC[5])) + TO_INT(TCC_EA_ATOMIC[6])) + TO_INT(TCC_EA_ATOMIC[7])) - + TO_INT(TCC_EA_ATOMIC[8])) + TO_INT(TCC_EA_ATOMIC[9])) + TO_INT(TCC_EA_ATOMIC[10])) - + TO_INT(TCC_EA_ATOMIC[11])) + TO_INT(TCC_EA_ATOMIC[12])) + TO_INT(TCC_EA_ATOMIC[13])) - + TO_INT(TCC_EA_ATOMIC[14])) + TO_INT(TCC_EA_ATOMIC[15])) + TO_INT(TCC_EA_ATOMIC[16])) - + TO_INT(TCC_EA_ATOMIC[17])) + TO_INT(TCC_EA_ATOMIC[18])) + TO_INT(TCC_EA_ATOMIC[19])) - + TO_INT(TCC_EA_ATOMIC[20])) + TO_INT(TCC_EA_ATOMIC[21])) + TO_INT(TCC_EA_ATOMIC[22])) - + TO_INT(TCC_EA_ATOMIC[23])) + TO_INT(TCC_EA_ATOMIC[24])) + TO_INT(TCC_EA_ATOMIC[25])) - + TO_INT(TCC_EA_ATOMIC[26])) + TO_INT(TCC_EA_ATOMIC[27])) + TO_INT(TCC_EA_ATOMIC[28])) - + TO_INT(TCC_EA_ATOMIC[29])) + TO_INT(TCC_EA_ATOMIC[30])) + TO_INT(TCC_EA_ATOMIC[31])) - / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_ATOMIC[0]) + TO_INT(TCC_EA_ATOMIC[1])) - + TO_INT(TCC_EA_ATOMIC[2])) + TO_INT(TCC_EA_ATOMIC[3])) + TO_INT(TCC_EA_ATOMIC[4])) - + TO_INT(TCC_EA_ATOMIC[5])) + TO_INT(TCC_EA_ATOMIC[6])) + TO_INT(TCC_EA_ATOMIC[7])) - + TO_INT(TCC_EA_ATOMIC[8])) + TO_INT(TCC_EA_ATOMIC[9])) + TO_INT(TCC_EA_ATOMIC[10])) - + TO_INT(TCC_EA_ATOMIC[11])) + TO_INT(TCC_EA_ATOMIC[12])) + TO_INT(TCC_EA_ATOMIC[13])) - + TO_INT(TCC_EA_ATOMIC[14])) + TO_INT(TCC_EA_ATOMIC[15])) + TO_INT(TCC_EA_ATOMIC[16])) - + TO_INT(TCC_EA_ATOMIC[17])) + TO_INT(TCC_EA_ATOMIC[18])) + TO_INT(TCC_EA_ATOMIC[19])) - + TO_INT(TCC_EA_ATOMIC[20])) + TO_INT(TCC_EA_ATOMIC[21])) + TO_INT(TCC_EA_ATOMIC[22])) - + TO_INT(TCC_EA_ATOMIC[23])) + TO_INT(TCC_EA_ATOMIC[24])) + TO_INT(TCC_EA_ATOMIC[25])) - + TO_INT(TCC_EA_ATOMIC[26])) + TO_INT(TCC_EA_ATOMIC[27])) + TO_INT(TCC_EA_ATOMIC[28])) - + TO_INT(TCC_EA_ATOMIC[29])) + TO_INT(TCC_EA_ATOMIC[30])) + TO_INT(TCC_EA_ATOMIC[31])) - / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_ATOMIC[0]) + TO_INT(TCC_EA_ATOMIC[1])) - + TO_INT(TCC_EA_ATOMIC[2])) + TO_INT(TCC_EA_ATOMIC[3])) + TO_INT(TCC_EA_ATOMIC[4])) - + TO_INT(TCC_EA_ATOMIC[5])) + TO_INT(TCC_EA_ATOMIC[6])) + TO_INT(TCC_EA_ATOMIC[7])) - + TO_INT(TCC_EA_ATOMIC[8])) + TO_INT(TCC_EA_ATOMIC[9])) + TO_INT(TCC_EA_ATOMIC[10])) - + TO_INT(TCC_EA_ATOMIC[11])) + TO_INT(TCC_EA_ATOMIC[12])) + TO_INT(TCC_EA_ATOMIC[13])) - + TO_INT(TCC_EA_ATOMIC[14])) + TO_INT(TCC_EA_ATOMIC[15])) + TO_INT(TCC_EA_ATOMIC[16])) - + TO_INT(TCC_EA_ATOMIC[17])) + TO_INT(TCC_EA_ATOMIC[18])) + TO_INT(TCC_EA_ATOMIC[19])) - + TO_INT(TCC_EA_ATOMIC[20])) + TO_INT(TCC_EA_ATOMIC[21])) + TO_INT(TCC_EA_ATOMIC[22])) - + TO_INT(TCC_EA_ATOMIC[23])) + TO_INT(TCC_EA_ATOMIC[24])) + TO_INT(TCC_EA_ATOMIC[25])) - + TO_INT(TCC_EA_ATOMIC[26])) + TO_INT(TCC_EA_ATOMIC[27])) + TO_INT(TCC_EA_ATOMIC[28])) - + TO_INT(TCC_EA_ATOMIC[29])) + TO_INT(TCC_EA_ATOMIC[30])) + TO_INT(TCC_EA_ATOMIC[31])) - / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_ATOMIC[0]) + TO_INT(TCC_EA_ATOMIC[1])) - + TO_INT(TCC_EA_ATOMIC[2])) + TO_INT(TCC_EA_ATOMIC[3])) + TO_INT(TCC_EA_ATOMIC[4])) - + TO_INT(TCC_EA_ATOMIC[5])) + TO_INT(TCC_EA_ATOMIC[6])) + TO_INT(TCC_EA_ATOMIC[7])) - + TO_INT(TCC_EA_ATOMIC[8])) + TO_INT(TCC_EA_ATOMIC[9])) + TO_INT(TCC_EA_ATOMIC[10])) - + TO_INT(TCC_EA_ATOMIC[11])) + TO_INT(TCC_EA_ATOMIC[12])) + TO_INT(TCC_EA_ATOMIC[13])) - + TO_INT(TCC_EA_ATOMIC[14])) + TO_INT(TCC_EA_ATOMIC[15])) + TO_INT(TCC_EA_ATOMIC[16])) - + TO_INT(TCC_EA_ATOMIC[17])) + TO_INT(TCC_EA_ATOMIC[18])) + TO_INT(TCC_EA_ATOMIC[19])) - + TO_INT(TCC_EA_ATOMIC[20])) + TO_INT(TCC_EA_ATOMIC[21])) + TO_INT(TCC_EA_ATOMIC[22])) - + TO_INT(TCC_EA_ATOMIC[23])) + TO_INT(TCC_EA_ATOMIC[24])) + TO_INT(TCC_EA_ATOMIC[25])) - + TO_INT(TCC_EA_ATOMIC[26])) + TO_INT(TCC_EA_ATOMIC[27])) + TO_INT(TCC_EA_ATOMIC[28])) - + TO_INT(TCC_EA_ATOMIC[29])) + TO_INT(TCC_EA_ATOMIC[30])) + TO_INT(TCC_EA_ATOMIC[31])) - / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L2 - EA Read Lat: - avg: AVG((((((((((((((((((((((((((((((((((TCC_EA_RDREQ_LEVEL[0] + TCC_EA_RDREQ_LEVEL[1]) - + TCC_EA_RDREQ_LEVEL[2]) + TCC_EA_RDREQ_LEVEL[3]) + TCC_EA_RDREQ_LEVEL[4]) - + TCC_EA_RDREQ_LEVEL[5]) + TCC_EA_RDREQ_LEVEL[6]) + TCC_EA_RDREQ_LEVEL[7]) - + TCC_EA_RDREQ_LEVEL[8]) + TCC_EA_RDREQ_LEVEL[9]) + TCC_EA_RDREQ_LEVEL[10]) - + TCC_EA_RDREQ_LEVEL[11]) + TCC_EA_RDREQ_LEVEL[12]) + TCC_EA_RDREQ_LEVEL[13]) - + TCC_EA_RDREQ_LEVEL[14]) + TCC_EA_RDREQ_LEVEL[15]) + TCC_EA_RDREQ_LEVEL[16]) - + TCC_EA_RDREQ_LEVEL[17]) + TCC_EA_RDREQ_LEVEL[18]) + TCC_EA_RDREQ_LEVEL[19]) - + TCC_EA_RDREQ_LEVEL[20]) + TCC_EA_RDREQ_LEVEL[21]) + TCC_EA_RDREQ_LEVEL[22]) - + TCC_EA_RDREQ_LEVEL[23]) + TCC_EA_RDREQ_LEVEL[24]) + TCC_EA_RDREQ_LEVEL[25]) - + TCC_EA_RDREQ_LEVEL[26]) + TCC_EA_RDREQ_LEVEL[27]) + TCC_EA_RDREQ_LEVEL[28]) - + TCC_EA_RDREQ_LEVEL[29]) + TCC_EA_RDREQ_LEVEL[30]) + TCC_EA_RDREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) - + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) - + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) - + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) - + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) - + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) - + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) - + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) - + TCC_EA_RDREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + - TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) - + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) - + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) - + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) - + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) - + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) - + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) - + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) + TCC_EA_RDREQ[31]) != 0) else None)) - std dev: STD((((((((((((((((((((((((((((((((((TCC_EA_RDREQ_LEVEL[0] + TCC_EA_RDREQ_LEVEL[1]) - + TCC_EA_RDREQ_LEVEL[2]) + TCC_EA_RDREQ_LEVEL[3]) + TCC_EA_RDREQ_LEVEL[4]) - + TCC_EA_RDREQ_LEVEL[5]) + TCC_EA_RDREQ_LEVEL[6]) + TCC_EA_RDREQ_LEVEL[7]) - + TCC_EA_RDREQ_LEVEL[8]) + TCC_EA_RDREQ_LEVEL[9]) + TCC_EA_RDREQ_LEVEL[10]) - + TCC_EA_RDREQ_LEVEL[11]) + TCC_EA_RDREQ_LEVEL[12]) + TCC_EA_RDREQ_LEVEL[13]) - + TCC_EA_RDREQ_LEVEL[14]) + TCC_EA_RDREQ_LEVEL[15]) + TCC_EA_RDREQ_LEVEL[16]) - + TCC_EA_RDREQ_LEVEL[17]) + TCC_EA_RDREQ_LEVEL[18]) + TCC_EA_RDREQ_LEVEL[19]) - + TCC_EA_RDREQ_LEVEL[20]) + TCC_EA_RDREQ_LEVEL[21]) + TCC_EA_RDREQ_LEVEL[22]) - + TCC_EA_RDREQ_LEVEL[23]) + TCC_EA_RDREQ_LEVEL[24]) + TCC_EA_RDREQ_LEVEL[25]) - + TCC_EA_RDREQ_LEVEL[26]) + TCC_EA_RDREQ_LEVEL[27]) + TCC_EA_RDREQ_LEVEL[28]) - + TCC_EA_RDREQ_LEVEL[29]) + TCC_EA_RDREQ_LEVEL[30]) + TCC_EA_RDREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) - + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) - + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) - + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) - + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) - + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) - + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) - + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) - + TCC_EA_RDREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + - TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) - + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) - + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) - + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) - + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) - + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) - + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) - + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) + TCC_EA_RDREQ[31]) != 0) else None)) - min: MIN((((((((((((((((((((((((((((((((((TCC_EA_RDREQ_LEVEL[0] + TCC_EA_RDREQ_LEVEL[1]) - + TCC_EA_RDREQ_LEVEL[2]) + TCC_EA_RDREQ_LEVEL[3]) + TCC_EA_RDREQ_LEVEL[4]) - + TCC_EA_RDREQ_LEVEL[5]) + TCC_EA_RDREQ_LEVEL[6]) + TCC_EA_RDREQ_LEVEL[7]) - + TCC_EA_RDREQ_LEVEL[8]) + TCC_EA_RDREQ_LEVEL[9]) + TCC_EA_RDREQ_LEVEL[10]) - + TCC_EA_RDREQ_LEVEL[11]) + TCC_EA_RDREQ_LEVEL[12]) + TCC_EA_RDREQ_LEVEL[13]) - + TCC_EA_RDREQ_LEVEL[14]) + TCC_EA_RDREQ_LEVEL[15]) + TCC_EA_RDREQ_LEVEL[16]) - + TCC_EA_RDREQ_LEVEL[17]) + TCC_EA_RDREQ_LEVEL[18]) + TCC_EA_RDREQ_LEVEL[19]) - + TCC_EA_RDREQ_LEVEL[20]) + TCC_EA_RDREQ_LEVEL[21]) + TCC_EA_RDREQ_LEVEL[22]) - + TCC_EA_RDREQ_LEVEL[23]) + TCC_EA_RDREQ_LEVEL[24]) + TCC_EA_RDREQ_LEVEL[25]) - + TCC_EA_RDREQ_LEVEL[26]) + TCC_EA_RDREQ_LEVEL[27]) + TCC_EA_RDREQ_LEVEL[28]) - + TCC_EA_RDREQ_LEVEL[29]) + TCC_EA_RDREQ_LEVEL[30]) + TCC_EA_RDREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) - + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) - + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) - + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) - + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) - + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) - + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) - + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) - + TCC_EA_RDREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + - TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) - + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) - + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) - + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) - + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) - + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) - + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) - + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) + TCC_EA_RDREQ[31]) != 0) else None)) - max: MAX((((((((((((((((((((((((((((((((((TCC_EA_RDREQ_LEVEL[0] + TCC_EA_RDREQ_LEVEL[1]) - + TCC_EA_RDREQ_LEVEL[2]) + TCC_EA_RDREQ_LEVEL[3]) + TCC_EA_RDREQ_LEVEL[4]) - + TCC_EA_RDREQ_LEVEL[5]) + TCC_EA_RDREQ_LEVEL[6]) + TCC_EA_RDREQ_LEVEL[7]) - + TCC_EA_RDREQ_LEVEL[8]) + TCC_EA_RDREQ_LEVEL[9]) + TCC_EA_RDREQ_LEVEL[10]) - + TCC_EA_RDREQ_LEVEL[11]) + TCC_EA_RDREQ_LEVEL[12]) + TCC_EA_RDREQ_LEVEL[13]) - + TCC_EA_RDREQ_LEVEL[14]) + TCC_EA_RDREQ_LEVEL[15]) + TCC_EA_RDREQ_LEVEL[16]) - + TCC_EA_RDREQ_LEVEL[17]) + TCC_EA_RDREQ_LEVEL[18]) + TCC_EA_RDREQ_LEVEL[19]) - + TCC_EA_RDREQ_LEVEL[20]) + TCC_EA_RDREQ_LEVEL[21]) + TCC_EA_RDREQ_LEVEL[22]) - + TCC_EA_RDREQ_LEVEL[23]) + TCC_EA_RDREQ_LEVEL[24]) + TCC_EA_RDREQ_LEVEL[25]) - + TCC_EA_RDREQ_LEVEL[26]) + TCC_EA_RDREQ_LEVEL[27]) + TCC_EA_RDREQ_LEVEL[28]) - + TCC_EA_RDREQ_LEVEL[29]) + TCC_EA_RDREQ_LEVEL[30]) + TCC_EA_RDREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) - + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) - + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) - + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) - + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) - + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) - + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) - + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) - + TCC_EA_RDREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + - TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) - + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) - + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) - + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) - + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) - + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) - + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) - + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) + TCC_EA_RDREQ[31]) != 0) else None)) - unit: Cycles - tips: - L2 - EA Write Lat: - avg: AVG((((((((((((((((((((((((((((((((((TCC_EA_WRREQ_LEVEL[0] + TCC_EA_WRREQ_LEVEL[1]) - + TCC_EA_WRREQ_LEVEL[2]) + TCC_EA_WRREQ_LEVEL[3]) + TCC_EA_WRREQ_LEVEL[4]) - + TCC_EA_WRREQ_LEVEL[5]) + TCC_EA_WRREQ_LEVEL[6]) + TCC_EA_WRREQ_LEVEL[7]) - + TCC_EA_WRREQ_LEVEL[8]) + TCC_EA_WRREQ_LEVEL[9]) + TCC_EA_WRREQ_LEVEL[10]) - + TCC_EA_WRREQ_LEVEL[11]) + TCC_EA_WRREQ_LEVEL[12]) + TCC_EA_WRREQ_LEVEL[13]) - + TCC_EA_WRREQ_LEVEL[14]) + TCC_EA_WRREQ_LEVEL[15]) + TCC_EA_WRREQ_LEVEL[16]) - + TCC_EA_WRREQ_LEVEL[17]) + TCC_EA_WRREQ_LEVEL[18]) + TCC_EA_WRREQ_LEVEL[19]) - + TCC_EA_WRREQ_LEVEL[20]) + TCC_EA_WRREQ_LEVEL[21]) + TCC_EA_WRREQ_LEVEL[22]) - + TCC_EA_WRREQ_LEVEL[23]) + TCC_EA_WRREQ_LEVEL[24]) + TCC_EA_WRREQ_LEVEL[25]) - + TCC_EA_WRREQ_LEVEL[26]) + TCC_EA_WRREQ_LEVEL[27]) + TCC_EA_WRREQ_LEVEL[28]) - + TCC_EA_WRREQ_LEVEL[29]) + TCC_EA_WRREQ_LEVEL[30]) + TCC_EA_WRREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) - + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) - + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) - + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) - + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) - + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) - + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) - + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) - + TCC_EA_WRREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + - TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) - + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) - + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) - + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) - + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) - + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) - + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) - + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) + TCC_EA_WRREQ[31]) != 0) else None)) - std dev: STD((((((((((((((((((((((((((((((((((TCC_EA_WRREQ_LEVEL[0] + TCC_EA_WRREQ_LEVEL[1]) - + TCC_EA_WRREQ_LEVEL[2]) + TCC_EA_WRREQ_LEVEL[3]) + TCC_EA_WRREQ_LEVEL[4]) - + TCC_EA_WRREQ_LEVEL[5]) + TCC_EA_WRREQ_LEVEL[6]) + TCC_EA_WRREQ_LEVEL[7]) - + TCC_EA_WRREQ_LEVEL[8]) + TCC_EA_WRREQ_LEVEL[9]) + TCC_EA_WRREQ_LEVEL[10]) - + TCC_EA_WRREQ_LEVEL[11]) + TCC_EA_WRREQ_LEVEL[12]) + TCC_EA_WRREQ_LEVEL[13]) - + TCC_EA_WRREQ_LEVEL[14]) + TCC_EA_WRREQ_LEVEL[15]) + TCC_EA_WRREQ_LEVEL[16]) - + TCC_EA_WRREQ_LEVEL[17]) + TCC_EA_WRREQ_LEVEL[18]) + TCC_EA_WRREQ_LEVEL[19]) - + TCC_EA_WRREQ_LEVEL[20]) + TCC_EA_WRREQ_LEVEL[21]) + TCC_EA_WRREQ_LEVEL[22]) - + TCC_EA_WRREQ_LEVEL[23]) + TCC_EA_WRREQ_LEVEL[24]) + TCC_EA_WRREQ_LEVEL[25]) - + TCC_EA_WRREQ_LEVEL[26]) + TCC_EA_WRREQ_LEVEL[27]) + TCC_EA_WRREQ_LEVEL[28]) - + TCC_EA_WRREQ_LEVEL[29]) + TCC_EA_WRREQ_LEVEL[30]) + TCC_EA_WRREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) - + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) - + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) - + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) - + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) - + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) - + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) - + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) - + TCC_EA_WRREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + - TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) - + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) - + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) - + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) - + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) - + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) - + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) - + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) + TCC_EA_WRREQ[31]) != 0) else None)) - min: MIN((((((((((((((((((((((((((((((((((TCC_EA_WRREQ_LEVEL[0] + TCC_EA_WRREQ_LEVEL[1]) - + TCC_EA_WRREQ_LEVEL[2]) + TCC_EA_WRREQ_LEVEL[3]) + TCC_EA_WRREQ_LEVEL[4]) - + TCC_EA_WRREQ_LEVEL[5]) + TCC_EA_WRREQ_LEVEL[6]) + TCC_EA_WRREQ_LEVEL[7]) - + TCC_EA_WRREQ_LEVEL[8]) + TCC_EA_WRREQ_LEVEL[9]) + TCC_EA_WRREQ_LEVEL[10]) - + TCC_EA_WRREQ_LEVEL[11]) + TCC_EA_WRREQ_LEVEL[12]) + TCC_EA_WRREQ_LEVEL[13]) - + TCC_EA_WRREQ_LEVEL[14]) + TCC_EA_WRREQ_LEVEL[15]) + TCC_EA_WRREQ_LEVEL[16]) - + TCC_EA_WRREQ_LEVEL[17]) + TCC_EA_WRREQ_LEVEL[18]) + TCC_EA_WRREQ_LEVEL[19]) - + TCC_EA_WRREQ_LEVEL[20]) + TCC_EA_WRREQ_LEVEL[21]) + TCC_EA_WRREQ_LEVEL[22]) - + TCC_EA_WRREQ_LEVEL[23]) + TCC_EA_WRREQ_LEVEL[24]) + TCC_EA_WRREQ_LEVEL[25]) - + TCC_EA_WRREQ_LEVEL[26]) + TCC_EA_WRREQ_LEVEL[27]) + TCC_EA_WRREQ_LEVEL[28]) - + TCC_EA_WRREQ_LEVEL[29]) + TCC_EA_WRREQ_LEVEL[30]) + TCC_EA_WRREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) - + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) - + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) - + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) - + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) - + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) - + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) - + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) - + TCC_EA_WRREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + - TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) - + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) - + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) - + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) - + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) - + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) - + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) - + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) + TCC_EA_WRREQ[31]) != 0) else None)) - max: MAX((((((((((((((((((((((((((((((((((TCC_EA_WRREQ_LEVEL[0] + TCC_EA_WRREQ_LEVEL[1]) - + TCC_EA_WRREQ_LEVEL[2]) + TCC_EA_WRREQ_LEVEL[3]) + TCC_EA_WRREQ_LEVEL[4]) - + TCC_EA_WRREQ_LEVEL[5]) + TCC_EA_WRREQ_LEVEL[6]) + TCC_EA_WRREQ_LEVEL[7]) - + TCC_EA_WRREQ_LEVEL[8]) + TCC_EA_WRREQ_LEVEL[9]) + TCC_EA_WRREQ_LEVEL[10]) - + TCC_EA_WRREQ_LEVEL[11]) + TCC_EA_WRREQ_LEVEL[12]) + TCC_EA_WRREQ_LEVEL[13]) - + TCC_EA_WRREQ_LEVEL[14]) + TCC_EA_WRREQ_LEVEL[15]) + TCC_EA_WRREQ_LEVEL[16]) - + TCC_EA_WRREQ_LEVEL[17]) + TCC_EA_WRREQ_LEVEL[18]) + TCC_EA_WRREQ_LEVEL[19]) - + TCC_EA_WRREQ_LEVEL[20]) + TCC_EA_WRREQ_LEVEL[21]) + TCC_EA_WRREQ_LEVEL[22]) - + TCC_EA_WRREQ_LEVEL[23]) + TCC_EA_WRREQ_LEVEL[24]) + TCC_EA_WRREQ_LEVEL[25]) - + TCC_EA_WRREQ_LEVEL[26]) + TCC_EA_WRREQ_LEVEL[27]) + TCC_EA_WRREQ_LEVEL[28]) - + TCC_EA_WRREQ_LEVEL[29]) + TCC_EA_WRREQ_LEVEL[30]) + TCC_EA_WRREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) - + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) - + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) - + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) - + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) - + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) - + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) - + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) - + TCC_EA_WRREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + - TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) - + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) - + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) - + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) - + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) - + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) - + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) - + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) + TCC_EA_WRREQ[31]) != 0) else None)) - unit: Cycles - tips: - L2 - EA Atomic Lat: - avg: AVG((((((((((((((((((((((((((((((((((TCC_EA_ATOMIC_LEVEL[0] + TCC_EA_ATOMIC_LEVEL[1]) - + TCC_EA_ATOMIC_LEVEL[2]) + TCC_EA_ATOMIC_LEVEL[3]) + TCC_EA_ATOMIC_LEVEL[4]) - + TCC_EA_ATOMIC_LEVEL[5]) + TCC_EA_ATOMIC_LEVEL[6]) + TCC_EA_ATOMIC_LEVEL[7]) - + TCC_EA_ATOMIC_LEVEL[8]) + TCC_EA_ATOMIC_LEVEL[9]) + TCC_EA_ATOMIC_LEVEL[10]) - + TCC_EA_ATOMIC_LEVEL[11]) + TCC_EA_ATOMIC_LEVEL[12]) + TCC_EA_ATOMIC_LEVEL[13]) - + TCC_EA_ATOMIC_LEVEL[14]) + TCC_EA_ATOMIC_LEVEL[15]) + TCC_EA_ATOMIC_LEVEL[16]) - + TCC_EA_ATOMIC_LEVEL[17]) + TCC_EA_ATOMIC_LEVEL[18]) + TCC_EA_ATOMIC_LEVEL[19]) - + TCC_EA_ATOMIC_LEVEL[20]) + TCC_EA_ATOMIC_LEVEL[21]) + TCC_EA_ATOMIC_LEVEL[22]) - + TCC_EA_ATOMIC_LEVEL[23]) + TCC_EA_ATOMIC_LEVEL[24]) + TCC_EA_ATOMIC_LEVEL[25]) - + TCC_EA_ATOMIC_LEVEL[26]) + TCC_EA_ATOMIC_LEVEL[27]) + TCC_EA_ATOMIC_LEVEL[28]) - + TCC_EA_ATOMIC_LEVEL[29]) + TCC_EA_ATOMIC_LEVEL[30]) + TCC_EA_ATOMIC_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) - + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) - + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) - + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) - + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) - + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) - + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) - + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) - + TCC_EA_ATOMIC[31])) if ((((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] - + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) - + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) - + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) - + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) - + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) - + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) - + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) - + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) + TCC_EA_ATOMIC[31]) != 0) else - None)) - std dev: STD((((((((((((((((((((((((((((((((((TCC_EA_ATOMIC_LEVEL[0] + TCC_EA_ATOMIC_LEVEL[1]) - + TCC_EA_ATOMIC_LEVEL[2]) + TCC_EA_ATOMIC_LEVEL[3]) + TCC_EA_ATOMIC_LEVEL[4]) - + TCC_EA_ATOMIC_LEVEL[5]) + TCC_EA_ATOMIC_LEVEL[6]) + TCC_EA_ATOMIC_LEVEL[7]) - + TCC_EA_ATOMIC_LEVEL[8]) + TCC_EA_ATOMIC_LEVEL[9]) + TCC_EA_ATOMIC_LEVEL[10]) - + TCC_EA_ATOMIC_LEVEL[11]) + TCC_EA_ATOMIC_LEVEL[12]) + TCC_EA_ATOMIC_LEVEL[13]) - + TCC_EA_ATOMIC_LEVEL[14]) + TCC_EA_ATOMIC_LEVEL[15]) + TCC_EA_ATOMIC_LEVEL[16]) - + TCC_EA_ATOMIC_LEVEL[17]) + TCC_EA_ATOMIC_LEVEL[18]) + TCC_EA_ATOMIC_LEVEL[19]) - + TCC_EA_ATOMIC_LEVEL[20]) + TCC_EA_ATOMIC_LEVEL[21]) + TCC_EA_ATOMIC_LEVEL[22]) - + TCC_EA_ATOMIC_LEVEL[23]) + TCC_EA_ATOMIC_LEVEL[24]) + TCC_EA_ATOMIC_LEVEL[25]) - + TCC_EA_ATOMIC_LEVEL[26]) + TCC_EA_ATOMIC_LEVEL[27]) + TCC_EA_ATOMIC_LEVEL[28]) - + TCC_EA_ATOMIC_LEVEL[29]) + TCC_EA_ATOMIC_LEVEL[30]) + TCC_EA_ATOMIC_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) - + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) - + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) - + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) - + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) - + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) - + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) - + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) - + TCC_EA_ATOMIC[31])) if ((((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] - + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) - + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) - + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) - + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) - + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) - + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) - + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) - + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) + TCC_EA_ATOMIC[31]) != 0) else - None)) - min: MIN((((((((((((((((((((((((((((((((((TCC_EA_ATOMIC_LEVEL[0] + TCC_EA_ATOMIC_LEVEL[1]) - + TCC_EA_ATOMIC_LEVEL[2]) + TCC_EA_ATOMIC_LEVEL[3]) + TCC_EA_ATOMIC_LEVEL[4]) - + TCC_EA_ATOMIC_LEVEL[5]) + TCC_EA_ATOMIC_LEVEL[6]) + TCC_EA_ATOMIC_LEVEL[7]) - + TCC_EA_ATOMIC_LEVEL[8]) + TCC_EA_ATOMIC_LEVEL[9]) + TCC_EA_ATOMIC_LEVEL[10]) - + TCC_EA_ATOMIC_LEVEL[11]) + TCC_EA_ATOMIC_LEVEL[12]) + TCC_EA_ATOMIC_LEVEL[13]) - + TCC_EA_ATOMIC_LEVEL[14]) + TCC_EA_ATOMIC_LEVEL[15]) + TCC_EA_ATOMIC_LEVEL[16]) - + TCC_EA_ATOMIC_LEVEL[17]) + TCC_EA_ATOMIC_LEVEL[18]) + TCC_EA_ATOMIC_LEVEL[19]) - + TCC_EA_ATOMIC_LEVEL[20]) + TCC_EA_ATOMIC_LEVEL[21]) + TCC_EA_ATOMIC_LEVEL[22]) - + TCC_EA_ATOMIC_LEVEL[23]) + TCC_EA_ATOMIC_LEVEL[24]) + TCC_EA_ATOMIC_LEVEL[25]) - + TCC_EA_ATOMIC_LEVEL[26]) + TCC_EA_ATOMIC_LEVEL[27]) + TCC_EA_ATOMIC_LEVEL[28]) - + TCC_EA_ATOMIC_LEVEL[29]) + TCC_EA_ATOMIC_LEVEL[30]) + TCC_EA_ATOMIC_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) - + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) - + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) - + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) - + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) - + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) - + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) - + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) - + TCC_EA_ATOMIC[31])) if ((((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] - + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) - + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) - + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) - + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) - + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) - + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) - + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) - + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) + TCC_EA_ATOMIC[31]) != 0) else - None)) - max: MAX((((((((((((((((((((((((((((((((((TCC_EA_ATOMIC_LEVEL[0] + TCC_EA_ATOMIC_LEVEL[1]) - + TCC_EA_ATOMIC_LEVEL[2]) + TCC_EA_ATOMIC_LEVEL[3]) + TCC_EA_ATOMIC_LEVEL[4]) - + TCC_EA_ATOMIC_LEVEL[5]) + TCC_EA_ATOMIC_LEVEL[6]) + TCC_EA_ATOMIC_LEVEL[7]) - + TCC_EA_ATOMIC_LEVEL[8]) + TCC_EA_ATOMIC_LEVEL[9]) + TCC_EA_ATOMIC_LEVEL[10]) - + TCC_EA_ATOMIC_LEVEL[11]) + TCC_EA_ATOMIC_LEVEL[12]) + TCC_EA_ATOMIC_LEVEL[13]) - + TCC_EA_ATOMIC_LEVEL[14]) + TCC_EA_ATOMIC_LEVEL[15]) + TCC_EA_ATOMIC_LEVEL[16]) - + TCC_EA_ATOMIC_LEVEL[17]) + TCC_EA_ATOMIC_LEVEL[18]) + TCC_EA_ATOMIC_LEVEL[19]) - + TCC_EA_ATOMIC_LEVEL[20]) + TCC_EA_ATOMIC_LEVEL[21]) + TCC_EA_ATOMIC_LEVEL[22]) - + TCC_EA_ATOMIC_LEVEL[23]) + TCC_EA_ATOMIC_LEVEL[24]) + TCC_EA_ATOMIC_LEVEL[25]) - + TCC_EA_ATOMIC_LEVEL[26]) + TCC_EA_ATOMIC_LEVEL[27]) + TCC_EA_ATOMIC_LEVEL[28]) - + TCC_EA_ATOMIC_LEVEL[29]) + TCC_EA_ATOMIC_LEVEL[30]) + TCC_EA_ATOMIC_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) - + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) - + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) - + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) - + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) - + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) - + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) - + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) - + TCC_EA_ATOMIC[31])) if ((((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] - + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) - + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) - + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) - + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) - + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) - + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) - + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) - + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) + TCC_EA_ATOMIC[31]) != 0) else - None)) - unit: Cycles - tips: - L2 - EA Read Stall (IO): - avg: None # No perf counter - std dev: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Cycles + $normUnit) - tips: - L2 - EA Read Stall (GMI): - avg: None # No perf counter - std dev: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Cycles + $normUnit) - tips: - L2 - EA Read Stall (DRAM): - avg: None # No perf counter - std dev: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Cycles + $normUnit) - tips: - L2 - EA Write Stall (IO): - avg: None # No perf counter - std dev: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Cycles + $normUnit) - tips: - L2 - EA Write Stall (GMI): - avg: None # No perf counter - std dev: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Cycles + $normUnit) - tips: - L2 - EA Write Stall (DRAM): - avg: None # No perf counter - std dev: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Cycles + $normUnit) - tips: - L2 - EA Write Starve: - avg: None # No perf counter - std dev: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Cycles + $normUnit) - tips: - - metric_table: - id: 1802 - title: Channel 0-15 - columnwise: True - header: - channel: Channel - hit rate: L2 Cache Hit Rate (%) - req: Requests (Requests) - read req: L1-L2 Read (Requests) - write req: L1-L2 Write (Requests) - atomic req: L1-L2 Atomic (Requests) - ea read req: L2-EA Read (Requests) - ea write req: L2-EA Write (Requests) - ea atomic req: L2-EA Atomic (Requests) - ea read lat - cycles: L2-EA Read Latency (Cycles) - ea write lat - cycles: L2-EA Write Latency (Cycles) - ea atomic lat - cycles: L2-EA Atomic Latency (Cycles) - ea read stall - io: L2-EA Read Stall - IO (Cycles per) - ea read stall - gmi: L2-EA Read Stall - GMI (Cycles per) - ea read stall - dram: L2-EA Read Stall - DRAM (Cycles per) - ea write stall - io: L2-EA Write Stall - IO (Cycles per) - ea write stall - gmi: L2-EA Write Stall - GMI (Cycles per) - ea write stall - dram: L2-EA Write Stall - DRAM (Cycles per) - ea write stall - starve: L2-EA Write Stall - Starve (Cycles per) - tips: Tips - metric: - "0": - hit rate: - AVG((((100 * TCC_HIT[0]) / (TCC_HIT[0] + TCC_MISS[0])) if ((TCC_HIT[0] - + TCC_MISS[0]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[0]) / $denom)) - read req: AVG((TO_INT(TCC_READ[0]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[0]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[0]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[0]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[0]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[0]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[0] / TCC_EA_RDREQ[0]) if (TCC_EA_RDREQ[0] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[0] / TCC_EA_WRREQ[0]) if (TCC_EA_WRREQ[0] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[0] / TCC_EA_ATOMIC[0]) if - (TCC_EA_ATOMIC[0] != 0) else 0)) - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "1": - hit rate: - AVG((((100 * TCC_HIT[1]) / (TCC_HIT[1] + TCC_MISS[1])) if ((TCC_HIT[1] - + TCC_MISS[1]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[1]) / $denom)) - read req: AVG((TO_INT(TCC_READ[1]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[1]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[1]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[1]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[1]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[1]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[1] / TCC_EA_RDREQ[1]) if (TCC_EA_RDREQ[1] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[1] / TCC_EA_WRREQ[1]) if (TCC_EA_WRREQ[1] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[1] / TCC_EA_ATOMIC[1]) if - (TCC_EA_ATOMIC[1] != 0) else None)) - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "2": - hit rate: - AVG((((100 * TCC_HIT[2]) / (TCC_HIT[2] + TCC_MISS[2])) if ((TCC_HIT[2] - + TCC_MISS[2]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[2]) / $denom)) - read req: AVG((TO_INT(TCC_READ[2]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[2]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[2]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[2]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[2]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[2]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[2] / TCC_EA_RDREQ[2]) if (TCC_EA_RDREQ[2] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[2] / TCC_EA_WRREQ[2]) if (TCC_EA_WRREQ[2] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[2] / TCC_EA_ATOMIC[2]) if - (TCC_EA_ATOMIC[2] != 0) else None)) - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "3": - hit rate: - AVG((((100 * TCC_HIT[3]) / (TCC_HIT[3] + TCC_MISS[3])) if ((TCC_HIT[3] - + TCC_MISS[3]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[3]) / $denom)) - read req: AVG((TO_INT(TCC_READ[3]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[3]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[3]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[3]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[3]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[3]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[3] / TCC_EA_RDREQ[3]) if (TCC_EA_RDREQ[3] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[3] / TCC_EA_WRREQ[3]) if (TCC_EA_WRREQ[3] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[3] / TCC_EA_ATOMIC[3]) if - (TCC_EA_ATOMIC[3] != 0) else None)) - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "4": - hit rate: - AVG((((100 * TCC_HIT[4]) / (TCC_HIT[4] + TCC_MISS[4])) if ((TCC_HIT[4] - + TCC_MISS[4]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[4]) / $denom)) - read req: AVG((TO_INT(TCC_READ[4]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[4]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[4]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[4]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[4]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[4]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[4] / TCC_EA_RDREQ[4]) if (TCC_EA_RDREQ[4] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[4] / TCC_EA_WRREQ[4]) if (TCC_EA_WRREQ[4] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[4] / TCC_EA_ATOMIC[4]) if - (TCC_EA_ATOMIC[4] != 0) else None)) - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "5": - hit rate: - AVG((((100 * TCC_HIT[5]) / (TCC_HIT[5] + TCC_MISS[5])) if ((TCC_HIT[5] - + TCC_MISS[5]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[5]) / $denom)) - read req: AVG((TO_INT(TCC_READ[5]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[5]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[5]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[5]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[5]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[5]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[5] / TCC_EA_RDREQ[5]) if (TCC_EA_RDREQ[5] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[5] / TCC_EA_WRREQ[5]) if (TCC_EA_WRREQ[5] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[5] / TCC_EA_ATOMIC[5]) if - (TCC_EA_ATOMIC[5] != 0) else None)) - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "6": - hit rate: - AVG((((100 * TCC_HIT[6]) / (TCC_HIT[6] + TCC_MISS[6])) if ((TCC_HIT[6] - + TCC_MISS[6]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[6]) / $denom)) - read req: AVG((TO_INT(TCC_READ[6]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[6]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[6]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[6]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[6]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[6]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[6] / TCC_EA_RDREQ[6]) if (TCC_EA_RDREQ[6] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[6] / TCC_EA_WRREQ[6]) if (TCC_EA_WRREQ[6] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[6] / TCC_EA_ATOMIC[6]) if - (TCC_EA_ATOMIC[6] != 0) else None)) - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "7": - hit rate: - AVG((((100 * TCC_HIT[7]) / (TCC_HIT[7] + TCC_MISS[7])) if ((TCC_HIT[7] - + TCC_MISS[7]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[7]) / $denom)) - read req: AVG((TO_INT(TCC_READ[7]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[7]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[7]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[7]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[7]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[7]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[7] / TCC_EA_RDREQ[7]) if (TCC_EA_RDREQ[7] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[7] / TCC_EA_WRREQ[7]) if (TCC_EA_WRREQ[7] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[7] / TCC_EA_ATOMIC[7]) if - (TCC_EA_ATOMIC[7] != 0) else None)) - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "8": - hit rate: - AVG((((100 * TCC_HIT[8]) / (TCC_HIT[8] + TCC_MISS[8])) if ((TCC_HIT[8] - + TCC_MISS[8]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[8]) / $denom)) - read req: AVG((TO_INT(TCC_READ[8]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[8]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[8]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[8]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[8]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[8]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[8] / TCC_EA_RDREQ[8]) if (TCC_EA_RDREQ[8] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[8] / TCC_EA_WRREQ[8]) if (TCC_EA_WRREQ[8] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[8] / TCC_EA_ATOMIC[8]) if - (TCC_EA_ATOMIC[8] != 0) else None)) - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "9": - hit rate: - AVG((((100 * TCC_HIT[9]) / (TCC_HIT[9] + TCC_MISS[9])) if ((TCC_HIT[9] - + TCC_MISS[9]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[9]) / $denom)) - read req: AVG((TO_INT(TCC_READ[9]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[9]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[9]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[9]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[9]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[9]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[9] / TCC_EA_RDREQ[9]) if (TCC_EA_RDREQ[9] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[9] / TCC_EA_WRREQ[9]) if (TCC_EA_WRREQ[9] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[9] / TCC_EA_ATOMIC[9]) if - (TCC_EA_ATOMIC[9] != 0) else None)) - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "10": - hit rate: - AVG((((100 * TCC_HIT[10]) / (TCC_HIT[10] + TCC_MISS[10])) if ((TCC_HIT[10] - + TCC_MISS[10]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[10]) / $denom)) - read req: AVG((TO_INT(TCC_READ[10]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[10]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[10]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[10]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[10]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[10]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[10] / TCC_EA_RDREQ[10]) if (TCC_EA_RDREQ[10] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[10] / TCC_EA_WRREQ[10]) if (TCC_EA_WRREQ[10] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[10] / TCC_EA_ATOMIC[10]) if - (TCC_EA_ATOMIC[10] != 0) else None)) - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "11": - hit rate: - AVG((((100 * TCC_HIT[11]) / (TCC_HIT[11] + TCC_MISS[11])) if ((TCC_HIT[11] - + TCC_MISS[11]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[11]) / $denom)) - read req: AVG((TO_INT(TCC_READ[11]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[11]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[11]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[11]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[11]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[11]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[11] / TCC_EA_RDREQ[11]) if (TCC_EA_RDREQ[11] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[11] / TCC_EA_WRREQ[11]) if (TCC_EA_WRREQ[11] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[11] / TCC_EA_ATOMIC[11]) if - (TCC_EA_ATOMIC[11] != 0) else None)) - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "12": - hit rate: - AVG((((100 * TCC_HIT[12]) / (TCC_HIT[12] + TCC_MISS[12])) if ((TCC_HIT[12] - + TCC_MISS[12]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[12]) / $denom)) - read req: AVG((TO_INT(TCC_READ[12]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[12]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[12]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[12]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[12]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[12]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[12] / TCC_EA_RDREQ[12]) if (TCC_EA_RDREQ[12] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[12] / TCC_EA_WRREQ[12]) if (TCC_EA_WRREQ[12] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[12] / TCC_EA_ATOMIC[12]) if - (TCC_EA_ATOMIC[12] != 0) else None)) - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "13": - hit rate: - AVG((((100 * TCC_HIT[13]) / (TCC_HIT[13] + TCC_MISS[13])) if ((TCC_HIT[13] - + TCC_MISS[13]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[13]) / $denom)) - read req: AVG((TO_INT(TCC_READ[13]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[13]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[13]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[13]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[13]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[13]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[13] / TCC_EA_RDREQ[13]) if (TCC_EA_RDREQ[13] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[13] / TCC_EA_WRREQ[13]) if (TCC_EA_WRREQ[13] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[13] / TCC_EA_ATOMIC[13]) if - (TCC_EA_ATOMIC[13] != 0) else None)) - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "14": - hit rate: - AVG((((100 * TCC_HIT[14]) / (TCC_HIT[14] + TCC_MISS[14])) if ((TCC_HIT[14] - + TCC_MISS[14]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[14]) / $denom)) - read req: AVG((TO_INT(TCC_READ[14]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[14]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[14]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[14]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[14]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[14]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[14] / TCC_EA_RDREQ[14]) if (TCC_EA_RDREQ[14] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[14] / TCC_EA_WRREQ[14]) if (TCC_EA_WRREQ[14] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[14] / TCC_EA_ATOMIC[14]) if - (TCC_EA_ATOMIC[14] != 0) else None)) - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "15": - hit rate: - AVG((((100 * TCC_HIT[15]) / (TCC_HIT[15] + TCC_MISS[15])) if ((TCC_HIT[15] - + TCC_MISS[15]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[15]) / $denom)) - read req: AVG((TO_INT(TCC_READ[15]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[15]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[15]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[15]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[15]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[15]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[15] / TCC_EA_RDREQ[15]) if (TCC_EA_RDREQ[15] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[15] / TCC_EA_WRREQ[15]) if (TCC_EA_WRREQ[15] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[15] / TCC_EA_ATOMIC[15]) if - (TCC_EA_ATOMIC[15] != 0) else None)) - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - - - metric_table: - id: 1803 - title: Channel 16-31 - columnwise: True - header: - channel: Channel - hit rate: L2 Cache Hit Rate (%) - req: Requests (Requests) - read req: L1-L2 Read (Requests) - write req: L1-L2 Write (Requests) - atomic req: L1-L2 Atomic (Requests) - ea read req: L2-EA Read (Requests) - ea write req: L2-EA Write (Requests) - ea atomic req: L2-EA Atomic (Requests) - ea read lat - cycles: L2-EA Read Latency (Cycles) - ea write lat - cycles: L2-EA Write Latency (Cycles) - ea atomic lat - cycles: L2-EA Atomic Latency (Cycles) - ea read stall - io: L2-EA Read Stall - IO (Cycles per) - ea read stall - gmi: L2-EA Read Stall - GMI (Cycles per) - ea read stall - dram: L2-EA Read Stall - DRAM (Cycles per) - ea write stall - io: L2-EA Write Stall - IO (Cycles per) - ea write stall - gmi: L2-EA Write Stall - GMI (Cycles per) - ea write stall - dram: L2-EA Write Stall - DRAM (Cycles per) - ea write stall - starve: L2-EA Write Stall - Starve (Cycles per) - tips: Tips - metric: - "16": - hit rate: None # No perf counter - req: None # No perf counter - read req: None # No perf counter - write req: None # No perf counter - atomic req: None # No perf counter - ea read req: None # No perf counter - ea write req: None # No perf counter - ea atomic req: None # No perf counter - ea read lat - cycles: None # No perf counter - ea write lat - cycles: None # No perf counter - ea atomic lat - cycles: None # No perf counter - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "17": - hit rate: None # No perf counter - req: None # No perf counter - read req: None # No perf counter - write req: None # No perf counter - atomic req: None # No perf counter - ea read req: None # No perf counter - ea write req: None # No perf counter - ea atomic req: None # No perf counter - ea read lat - cycles: None # No perf counter - ea write lat - cycles: None # No perf counter - ea atomic lat - cycles: None # No perf counter - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "18": - hit rate: None # No perf counter - req: None # No perf counter - read req: None # No perf counter - write req: None # No perf counter - atomic req: None # No perf counter - ea read req: None # No perf counter - ea write req: None # No perf counter - ea atomic req: None # No perf counter - ea read lat - cycles: None # No perf counter - ea write lat - cycles: None # No perf counter - ea atomic lat - cycles: None # No perf counter - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "19": - hit rate: None # No perf counter - req: None # No perf counter - read req: None # No perf counter - write req: None # No perf counter - atomic req: None # No perf counter - ea read req: None # No perf counter - ea write req: None # No perf counter - ea atomic req: None # No perf counter - ea read lat - cycles: None # No perf counter - ea write lat - cycles: None # No perf counter - ea atomic lat - cycles: None # No perf counter - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "20": - hit rate: None # No perf counter - req: None # No perf counter - read req: None # No perf counter - write req: None # No perf counter - atomic req: None # No perf counter - ea read req: None # No perf counter - ea write req: None # No perf counter - ea atomic req: None # No perf counter - ea read lat - cycles: None # No perf counter - ea write lat - cycles: None # No perf counter - ea atomic lat - cycles: None # No perf counter - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "21": - hit rate: None # No perf counter - req: None # No perf counter - read req: None # No perf counter - write req: None # No perf counter - atomic req: None # No perf counter - ea read req: None # No perf counter - ea write req: None # No perf counter - ea atomic req: None # No perf counter - ea read lat - cycles: None # No perf counter - ea write lat - cycles: None # No perf counter - ea atomic lat - cycles: None # No perf counter - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "22": - hit rate: None # No perf counter - req: None # No perf counter - read req: None # No perf counter - write req: None # No perf counter - atomic req: None # No perf counter - ea read req: None # No perf counter - ea write req: None # No perf counter - ea atomic req: None # No perf counter - ea read lat - cycles: None # No perf counter - ea write lat - cycles: None # No perf counter - ea atomic lat - cycles: None # No perf counter - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "23": - hit rate: None # No perf counter - req: None # No perf counter - read req: None # No perf counter - write req: None # No perf counter - atomic req: None # No perf counter - ea read req: None # No perf counter - ea write req: None # No perf counter - ea atomic req: None # No perf counter - ea read lat - cycles: None # No perf counter - ea write lat - cycles: None # No perf counter - ea atomic lat - cycles: None # No perf counter - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "24": - hit rate: None # No perf counter - req: None # No perf counter - read req: None # No perf counter - write req: None # No perf counter - atomic req: None # No perf counter - ea read req: None # No perf counter - ea write req: None # No perf counter - ea atomic req: None # No perf counter - ea read lat - cycles: None # No perf counter - ea write lat - cycles: None # No perf counter - ea atomic lat - cycles: None # No perf counter - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "25": - hit rate: None # No perf counter - req: None # No perf counter - read req: None # No perf counter - write req: None # No perf counter - atomic req: None # No perf counter - ea read req: None # No perf counter - ea write req: None # No perf counter - ea atomic req: None # No perf counter - ea read lat - cycles: None # No perf counter - ea write lat - cycles: None # No perf counter - ea atomic lat - cycles: None # No perf counter - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "26": - hit rate: None # No perf counter - req: None # No perf counter - read req: None # No perf counter - write req: None # No perf counter - atomic req: None # No perf counter - ea read req: None # No perf counter - ea write req: None # No perf counter - ea atomic req: None # No perf counter - ea read lat - cycles: None # No perf counter - ea write lat - cycles: None # No perf counter - ea atomic lat - cycles: None # No perf counter - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "27": - hit rate: None # No perf counter - req: None # No perf counter - read req: None # No perf counter - write req: None # No perf counter - atomic req: None # No perf counter - ea read req: None # No perf counter - ea write req: None # No perf counter - ea atomic req: None # No perf counter - ea read lat - cycles: None # No perf counter - ea write lat - cycles: None # No perf counter - ea atomic lat - cycles: None # No perf counter - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "28": - hit rate: None # No perf counter - req: None # No perf counter - read req: None # No perf counter - write req: None # No perf counter - atomic req: None # No perf counter - ea read req: None # No perf counter - ea write req: None # No perf counter - ea atomic req: None # No perf counter - ea read lat - cycles: None # No perf counter - ea write lat - cycles: None # No perf counter - ea atomic lat - cycles: None # No perf counter - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "29": - hit rate: None # No perf counter - req: None # No perf counter - read req: None # No perf counter - write req: None # No perf counter - atomic req: None # No perf counter - ea read req: None # No perf counter - ea write req: None # No perf counter - ea atomic req: None # No perf counter - ea read lat - cycles: None # No perf counter - ea write lat - cycles: None # No perf counter - ea atomic lat - cycles: None # No perf counter - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "30": - hit rate: None # No perf counter - req: None # No perf counter - read req: None # No perf counter - write req: None # No perf counter - atomic req: None # No perf counter - ea read req: None # No perf counter - ea write req: None # No perf counter - ea atomic req: None # No perf counter - ea read lat - cycles: None # No perf counter - ea write lat - cycles: None # No perf counter - ea atomic lat - cycles: None # No perf counter - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: - "31": - hit rate: None # No perf counter - req: None # No perf counter - read req: None # No perf counter - write req: None # No perf counter - atomic req: None # No perf counter - ea read req: None # No perf counter - ea write req: None # No perf counter - ea atomic req: None # No perf counter - ea read lat - cycles: None # No perf counter - ea write lat - cycles: None # No perf counter - ea atomic lat - cycles: None # No perf counter - ea read stall - io: None # No perf counter - ea read stall - gmi: None # No perf counter - ea read stall - dram: None # No perf counter - ea write stall - io: None # No perf counter - ea write stall - gmi: None # No perf counter - ea write stall - dram: None # No perf counter - ea write stall - starve: None # No perf counter - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/1900_memory_chart.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/1900_memory_chart.yaml deleted file mode 100644 index 905204601d..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/1900_memory_chart.yaml +++ /dev/null @@ -1,259 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1900 - title: Memory Chart Analysis - data source: - - metric_table: - id: 1901 - title: # subtitle for this table(optional) - header: - metric: Metric - value: Value - alias: Alias - tips: Tips - metric: - Wave Life: - value: ROUND(AVG(((4 * (SQ_WAVE_CYCLES / SQ_WAVES)) if (SQ_WAVES != 0) else - None)), 0) - alias: wave_life_ - tips: - Active CUs: - value: CONCAT(CONCAT($numActiveCUs, "/"), $numCU) - alias: active_cu_ - tips: - SALU: - value: ROUND(AVG((SQ_INSTS_SALU / $denom)), 0) - alias: salu_ - tips: - SMEM: - value: ROUND(AVG((SQ_INSTS_SMEM / $denom)), 0) - alias: smem_ - tips: - VALU: - value: ROUND(AVG((SQ_INSTS_VALU / $denom)), 0) - alias: valu_ - tips: - MFMA: - value: None # No perf counter - alias: mfma_ - tips: - VMEM: - value: ROUND(AVG((SQ_INSTS_VMEM / $denom)), 0) - alias: vmem_ - tips: - LDS: - value: ROUND(AVG((SQ_INSTS_LDS / $denom)), 0) - alias: lds_ - tips: - GWS: - value: ROUND(AVG((SQ_INSTS_GDS / $denom)), 0) - alias: gws_ - tips: - BR: - value: ROUND(AVG((SQ_INSTS_BRANCH / $denom)), 0) - alias: br_ - tips: - VGPR: - value: ROUND(AVG(vgpr), 0) - alias: vgpr_ - tips: - SGPR: - value: ROUND(AVG(sgpr), 0) - alias: sgpr_ - tips: - LDS Allocation: - value: ROUND(AVG(lds), 0) - alias: lds_alloc_ - tips: - Scratch Allocation: - value: ROUND(AVG(scr), 0) - alias: scratch_alloc_ - tips: - Wavefronts: - value: ROUND(AVG(SPI_CSN_WAVE), 0) - alias: wavefronts_ - tips: - Workgroups: - value: ROUND(AVG(SPI_CSN_NUM_THREADGROUPS), 0) - alias: workgroups_ - tips: - LDS Req: - value: ROUND(AVG((SQ_INSTS_LDS / $denom)), 0) - alias: lds_req_ - tips: - IL1 Fetch: - value: ROUND(AVG((SQC_ICACHE_REQ / $denom)), 0) - alias: il1_fetch_ - tips: - IL1 Hit: - value: ROUND((AVG((SQC_ICACHE_HITS / SQC_ICACHE_REQ)) * 100), 0) - alias: il1_hit_ - tips: - IL1_L2 Rd: - value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0) - alias: il1_l2_req_ - tips: - vL1D Rd: - value: ROUND(AVG((SQC_DCACHE_REQ / $denom)), 0) - alias: sl1_rd_ - tips: - vL1D Hit: - value: ROUND((AVG(((SQC_DCACHE_HITS / SQC_DCACHE_REQ) if (SQC_DCACHE_REQ != - 0) else None)) * 100), 0) - alias: sl1_hit_ - tips: - vL1D_L2 Rd: - value: ROUND(AVG((SQC_TC_DATA_READ_REQ / $denom)), 0) - alias: sl1_l2_rd_ - tips: - vL1D_L2 Wr: - value: ROUND(AVG((SQC_TC_DATA_WRITE_REQ / $denom)), 0) - alias: sl1_l2_wr_ - tips: - vL1D_L2 Atomic: - value: ROUND(AVG((SQC_TC_DATA_ATOMIC_REQ / $denom)), 0) - alias: sl1_l2_atom_ - tips: - VL1 Rd: - value: ROUND(AVG((TCP_TOTAL_READ_sum / $denom)), 0) - alias: vl1_rd_ - tips: - VL1 Wr: - value: ROUND(AVG((TCP_TOTAL_WRITE_sum / $denom)), 0) - alias: vl1_wr_ - tips: - VL1 Atomic: - value: ROUND(AVG(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) - / $denom)), 0) - alias: vl1_atom_ - tips: - VL1 Hit: - value: ROUND(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)) - / TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)), 0) - alias: vl1_hit_ - tips: - VL1 Lat: - value: ROUND(AVG(((TCP_TCP_LATENCY_sum / TCP_TA_TCP_STATE_READ_sum) if (TCP_TA_TCP_STATE_READ_sum - != 0) else None)), 0) - alias: vl1_lat_ - tips: - VL1_L2 Rd: - value: ROUND(AVG((TCP_TCC_READ_REQ_sum / $denom)), 0) - alias: vl1_l2_rd_ - tips: - VL1_L2 Wr: - value: ROUND(AVG((TCP_TCC_WRITE_REQ_sum / $denom)), 0) - alias: vl1_l2_wr_ - tips: - vL1_L2 Atomic: - value: ROUND(AVG(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - / $denom)), 0) - alias: vl1_l2_atom_ - tips: - L2 Rd: - value: ROUND(AVG((TCC_READ_sum / $denom)), 0) - alias: l2_rd_ - tips: - L2 Wr: - value: ROUND(AVG((TCC_WRITE_sum / $denom)), 0) - alias: l2_wr_ - tips: - L2 Atomic: - value: ROUND(AVG((TCC_ATOMIC_sum / $denom)), 0) - alias: l2_atom_ - tips: - L2 Hit: - value: ROUND(AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)), 0) - alias: l2_hit_ - tips: - L2 Rd Lat: - value: ROUND(AVG(((TCP_TCC_READ_REQ_LATENCY_sum / (TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)) - if ((TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) != 0) else None)), - 0) - alias: l2_rd_lat_ - tips: - L2 Wr Lat: - value: ROUND(AVG(((TCP_TCC_WRITE_REQ_LATENCY_sum / (TCP_TCC_WRITE_REQ_sum + - TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) if ((TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - != 0) else None)), 0) - alias: l2_wr_lat_ - tips: - Fabric Rd Lat: - value: ROUND(AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum - != 0) else None)), 0) - alias: fabric_rd_lat_ - tips: - Fabric Wr Lat: - value: ROUND(AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum - != 0) else None)), 0) - alias: fabric_wr_lat_ - tips: - Fabric Atomic Lat: - value: ROUND(AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum - != 0) else None)), 0) - alias: fabric_atom_lat_ - tips: - Fabric_L2 Rd: - value: ROUND(AVG((TCC_EA_RDREQ_sum / $denom)), 0) - alias: l2_fabric_rd_ - tips: - Fabric_L2 Wr: - value: ROUND(AVG((TCC_EA_WRREQ_sum / $denom)), 0) - alias: l2_fabric_wr_ - tips: - Fabric_l2 Atomic: - value: ROUND(AVG((TCC_EA_ATOMIC_sum / $denom)), 0) - alias: l2_fabric_atom_ - tips: - HBM Rd: - value: ROUND(AVG((TCC_EA_RDREQ_DRAM_sum / $denom)), 0) - alias: hbm_rd_ - tips: - HBM Wr: - value: ROUND(AVG((TCC_EA_WRREQ_DRAM_sum / $denom)), 0) - alias: hbm_wr_ - tips: - LDS Util: - value: ROUND(AVG(((100 * SQ_LDS_IDX_ACTIVE) / (GRBM_GUI_ACTIVE * $numCU))), - 0) - alias: lds_util_ - tips: - VL1 Coalesce: - value: ROUND(AVG(((((TA_TOTAL_WAVEFRONTS_sum * 64) * 100) / (TCP_TOTAL_ACCESSES_sum - * 4)) if (TCP_TOTAL_ACCESSES_sum != 0) else 0)), 0) - alias: vl1_coales_ - tips: - VL1 Stall: - value: ROUND(AVG((((100 * TCP_TCR_TCP_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)), 0) - alias: vl1_stall_ - tips: - LDS Lat: - value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) - if (SQ_INSTS_LDS != 0) else None)), 0) - alias: lds_lat_ - coll_level: SQ_INST_LEVEL_LDS - tips: - vL1D Lat: - value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / SQC_DCACHE_REQ) - if (SQC_DCACHE_REQ != 0) else None)), 0) - alias: sl1_lat_ - tips: - IL1 Lat: - value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) - if (SQC_ICACHE_REQ != 0) else None)), 0) - alias: il1_lat_ - tips: - Wave Occupancy: - value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE) / $numActiveCUs)), 0) - alias: wave_occ_ - coll_level: SQ_LEVEL_WAVES - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx906/2000_kernels.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx906/2000_kernels.yaml deleted file mode 100644 index ed566f75a2..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx906/2000_kernels.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -Panel Config: - id: 2000 - title: Kernels - data source: - - raw_csv_table: - id: 2001 - source: pmc_dispatch_info.csv diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/0000_top_stat.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/0000_top_stat.yaml deleted file mode 100644 index 077004080f..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/0000_top_stat.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -Panel Config: - id: 000 - title: Top Stat - data source: - - raw_csv_table: - id: 001 - source: pmc_kernel_top.csv diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/0100_system_info.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/0100_system_info.yaml deleted file mode 100644 index b7ec29eaf9..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/0100_system_info.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -Panel Config: - id: 100 - title: System Info - data source: - - raw_csv_table: - id: 101 - source: sysinfo.csv - columnwise: True diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/0200_system-speed-of-light.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/0200_system-speed-of-light.yaml deleted file mode 100644 index 986b2f0aec..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/0200_system-speed-of-light.yaml +++ /dev/null @@ -1,230 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - SALU: &SALU_anchor Scalar Arithmetic Logic Unit - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 200 - title: System Speed-of-Light - data source: - - metric_table: - id: 201 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - peak: Peak - pop: PoP - tips: Tips - metric: - VALU FLOPs: - value: None # No perf counter - unit: GFLOPs - peak: (((($sclk * $numCU) * 64) * 2) / 1000) - pop: None # No perf counter - tips: - VALU IOPs: - value: None # No perf counter - unit: GOPs - peak: (((($sclk * $numCU) * 64) * 2) / 1000) - pop: None # No perf counter - tips: - MFMA FLOPs (BF16): - value: None # No perf counter - unit: GFLOPs - peak: ((($sclk * $numCU) * 512) / 1000) - pop: None # No perf counter - tips: - MFMA FLOPs (F16): - value: None # No perf counter - unit: GFLOPs - peak: ((($sclk * $numCU) * 1024) / 1000) - pop: None # No perf counter - tips: - MFMA FLOPs (F32): - value: None # No perf counter - unit: GFLOPs - peak: ((($sclk * $numCU) * 256) / 1000) - pop: None # No perf counter - tips: - MFMA FLOPs (F64): - value: None # No perf counter - unit: GFLOPs - peak: ((($sclk * $numCU) * 256) / 1000) - pop: None # No perf counter - tips: - MFMA IOPs (Int8): - value: None # No perf counter - unit: GOPs - peak: ((($sclk * $numCU) * 1024) / 1000) - pop: None # No perf counter - tips: - Active CUs: - value: $numActiveCUs - unit: CUs - peak: $numCU - pop: ((100 * $numActiveCUs) / $numCU) - tips: - SALU Util: - value: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - peak: 100 - pop: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU))) - tips: - VALU Util: - value: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - peak: 100 - pop: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU))) - tips: - MFMA Util: - value: None # No HW module - unit: pct - peak: 100 - pop: None # No HW module - tips: - VALU Active Threads/Wave: - value: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) - unit: Threads - peak: 64 - pop: (AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) * 1.5625) - tips: - IPC - Issue: - value: AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) - + SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) - / SQ_ACTIVE_INST_ANY)) - unit: Instr/cycle - peak: 5 - pop: ((100 * AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) - + SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) - / SQ_ACTIVE_INST_ANY))) / 5) - tips: - LDS BW: - value: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / (EndNs - BeginNs))) - unit: GB/sec - peak: (($sclk * $numCU) * 0.128) - pop: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / (EndNs - BeginNs)) / (($sclk * $numCU) * 0.00128))) - tips: - LDS Bank Conflict: - value: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - unit: Conflicts/access - peak: 32 - pop: ((100 * AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))) / 32) - tips: - Instr Cache Hit Rate: - value: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES))) - unit: pct - peak: 100 - pop: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES))) - tips: - Instr Cache BW: - value: AVG(((SQC_ICACHE_REQ / (EndNs - BeginNs)) * 64)) - unit: GB/s - peak: ((($sclk / 1000) * 64) * $numSQC) - pop: ((100 * AVG(((SQC_ICACHE_REQ / (EndNs - BeginNs)) * 64))) / ((($sclk - / 1000) * 64) * $numSQC)) - tips: - Scalar L1D Cache Hit Rate: - value: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES)) - if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None)) - unit: pct - peak: 100 - pop: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES)) - if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None)) - tips: - Scalar L1D Cache BW: - value: AVG(((SQC_DCACHE_REQ / (EndNs - BeginNs)) * 64)) - unit: GB/s - peak: ((($sclk / 1000) * 64) * $numSQC) - pop: ((100 * AVG(((SQC_DCACHE_REQ / (EndNs - BeginNs)) * 64))) / ((($sclk - / 1000) * 64) * $numSQC)) - tips: - Vector L1D Cache Hit Rate: - value: 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)) - / TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - unit: pct - peak: 100 - pop: 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)) / - TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - tips: - Vector L1D Cache BW: - value: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) - unit: GB/s - peak: ((($sclk / 1000) * 64) * $numCU) - pop: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs)))) - / ((($sclk / 1000) * 64) * $numCU)) - tips: - L2 Cache Hit Rate: - value: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - unit: pct - peak: 100 - pop: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - tips: - L2-Fabric Read BW: - value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / (EndNs - BeginNs))) - unit: GB/s - peak: $hbmBW - pop: ((100 * AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / (EndNs - BeginNs)))) / $hbmBW) - tips: - L2-Fabric Write BW: - value: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / (EndNs - BeginNs))) - unit: GB/s - peak: $hbmBW - pop: ((100 * AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / (EndNs - BeginNs)))) / $hbmBW) - tips: - L2-Fabric Read Latency: - value: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum - != 0) else None)) - unit: Cycles - peak: '' - pop: '' - tips: - L2-Fabric Write Latency: - value: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum - != 0) else None)) - unit: Cycles - peak: '' - pop: '' - tips: - Wave Occupancy: - value: AVG((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE)) - unit: Wavefronts - peak: ($maxWavesPerCU * $numCU) - pop: (100 * AVG(((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE) / ($maxWavesPerCU - * $numCU)))) - coll_level: SQ_LEVEL_WAVES - tips: - Instr Fetch BW: - value: AVG(((SQ_IFETCH / (EndNs - BeginNs)) * 32)) - unit: GB/s - peak: ((($sclk / 1000) * 32) * $numSQC) - pop: ((100 * AVG(((SQ_IFETCH / (EndNs - BeginNs)) * 32))) / ($numSQC - * (($sclk / 1000) * 32))) - coll_level: SQ_IFETCH_LEVEL - tips: - Instr Fetch Latency: - value: AVG((SQ_ACCUM_PREV_HIRES / SQ_IFETCH)) - unit: Cycles - peak: '' - pop: '' - coll_level: SQ_IFETCH_LEVEL - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/0500_command-processor.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/0500_command-processor.yaml deleted file mode 100644 index 5250918799..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/0500_command-processor.yaml +++ /dev/null @@ -1,180 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 500 - title: Command Processor (CPC/CPF) - data source: - - metric_table: - id: 501 - title: Command Processor Fetcher - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - GPU Busy Cycles: - avg: AVG(GRBM_GUI_ACTIVE) - min: MIN(GRBM_GUI_ACTIVE) - max: MAX(GRBM_GUI_ACTIVE) - unit: Cycles/Kernel - tips: - CPF Busy: - avg: AVG(CPF_CPF_STAT_BUSY) - min: MIN(CPF_CPF_STAT_BUSY) - max: MAX(CPF_CPF_STAT_BUSY) - unit: Cycles/Kernel - tips: - CPF Util: - avg: AVG((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE)) - if ((CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE) != 0) else None)) - min: MIN((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE)) - if ((CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE) != 0) else None)) - max: MAX((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE)) - if ((CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE) != 0) else None)) - unit: pct - tips: - CPF Stall: - avg: AVG((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY - != 0) else None)) - min: MIN((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY - != 0) else None)) - max: MAX((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY - != 0) else None)) - unit: Cycles/Kernel - tips: - L2Cache Intf Busy: - avg: AVG(CPF_CPF_TCIU_BUSY) - min: MIN(CPF_CPF_TCIU_BUSY) - max: MAX(CPF_CPF_TCIU_BUSY) - unit: Cycles/Kernel - tips: - L2Cache Intf Util: - avg: AVG((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE)) - if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None)) - min: MIN((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE)) - if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None)) - max: MAX((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE)) - if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None)) - unit: pct - tips: - L2Cache Intf Stall: - avg: AVG((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY - != 0) else None)) - min: MIN((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY - != 0) else None)) - max: MAX((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY - != 0) else None)) - unit: pct - tips: - UTCL1 Stall: - avg: AVG(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) - min: MIN(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) - max: MAX(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) - unit: Cycles/Kernel - tips: - - - metric_table: - id: 502 - title: Command Processor Compute - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - GPU Busy Cycles: - avg: AVG(GRBM_GUI_ACTIVE) - min: MIN(GRBM_GUI_ACTIVE) - max: MAX(GRBM_GUI_ACTIVE) - unit: Cycles - tips: - CPC Busy Cycles: - avg: AVG(CPC_CPC_STAT_BUSY) - min: MIN(CPC_CPC_STAT_BUSY) - max: MAX(CPC_CPC_STAT_BUSY) - unit: Cycles - tips: - CPC Util: - avg: AVG((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE)) - if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None)) - min: MIN((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE)) - if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None)) - max: MAX((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE)) - if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None)) - unit: pct - tips: - CPC Stall Cycles: - avg: AVG(CPC_CPC_STAT_STALL) - min: MIN(CPC_CPC_STAT_STALL) - max: MAX(CPC_CPC_STAT_STALL) - unit: Cycles - tips: - CPC Stall Rate: - avg: AVG((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - min: MIN((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - max: MAX((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - unit: pct - tips: - CPC Packet Decoding: - avg: AVG(CPC_ME1_BUSY_FOR_PACKET_DECODE) - min: MIN(CPC_ME1_BUSY_FOR_PACKET_DECODE) - max: MAX(CPC_ME1_BUSY_FOR_PACKET_DECODE) - unit: Cycles - tips: - SPI Intf Busy Cycles: - avg: AVG(CPC_ME1_DC0_SPI_BUSY) - min: MIN(CPC_ME1_DC0_SPI_BUSY) - max: MAX(CPC_ME1_DC0_SPI_BUSY) - unit: Cycles - tips: - SPI Intf Util: - avg: AVG((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - min: MIN((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - max: MAX((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - unit: pct - tips: - L2Cache Intf Util: - avg: AVG((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE)) - if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None)) - min: MIN((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE)) - if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None)) - max: MAX((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE)) - if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None)) - unit: pct - tips: - UTCL1 Stall Cycles: - avg: AVG(CPC_UTCL1_STALL_ON_TRANSLATION) - min: MIN(CPC_UTCL1_STALL_ON_TRANSLATION) - max: MAX(CPC_UTCL1_STALL_ON_TRANSLATION) - unit: Cycles - tips: - UTCL2 Intf Busy Cycles: - avg: AVG(CPC_CPC_UTCL2IU_BUSY) - min: MIN(CPC_CPC_UTCL2IU_BUSY) - max: MAX(CPC_CPC_UTCL2IU_BUSY) - unit: Cycles - tips: - UTCL2 Intf Util: - avg: AVG((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE)) - if ((CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE) != 0) else None)) - min: MIN((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE)) - if ((CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE) != 0) else None)) - max: MAX((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE)) - if ((CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE) != 0) else None)) - unit: pct - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/0600_shader-processor-input.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/0600_shader-processor-input.yaml deleted file mode 100644 index 38b81ed4fc..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/0600_shader-processor-input.yaml +++ /dev/null @@ -1,174 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 600 - title: Shader Processor Input (SPI) - data source: - - metric_table: - id: 601 - title: SPI Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - GPU Busy: - avg: AVG(GRBM_GUI_ACTIVE) - min: MIN(GRBM_GUI_ACTIVE) - max: MAX(GRBM_GUI_ACTIVE) - unit: Cycles - tips: - CS Busy: - avg: AVG(SPI_CSN_BUSY) - min: MIN(SPI_CSN_BUSY) - max: MAX(SPI_CSN_BUSY) - unit: Cycles - tips: - SPI Busy: - avg: AVG(GRBM_SPI_BUSY) - min: MIN(GRBM_SPI_BUSY) - max: MAX(GRBM_SPI_BUSY) - unit: Cycles - tips: - SQ Busy: - avg: AVG(SQ_BUSY_CYCLES) - min: MIN(SQ_BUSY_CYCLES) - max: MAX(SQ_BUSY_CYCLES) - unit: Cycles - tips: - Dispatched Workgroups: - avg: AVG(SPI_CSN_NUM_THREADGROUPS) - min: MIN(SPI_CSN_NUM_THREADGROUPS) - max: MAX(SPI_CSN_NUM_THREADGROUPS) - unit: Workgroups - tips: - Dispatched Wavefronts: - avg: AVG(SPI_CSN_WAVE) - min: MIN(SPI_CSN_WAVE) - max: MAX(SPI_CSN_WAVE) - unit: Wavefronts - tips: - Wave Alloc Failed: - avg: AVG(SPI_RA_REQ_NO_ALLOC) - min: MIN(SPI_RA_REQ_NO_ALLOC) - max: MAX(SPI_RA_REQ_NO_ALLOC) - unit: Cycles - tips: - Wave Alloc Failed - CS: - avg: AVG(SPI_RA_REQ_NO_ALLOC_CSN) - min: MIN(SPI_RA_REQ_NO_ALLOC_CSN) - max: MAX(SPI_RA_REQ_NO_ALLOC_CSN) - unit: Cycles - tips: - - - metric_table: - id: 602 - title: SPI Resource Allocation - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Wave request Failed (CS): - avg: AVG(SPI_RA_REQ_NO_ALLOC_CSN) - min: MIN(SPI_RA_REQ_NO_ALLOC_CSN) - max: MAX(SPI_RA_REQ_NO_ALLOC_CSN) - unit: Cycles - tips: - CS Stall: - avg: AVG(SPI_RA_RES_STALL_CSN) - min: MIN(SPI_RA_RES_STALL_CSN) - max: MAX(SPI_RA_RES_STALL_CSN) - unit: Cycles - tips: - CS Stall Rate: - avg: AVG((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY != - 0) else None)) - min: MIN((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY != - 0) else None)) - max: MAX((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY != - 0) else None)) - unit: pct - tips: - Scratch Stall: - avg: AVG(SPI_RA_TMP_STALL_CSN) - min: MIN(SPI_RA_TMP_STALL_CSN) - max: MAX(SPI_RA_TMP_STALL_CSN) - unit: Cycles - tips: - Insufficient SIMD Waveslots: - avg: AVG(SPI_RA_WAVE_SIMD_FULL_CSN) - min: MIN(SPI_RA_WAVE_SIMD_FULL_CSN) - max: MAX(SPI_RA_WAVE_SIMD_FULL_CSN) - unit: SIMD - tips: - Insufficient SIMD VGPRs: - avg: AVG(SPI_RA_VGPR_SIMD_FULL_CSN) - min: MIN(SPI_RA_VGPR_SIMD_FULL_CSN) - max: MAX(SPI_RA_VGPR_SIMD_FULL_CSN) - unit: SIMD - tips: - Insufficient SIMD SGPRs: - avg: AVG(SPI_RA_SGPR_SIMD_FULL_CSN) - min: MIN(SPI_RA_SGPR_SIMD_FULL_CSN) - max: MAX(SPI_RA_SGPR_SIMD_FULL_CSN) - unit: SIMD - tips: - Insufficient CU LDS: - avg: AVG(SPI_RA_LDS_CU_FULL_CSN) - min: MIN(SPI_RA_LDS_CU_FULL_CSN) - max: MAX(SPI_RA_LDS_CU_FULL_CSN) - unit: CU - tips: - Insufficient CU Barries: - avg: AVG(SPI_RA_BAR_CU_FULL_CSN) - min: MIN(SPI_RA_BAR_CU_FULL_CSN) - max: MAX(SPI_RA_BAR_CU_FULL_CSN) - unit: CU - tips: - Insufficient Bulky Resource: - avg: AVG(SPI_RA_BULKY_CU_FULL_CSN) - min: MIN(SPI_RA_BULKY_CU_FULL_CSN) - max: MAX(SPI_RA_BULKY_CU_FULL_CSN) - unit: CU - tips: - Reach CU Threadgroups Limit: - avg: AVG(SPI_RA_TGLIM_CU_FULL_CSN) - min: MIN(SPI_RA_TGLIM_CU_FULL_CSN) - max: MAX(SPI_RA_TGLIM_CU_FULL_CSN) - unit: Cycles - tips: - Reach CU Wave Limit: - avg: AVG(SPI_RA_WVLIM_STALL_CSN) - min: MIN(SPI_RA_WVLIM_STALL_CSN) - max: MAX(SPI_RA_WVLIM_STALL_CSN) - unit: Cycles - tips: - VGPR Writes: - avg: AVG((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - min: MIN((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - max: MAX((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - unit: Cycles/wave - tips: - SGPR Writes: - avg: AVG((((1 * SPI_SWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - min: MIN((((1 * SPI_SWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - max: MAX((((1 * SPI_SWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - unit: Cycles/wave - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/0700_wavefront-launch.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/0700_wavefront-launch.yaml deleted file mode 100644 index 70141193e6..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/0700_wavefront-launch.yaml +++ /dev/null @@ -1,142 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 700 - title: Wavefront - data source: - - metric_table: - id: 701 - title: Wavefront Launch Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Grid Size: - avg: AVG(grd) - min: MIN(grd) - max: MAX(grd) - unit: Work Items - tips: - Workgroup Size: - avg: AVG(wgr) - min: MIN(wgr) - max: MAX(wgr) - unit: Work Items - tips: - Total Wavefronts: - avg: AVG(SPI_CSN_WAVE) - min: MIN(SPI_CSN_WAVE) - max: MAX(SPI_CSN_WAVE) - unit: Wavefronts - tips: - Saved Wavefronts: - avg: AVG(SQ_WAVES_SAVED) - min: MIN(SQ_WAVES_SAVED) - max: MAX(SQ_WAVES_SAVED) - unit: Wavefronts - tips: - Restored Wavefronts: - avg: AVG(SQ_WAVES_RESTORED) - min: MIN(SQ_WAVES_RESTORED) - max: MAX(SQ_WAVES_RESTORED) - unit: Wavefronts - tips: - VGPRs: - avg: AVG(arch_vgpr) - min: MIN(arch_vgpr) - max: MAX(arch_vgpr) - unit: Registers - tips: - AGPRs: - avg: AVG(accum_vgpr) - min: MIN(accum_vgpr) - max: MAX(accum_vgpr) - unit: Registers - tips: - SGPRs: - avg: AVG(sgpr) - min: MIN(sgpr) - max: MAX(sgpr) - unit: Registers - tips: - LDS Allocation: - avg: AVG(lds) - min: MIN(lds) - max: MAX(lds) - unit: Bytes - tips: - Scratch Allocation: - avg: AVG(scr) - min: MIN(scr) - max: MAX(scr) - unit: Bytes - tips: - - - metric_table: - id: 702 - title: Wavefront Runtime Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Kernel Time (Nanosec): - avg: AVG((EndNs - BeginNs)) - min: MIN((EndNs - BeginNs)) - max: MAX((EndNs - BeginNs)) - unit: ns - tips: - Kernel Time (Cycles): - avg: AVG(GRBM_GUI_ACTIVE) - min: MIN(GRBM_GUI_ACTIVE) - max: MAX(GRBM_GUI_ACTIVE) - unit: Cycle - tips: - Instr/wavefront: - avg: AVG((SQ_INSTS / SQ_WAVES)) - min: MIN((SQ_INSTS / SQ_WAVES)) - max: MAX((SQ_INSTS / SQ_WAVES)) - unit: Instr/wavefront - tips: - Wave Cycles: - avg: AVG(((4 * SQ_WAVE_CYCLES) / $denom)) - min: MIN(((4 * SQ_WAVE_CYCLES) / $denom)) - max: MAX(((4 * SQ_WAVE_CYCLES) / $denom)) - unit: (Cycles + $normUnit) - tips: - Dependency Wait Cycles: - avg: AVG(((4 * SQ_WAIT_ANY) / $denom)) - min: MIN(((4 * SQ_WAIT_ANY) / $denom)) - max: MAX(((4 * SQ_WAIT_ANY) / $denom)) - unit: (Cycles + $normUnit) - tips: - Issue Wait Cycles: - avg: AVG(((4 * SQ_WAIT_INST_ANY) / $denom)) - min: MIN(((4 * SQ_WAIT_INST_ANY) / $denom)) - max: MAX(((4 * SQ_WAIT_INST_ANY) / $denom)) - unit: (Cycles + $normUnit) - tips: - Active Cycles: - avg: AVG(((4 * SQ_ACTIVE_INST_ANY) / $denom)) - min: MIN(((4 * SQ_ACTIVE_INST_ANY) / $denom)) - max: MAX(((4 * SQ_ACTIVE_INST_ANY) / $denom)) - unit: (Cycles + $normUnit) - tips: - Wavefront Occupancy: - avg: AVG((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE)) - min: MIN((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE)) - max: MAX((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE)) - unit: Wavefronts - coll_level: SQ_LEVEL_WAVES - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/1000_compute-unit-instruction-mix.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/1000_compute-unit-instruction-mix.yaml deleted file mode 100644 index 13c27dd209..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/1000_compute-unit-instruction-mix.yaml +++ /dev/null @@ -1,234 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1000 - title: Compute Units - Instruction Mix - data source: - - metric_table: - id: 1001 - title: Instruction Mix - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - style: - type: simple_bar - label_txt: (# of instr + $normUnit) - metric: - VALU - Vector: - avg: AVG(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom)) - min: MIN(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom)) - max: MAX(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom)) - unit: (instr + $normUnit) - tips: - VMEM: - avg: AVG(((SQ_INSTS_VMEM - SQ_INSTS_FLAT_LDS_ONLY) / $denom)) - min: MIN(((SQ_INSTS_VMEM - SQ_INSTS_FLAT_LDS_ONLY) / $denom)) - max: MAX(((SQ_INSTS_VMEM - SQ_INSTS_FLAT_LDS_ONLY) / $denom)) - unit: (instr + $normUnit) - tips: - LDS: - avg: AVG((SQ_INSTS_LDS / $denom)) - min: MIN((SQ_INSTS_LDS / $denom)) - max: MAX((SQ_INSTS_LDS / $denom)) - unit: (instr + $normUnit) - tips: - VALU - MFMA: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - SALU: - avg: AVG((SQ_INSTS_SALU / $denom)) - min: MIN((SQ_INSTS_SALU / $denom)) - max: MAX((SQ_INSTS_SALU / $denom)) - unit: (instr + $normUnit) - tips: - SMEM: - avg: AVG((SQ_INSTS_SMEM / $denom)) - min: MIN((SQ_INSTS_SMEM / $denom)) - max: MAX((SQ_INSTS_SMEM / $denom)) - unit: (instr + $normUnit) - tips: - Branch: - avg: AVG((SQ_INSTS_BRANCH / $denom)) - min: MIN((SQ_INSTS_BRANCH / $denom)) - max: MAX((SQ_INSTS_BRANCH / $denom)) - unit: (instr + $normUnit) - tips: - GDS: - avg: AVG((SQ_INSTS_GDS / $denom)) - min: MIN((SQ_INSTS_GDS / $denom)) - max: MAX((SQ_INSTS_GDS / $denom)) - unit: (instr + $normUnit) - tips: - - - metric_table: - id: 1002 - title: VALU Arithmetic Instr Mix - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - style: - type: simple_bar - label_txt: (# of instr + $normUnit) - metric: - INT-32: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (instr + $normUnit) - tips: - INT-64: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (instr + $normUnit) - tips: - F16-ADD: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (instr + $normUnit) - tips: - F16-Mult: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (instr + $normUnit) - tips: - F16-FMA: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (instr + $normUnit) - tips: - F16-Trans: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (instr + $normUnit) - tips: - F32-ADD: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (instr + $normUnit) - tips: - F32-Mult: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (instr + $normUnit) - tips: - F32-FMA: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (instr + $normUnit) - tips: - F32-Trans: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (instr + $normUnit) - tips: - F64-ADD: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (instr + $normUnit) - tips: - F64-Mult: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (instr + $normUnit) - tips: - F64-FMA: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (instr + $normUnit) - tips: - F64-Trans: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (instr + $normUnit) - tips: - Conversion: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (instr + $normUnit) - tips: - - - metric_table: - id: 1003 - title: VMEM Instr Mix - header: - type: Type - count: Count - tips: Tips - metric: - Buffer Instr: - count: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom)) - tips: - Buffer Read: - count: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) - tips: - Buffer Write: - count: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) - tips: - Buffer Atomic: - count: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) - tips: - Flat Instr: - count: AVG((TA_FLAT_WAVEFRONTS_sum / $denom)) - tips: - Flat Read: - count: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - tips: - Flat Write: - count: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - tips: - Flat Atomic: - count: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - tips: - - - metric_table: - id: 1004 - title: MFMA Arithmetic Instr Mix - header: - type: Type - count: Count - tips: Tips - metric: - MFMA-I8: - count: None # No HW module - tips: - MFMA-F16: - count: None # No HW module - tips: - MFMA-BF16: - count: None # No HW module - tips: - MFMA-F32: - count: None # No HW module - tips: - MFMA-F64: - count: None # No HW module - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/1100_compute-unit-compute-pipeline.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/1100_compute-unit-compute-pipeline.yaml deleted file mode 100644 index 061311d62d..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/1100_compute-unit-compute-pipeline.yaml +++ /dev/null @@ -1,155 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1100 - title: Compute Units - Compute Pipeline - data source: - - metric_table: - id: 1101 - title: Speed-of-Light - header: - metric: Metric - value: Value - tips: Tips - style: - type: simple_bar - range_color: [1, 100] - label_txt: (%) - xrange: [0, 110] - metric: - valu_flops_pop: - value: None # No perf counter - tips: - mfma_flops_bf16_pop: - value: None # No perf counter - tips: - mfma_flops_f16_pop: - value: None # No perf counter - tips: - mfma_flops_f32_pop: - value: None # No perf counter - tips: - mfma_flops_f64_pop: - value: None # No perf counter - tips: - mfma_flops_i8_pop: - value: None # No perf counter - tips: - - - metric_table: - id: 1102 - title: Pipeline Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - IPC (Avg): - avg: AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES)) - min: MIN((SQ_INSTS / SQ_BUSY_CU_CYCLES)) - max: MAX((SQ_INSTS / SQ_BUSY_CU_CYCLES)) - unit: Instr/cycle - tips: - IPC (Issue): - avg: AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) - + SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) - / SQ_ACTIVE_INST_ANY)) - min: MIN(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) - + SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) - / SQ_ACTIVE_INST_ANY)) - max: MAX(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) - + SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) - / SQ_ACTIVE_INST_ANY)) - unit: Instr/cycle - tips: - SALU Util: - avg: AVG((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) - min: MIN((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) - max: MAX((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) - unit: pct - tips: - VALU Util: - avg: AVG((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) - min: MIN((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) - max: MAX((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) - unit: pct - tips: - VALU Active Threads: - avg: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) - min: MIN(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) - max: MAX(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) - unit: Threads - tips: - MFMA Util: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: pct - tips: - MFMA Instr Cycles: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: cycles/instr - tips: - - - metric_table: - id: 1103 - title: Arithmetic Operations - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - FLOPs (Total): - #FIXME: double check what is available on MI100!!! - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - INT8 OPs: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - F16 OPs: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - BF16 OPs: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - F32 OPs: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - F64 OPs: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - - diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/1200_lds.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/1200_lds.yaml deleted file mode 100644 index 3fd52c3b1b..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/1200_lds.yaml +++ /dev/null @@ -1,121 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1200 - title: Local Data Share (LDS) - data source: - - metric_table: - id: 1201 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - tips: Tips - style: - type: simple_bar - range_color: [1, 100] - label_txt: (%) - xrange: [0, 110] - metric: - Utilization: - value: AVG(((100 * SQ_LDS_IDX_ACTIVE) / (GRBM_GUI_ACTIVE * $numCU))) - unit: Pct of Peak - tips: - Access Rate: - value: AVG(((200 * SQ_ACTIVE_INST_LDS) / (GRBM_GUI_ACTIVE * $numCU))) - unit: Pct of Peak - tips: - Bandwidth (Pct-of-Peak): - value: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / (EndNs - BeginNs)) / (($sclk * $numCU) * 0.00128))) - unit: Pct of Peak - tips: - Bank Conflict Rate: - value: AVG((((SQ_LDS_BANK_CONFLICT * 3.125) / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - unit: Pct of Peak - tips: - - - metric_table: - id: 1202 - title: LDS Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - LDS Instrs: - avg: AVG((SQ_INSTS_LDS / $denom)) - min: MIN((SQ_INSTS_LDS / $denom)) - max: MAX((SQ_INSTS_LDS / $denom)) - unit: (Instr + $normUnit) - tips: - Bandwidth: - avg: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / $denom)) - min: MIN(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / $denom)) - max: MAX(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / $denom)) - unit: (Bytes + $normUnit) - tips: - Bank Conficts/Access: - avg: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - min: MIN(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - max: MAX(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - unit: Conflicts/Access - tips: - Index Accesses: - avg: AVG((SQ_LDS_IDX_ACTIVE / $denom)) - min: MIN((SQ_LDS_IDX_ACTIVE / $denom)) - max: MAX((SQ_LDS_IDX_ACTIVE / $denom)) - unit: (Cycles + $normUnit) - tips: - Atomic Cycles: - avg: AVG((SQ_LDS_ATOMIC_RETURN / $denom)) - min: MIN((SQ_LDS_ATOMIC_RETURN / $denom)) - max: MAX((SQ_LDS_ATOMIC_RETURN / $denom)) - unit: (Cycles + $normUnit) - tips: - Bank Conflict: - avg: AVG((SQ_LDS_BANK_CONFLICT / $denom)) - min: MIN((SQ_LDS_BANK_CONFLICT / $denom)) - max: MAX((SQ_LDS_BANK_CONFLICT / $denom)) - unit: (Cycles + $normUnit) - tips: - Addr Conflict: - avg: AVG((SQ_LDS_ADDR_CONFLICT / $denom)) - min: MIN((SQ_LDS_ADDR_CONFLICT / $denom)) - max: MAX((SQ_LDS_ADDR_CONFLICT / $denom)) - unit: (Cycles + $normUnit) - tips: - Unaligned Stall: - avg: AVG((SQ_LDS_UNALIGNED_STALL / $denom)) - min: MIN((SQ_LDS_UNALIGNED_STALL / $denom)) - max: MAX((SQ_LDS_UNALIGNED_STALL / $denom)) - unit: (Cycles + $normUnit) - tips: - Mem Violations: - avg: AVG((SQ_LDS_MEM_VIOLATIONS / $denom)) - min: MIN((SQ_LDS_MEM_VIOLATIONS / $denom)) - max: MAX((SQ_LDS_MEM_VIOLATIONS / $denom)) - unit: ( + $normUnit) - tips: - LDS Latency: - avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None)) - min: MIN(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None)) - max: MAX(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None)) - unit: Cycles - coll_level: SQ_INST_LEVEL_LDS - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/1300_instruction-cache.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/1300_instruction-cache.yaml deleted file mode 100644 index 05dc759803..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/1300_instruction-cache.yaml +++ /dev/null @@ -1,79 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1300 - title: Instruction Cache - data source: - - metric_table: - id: 1301 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - tips: Tips - style: - type: simple_bar - range_color: [1, 100] - label_txt: (%) - xrange: [0, 110] - metric: - Bandwidth: - value: AVG(((SQC_ICACHE_REQ * 100000) / (($sclk * $numSQC) - * (EndNs - BeginNs)))) - unit: Pct of Peak - tips: - Cache Hit: - value: AVG(((SQC_ICACHE_HITS * 100) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) - + SQC_ICACHE_MISSES_DUPLICATE))) - unit: Pct of Peak - tips: - - - metric_table: - id: 1302 - title: Instruction Cache Accesses - header: - metric: L1I Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Req: - avg: AVG((SQC_ICACHE_REQ / $denom)) - min: MIN((SQC_ICACHE_REQ / $denom)) - max: MAX((SQC_ICACHE_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Hits: - avg: AVG((SQC_ICACHE_HITS / $denom)) - min: MIN((SQC_ICACHE_HITS / $denom)) - max: MAX((SQC_ICACHE_HITS / $denom)) - unit: (Hits + $normUnit) - tips: - Misses - Non Duplicated: - avg: AVG((SQC_ICACHE_MISSES / $denom)) - min: MIN((SQC_ICACHE_MISSES / $denom)) - max: MAX((SQC_ICACHE_MISSES / $denom)) - unit: (Misses + $normUnit) - tips: - Misses - Duplicated: - avg: AVG((SQC_ICACHE_MISSES_DUPLICATE / $denom)) - min: MIN((SQC_ICACHE_MISSES_DUPLICATE / $denom)) - max: MAX((SQC_ICACHE_MISSES_DUPLICATE / $denom)) - unit: (Misses + $normUnit) - tips: - Cache Hit: - avg: AVG(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) - + SQC_ICACHE_MISSES_DUPLICATE))) - min: MIN(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) + - SQC_ICACHE_MISSES_DUPLICATE))) - max: MAX(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) + - SQC_ICACHE_MISSES_DUPLICATE))) - unit: pct - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/1400_constant-cache.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/1400_constant-cache.yaml deleted file mode 100644 index 563caad13f..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/1400_constant-cache.yaml +++ /dev/null @@ -1,164 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1400 - title: Scalar L1 Data Cache - data source: - - metric_table: - id: 1401 - title: Speed-of-Light - header: - mertic: Metric - value: Value - unit: Unit - tips: Tips - style: - type: simple_bar - range_color: [1, 100] - label_txt: (%) - xrange: [0, 110] - metric: - Bandwidth: - value: AVG(((SQC_DCACHE_REQ * 100000) / (($sclk * $numSQC) - * (EndNs - BeginNs)))) - unit: Pct of Peak - tips: - Cache Hit: - value: - AVG((((SQC_DCACHE_HITS * 100) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE)) - if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) - unit: Pct of Peak - tips: - - - metric_table: - id: 1402 - title: Scalar L1D Cache Accesses - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Req: - avg: AVG((SQC_DCACHE_REQ / $denom)) - min: MIN((SQC_DCACHE_REQ / $denom)) - max: MAX((SQC_DCACHE_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Hits: - avg: AVG((SQC_DCACHE_HITS / $denom)) - min: MIN((SQC_DCACHE_HITS / $denom)) - max: MAX((SQC_DCACHE_HITS / $denom)) - unit: (Req + $normUnit) - tips: - Misses - Non Duplicated: - avg: AVG((SQC_DCACHE_MISSES / $denom)) - min: MIN((SQC_DCACHE_MISSES / $denom)) - max: MAX((SQC_DCACHE_MISSES / $denom)) - unit: (Req + $normUnit) - tips: - Misses- Duplicated: - avg: AVG((SQC_DCACHE_MISSES_DUPLICATE / $denom)) - min: MIN((SQC_DCACHE_MISSES_DUPLICATE / $denom)) - max: MAX((SQC_DCACHE_MISSES_DUPLICATE / $denom)) - unit: (Req + $normUnit) - tips: - Cache Hit: - avg: AVG((((100 * SQC_DCACHE_HITS) / ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE)) if (((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) - min: MIN((((100 * SQC_DCACHE_HITS) / ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE)) if (((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) - max: MAX((((100 * SQC_DCACHE_HITS) / ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE)) if (((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) - unit: pct - tips: - Read Req (Total): - avg: AVG((((((SQC_DCACHE_REQ_READ_1 + SQC_DCACHE_REQ_READ_2) + SQC_DCACHE_REQ_READ_4) - + SQC_DCACHE_REQ_READ_8) + SQC_DCACHE_REQ_READ_16) / $denom)) - min: MIN((((((SQC_DCACHE_REQ_READ_1 + SQC_DCACHE_REQ_READ_2) + SQC_DCACHE_REQ_READ_4) - + SQC_DCACHE_REQ_READ_8) + SQC_DCACHE_REQ_READ_16) / $denom)) - max: MAX((((((SQC_DCACHE_REQ_READ_1 + SQC_DCACHE_REQ_READ_2) + SQC_DCACHE_REQ_READ_4) - + SQC_DCACHE_REQ_READ_8) + SQC_DCACHE_REQ_READ_16) / $denom)) - unit: (Req + $normUnit) - tips: - Atomic Req: - avg: AVG((SQC_DCACHE_ATOMIC / $denom)) - min: MIN((SQC_DCACHE_ATOMIC / $denom)) - max: MAX((SQC_DCACHE_ATOMIC / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (1 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_1 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_1 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_1 / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (2 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_2 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_2 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_2 / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (4 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_4 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_4 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_4 / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (8 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_8 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_8 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_8 / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (16 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_16 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_16 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_16 / $denom)) - unit: (Req + $normUnit) - tips: - - - metric_table: - id: 1403 - title: Scalar L1D Cache - L2 Interface - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Read Req: - avg: AVG((SQC_TC_DATA_READ_REQ / $denom)) - min: MIN((SQC_TC_DATA_READ_REQ / $denom)) - max: MAX((SQC_TC_DATA_READ_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Write Req: - avg: AVG((SQC_TC_DATA_WRITE_REQ / $denom)) - min: MIN((SQC_TC_DATA_WRITE_REQ / $denom)) - max: MAX((SQC_TC_DATA_WRITE_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Atomic Req: - avg: AVG((SQC_TC_DATA_ATOMIC_REQ / $denom)) - min: MIN((SQC_TC_DATA_ATOMIC_REQ / $denom)) - max: MAX((SQC_TC_DATA_ATOMIC_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Stall: - avg: AVG((SQC_TC_STALL / $denom)) - min: MIN((SQC_TC_STALL / $denom)) - max: MAX((SQC_TC_STALL / $denom)) - unit: (Cycles + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/1500_TA_and_TD.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/1500_TA_and_TD.yaml deleted file mode 100644 index 8f71cedc99..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/1500_TA_and_TD.yaml +++ /dev/null @@ -1,174 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1500 - title: Texture Addresser and Texture Data (TA/TD) - data source: - - metric_table: - id: 1501 - title: TA - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - TA Busy: - avg: AVG(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - TC2TA Addr Stall: - avg: AVG(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - TC2TA Data Stall: - avg: AVG(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - TD2TA Addr Stall: - avg: AVG(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - Total Instructions: - avg: AVG((TA_TOTAL_WAVEFRONTS_sum / $denom)) - min: MIN((TA_TOTAL_WAVEFRONTS_sum / $denom)) - max: MAX((TA_TOTAL_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Flat Instr: - avg: AVG((TA_FLAT_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Flat Read Instr: - avg: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Flat Write Instr: - avg: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Flat Atomic Instr: - avg: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Buffer Instr: - avg: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom)) - min: MIN((TA_BUFFER_WAVEFRONTS_sum / $denom)) - max: MAX((TA_BUFFER_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Buffer Read Instr: - avg: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) - min: MIN((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) - max: MAX((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Buffer Write Instr: - avg: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) - min: MIN((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) - max: MAX((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Buffer Atomic Instr: - avg: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) - min: MIN((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) - max: MAX((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Buffer Total Cylces: - avg: AVG((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) - min: MIN((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) - max: MAX((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) - unit: (Cycles + $normUnit) - tips: - Buffer Coalesced Read: - avg: AVG((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) - min: MIN((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) - max: MAX((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) - unit: (Cycles + $normUnit) - tips: - Buffer Coalesced Write: - avg: AVG((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) - min: MIN((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) - max: MAX((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) - unit: (Cycles + $normUnit) - tips: - - - metric_table: - id: 1502 - title: TD - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - TD Busy: - avg: AVG(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - TC2TD Stall: - avg: AVG(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - SPI2TD Stall: - avg: # No perf counter - min: # No perf counter - max: # No perf counter - unit: pct - tips: - Coalescable Instr: - avg: AVG((TD_COALESCABLE_WAVEFRONT_sum / $denom)) - min: MIN((TD_COALESCABLE_WAVEFRONT_sum / $denom)) - max: MAX((TD_COALESCABLE_WAVEFRONT_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Load Instr: - avg: AVG((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) - / $denom)) - min: MIN((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) - / $denom)) - max: MAX((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) - / $denom)) - unit: (Instr + $normUnit) - tips: - Store Instr: - avg: AVG((TD_STORE_WAVEFRONT_sum / $denom)) - min: MIN((TD_STORE_WAVEFRONT_sum / $denom)) - max: MAX((TD_STORE_WAVEFRONT_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Atomic Instr: - avg: AVG((TD_ATOMIC_WAVEFRONT_sum / $denom)) - min: MIN((TD_ATOMIC_WAVEFRONT_sum / $denom)) - max: MAX((TD_ATOMIC_WAVEFRONT_sum / $denom)) - unit: (Instr + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/1600_L1_cache.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/1600_L1_cache.yaml deleted file mode 100644 index cac92b1f2b..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/1600_L1_cache.yaml +++ /dev/null @@ -1,404 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1600 - title: Vector L1 Data Cache - data source: - - metric_table: - id: 1601 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - tips: Tips - style: - type: simple_bar - range_color: [1, 100] - label_txt: (%) - xrange: [0, 110] - metric: - Buffer Coalescing: - value: AVG(((((TA_TOTAL_WAVEFRONTS_sum * 64) * 100) / (TCP_TOTAL_ACCESSES_sum - * 4)) if (TCP_TOTAL_ACCESSES_sum != 0) else None)) - unit: Pct of Peak - tips: - Cache Util: - value: AVG((((TCP_GATE_EN2_sum * 100) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - unit: Pct of Peak - tips: - Cache BW: - value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs)))) - / ((($sclk / 1000) * 64) * $numCU)) - unit: Pct of Peak - tips: - Cache Hit: - value: 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)) - / TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - unit: Pct of Peak - tips: - - - metric_table: - id: 1602 - title: L1D Cache Stalls - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Stalled on L2 Data: - avg: AVG((((100 * TCP_PENDING_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - min: MIN((((100 * TCP_PENDING_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - max: MAX((((100 * TCP_PENDING_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - unit: pct - tips: - Stalled on L2 Req: - avg: AVG((((100 * TCP_TCR_TCP_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - min: MIN((((100 * TCP_TCR_TCP_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - max: MAX((((100 * TCP_TCR_TCP_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - unit: pct - tips: - Tag RAM Stall (Read): - avg: AVG((((100 * TCP_READ_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - min: MIN((((100 * TCP_READ_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - max: MAX((((100 * TCP_READ_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - unit: pct - tips: - Tag RAM Stall (Write): - avg: AVG((((100 * TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - min: MIN((((100 * TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - max: MAX((((100 * TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - unit: pct - tips: - Tag RAM Stall (Atomic): - avg: AVG((((100 * TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - min: MIN((((100 * TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - max: MAX((((100 * TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - unit: pct - tips: - - - metric_table: - id: 1603 - title: L1D Cache Accesses - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Total Req: - avg: AVG((TCP_TOTAL_ACCESSES_sum / $denom)) - min: MIN((TCP_TOTAL_ACCESSES_sum / $denom)) - max: MAX((TCP_TOTAL_ACCESSES_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read Req: - avg: AVG((TCP_TOTAL_READ_sum / $denom)) - min: MIN((TCP_TOTAL_READ_sum / $denom)) - max: MAX((TCP_TOTAL_READ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write Req: - avg: AVG((TCP_TOTAL_WRITE_sum / $denom)) - min: MIN((TCP_TOTAL_WRITE_sum / $denom)) - max: MAX((TCP_TOTAL_WRITE_sum / $denom)) - unit: (Req + $normUnit) - tips: - Atomic Req: - avg: AVG(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) - / $denom)) - min: MIN(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) - / $denom)) - max: MAX(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) - / $denom)) - unit: (Req + $normUnit) - tips: - Cache BW: - avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) - min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) - max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) - unit: GB/s - tips: - Cache Accesses: - avg: AVG((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) - min: MIN((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) - max: MAX((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) - unit: (Req + $normUnit) - tips: - Cache Hits: - avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum - (((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)) - min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum - (((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)) - max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum - (((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: (Req + $normUnit) - tips: - 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)) / - TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - min: MIN(((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)) / - TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - max: MAX(((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)) / - TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - unit: pct - tips: - Invalidate: - avg: AVG((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) - min: MIN((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) - max: MAX((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) - unit: ( + $normUnit) - tips: - 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)) - min: 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)) - max: 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)) - unit: (Bytes + $normUnit) - tips: - L1-L2 Read: - avg: AVG((TCP_TCC_READ_REQ_sum / $denom)) - min: MIN((TCP_TCC_READ_REQ_sum / $denom)) - max: MAX((TCP_TCC_READ_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - L1-L2 Write: - avg: AVG((TCP_TCC_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - L1-L2 Atomic: - avg: AVG(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - / $denom)) - min: MIN(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - / $denom)) - max: MAX(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - / $denom)) - unit: (Req + $normUnit) - tips: - L1 Access Latency: - avg: AVG(((TCP_TCP_LATENCY_sum / TCP_TA_TCP_STATE_READ_sum) if (TCP_TA_TCP_STATE_READ_sum - != 0) else None)) - min: MIN(((TCP_TCP_LATENCY_sum / TCP_TA_TCP_STATE_READ_sum) if (TCP_TA_TCP_STATE_READ_sum - != 0) else None)) - max: MAX(((TCP_TCP_LATENCY_sum / TCP_TA_TCP_STATE_READ_sum) if (TCP_TA_TCP_STATE_READ_sum - != 0) else None)) - unit: Cycles - tips: - L1-L2 Read Latency: - avg: AVG(((TCP_TCC_READ_REQ_LATENCY_sum / (TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)) - if ((TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) != 0) else None)) - min: MIN(((TCP_TCC_READ_REQ_LATENCY_sum / (TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)) - if ((TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) != 0) else None)) - max: MAX(((TCP_TCC_READ_REQ_LATENCY_sum / (TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)) - if ((TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) != 0) else None)) - unit: Cycles - tips: - L1-L2 Write Latency: - avg: AVG(((TCP_TCC_WRITE_REQ_LATENCY_sum / (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) - if ((TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) != 0) else - None)) - min: MIN(((TCP_TCC_WRITE_REQ_LATENCY_sum / (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) - if ((TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) != 0) else - None)) - max: MAX(((TCP_TCC_WRITE_REQ_LATENCY_sum / (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) - if ((TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) != 0) else - None)) - unit: Cycles - tips: - - - metric_table: - id: 1604 - title: L1D - L2 Transactions - header: - metric: Metric - xfer: Xfer - coherency: Coherency - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - style: - type: simple_multi_bar - metric: - NC - Read: - xfer: Read - coherency: NC - avg: AVG((TCP_TCC_NC_READ_REQ_sum / $denom)) - min: MIN((TCP_TCC_NC_READ_REQ_sum / $denom)) - max: MAX((TCP_TCC_NC_READ_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - UC - Read: - xfer: Read - coherency: UC - avg: AVG((TCP_TCC_UC_READ_REQ_sum / $denom)) - min: MIN((TCP_TCC_UC_READ_REQ_sum / $denom)) - max: MAX((TCP_TCC_UC_READ_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - CC - Read: - xfer: Read - coherency: CC - avg: AVG((TCP_TCC_CC_READ_REQ_sum / $denom)) - min: MIN((TCP_TCC_CC_READ_REQ_sum / $denom)) - max: MAX((TCP_TCC_CC_READ_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - RW - Read: - xfer: Read - coherency: RW - avg: AVG((TCP_TCC_RW_READ_REQ_sum / $denom)) - min: MIN((TCP_TCC_RW_READ_REQ_sum / $denom)) - max: MAX((TCP_TCC_RW_READ_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - RW - Write: - xfer: Write - coherency: RW - avg: AVG((TCP_TCC_RW_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_RW_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_RW_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - NC - Write: - xfer: Write - coherency: NC - avg: AVG((TCP_TCC_NC_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_NC_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_NC_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - UC - Write: - xfer: Write - coherency: UC - avg: AVG((TCP_TCC_UC_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_UC_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_UC_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - CC - Write: - xfer: Write - coherency: CC - avg: AVG((TCP_TCC_CC_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_CC_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_CC_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - NC - Atomic: - xfer: Atomic - coherency: NC - avg: AVG((TCP_TCC_NC_ATOMIC_REQ_sum / $denom)) - min: MIN((TCP_TCC_NC_ATOMIC_REQ_sum / $denom)) - max: MAX((TCP_TCC_NC_ATOMIC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - UC - Atomic: - xfer: Atomic - coherency: UC - avg: AVG((TCP_TCC_UC_ATOMIC_REQ_sum / $denom)) - min: MIN((TCP_TCC_UC_ATOMIC_REQ_sum / $denom)) - max: MAX((TCP_TCC_UC_ATOMIC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - CC - Atomic: - xfer: Atomic - coherency: CC - avg: AVG((TCP_TCC_CC_ATOMIC_REQ_sum / $denom)) - min: MIN((TCP_TCC_CC_ATOMIC_REQ_sum / $denom)) - max: MAX((TCP_TCC_CC_ATOMIC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - RW - Atomic: - xfer: Atomic - coherency: RW - avg: AVG((TCP_TCC_RW_ATOMIC_REQ_sum / $denom)) - min: MIN((TCP_TCC_RW_ATOMIC_REQ_sum / $denom)) - max: MAX((TCP_TCC_RW_ATOMIC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - - - metric_table: - id: 1605 - title: L1D Addr Translation - header: - metric: Metric - avg: Avg - min: Min - max: Max - units: Units - tips: Tips - metric: - Req: - avg: AVG((TCP_UTCL1_REQUEST_sum / $denom)) - min: MIN((TCP_UTCL1_REQUEST_sum / $denom)) - max: MAX((TCP_UTCL1_REQUEST_sum / $denom)) - units: (Req + $normUnit) - tips: - Hit Ratio: - avg: AVG((((100 * TCP_UTCL1_TRANSLATION_HIT_sum) / TCP_UTCL1_REQUEST_sum) if - (TCP_UTCL1_REQUEST_sum != 0) else None)) - min: MIN((((100 * TCP_UTCL1_TRANSLATION_HIT_sum) / TCP_UTCL1_REQUEST_sum) if - (TCP_UTCL1_REQUEST_sum != 0) else None)) - max: MAX((((100 * TCP_UTCL1_TRANSLATION_HIT_sum) / TCP_UTCL1_REQUEST_sum) if - (TCP_UTCL1_REQUEST_sum != 0) else None)) - units: pct - tips: - Hits: - avg: AVG((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) - min: MIN((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) - max: MAX((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) - units: (Hits + $normUnit) - tips: - Misses (Translation): - avg: AVG((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) - min: MIN((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) - max: MAX((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) - units: (Misses + $normUnit) - tips: - Misses (Permission): - avg: AVG((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) - min: MIN((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) - max: MAX((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) - units: (Misses + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/1700_L2_cache.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/1700_L2_cache.yaml deleted file mode 100644 index 0c7b03811a..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/1700_L2_cache.yaml +++ /dev/null @@ -1,364 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1700 - title: L2 Cache - data source: - - metric_table: - id: 1701 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - tips: Tips - style: - type: simple_bar - metric: - L2 Util: - value: AVG(((TCC_BUSY_sum * 100) / (TO_INT($L2Banks) * GRBM_GUI_ACTIVE))) - unit: pct - tips: - Cache Hit: - value: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else 0)) - unit: pct - tips: - L2-EA Rd BW: - value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / (EndNs - BeginNs))) - unit: GB/s - tips: - L2-EA Wr BW: - value: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / (EndNs - BeginNs))) - unit: GB/s - tips: - - - metric_table: - id: 1702 - title: L2 - Fabric Transactions - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Read BW: - avg: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / $denom)) - min: MIN((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / $denom)) - max: MAX((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / $denom)) - unit: (Bytes + $normUnit) - tips: - Write BW: - avg: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / $denom)) - min: MIN((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / $denom)) - max: MAX((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / $denom)) - unit: (Bytes + $normUnit) - tips: - Read (32B): - avg: AVG((TCC_EA_RDREQ_32B_sum / $denom)) - min: MIN((TCC_EA_RDREQ_32B_sum / $denom)) - max: MAX((TCC_EA_RDREQ_32B_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read (Uncached 32B): - avg: AVG((TCC_EA_RD_UNCACHED_32B_sum / $denom)) - min: MIN((TCC_EA_RD_UNCACHED_32B_sum / $denom)) - max: MAX((TCC_EA_RD_UNCACHED_32B_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read (64B): - avg: AVG(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) - min: MIN(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) - max: MAX(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) - unit: (Req + $normUnit) - tips: - HBM Read: - avg: AVG((TCC_EA_RDREQ_DRAM_sum / $denom)) - min: MIN((TCC_EA_RDREQ_DRAM_sum / $denom)) - max: MAX((TCC_EA_RDREQ_DRAM_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write (32B): - avg: AVG(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom)) - min: MIN(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom)) - max: MAX(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom)) - unit: (Req + $normUnit) - tips: - Write (Uncached 32B): - avg: AVG((TCC_EA_WR_UNCACHED_32B_sum / $denom)) - min: MIN((TCC_EA_WR_UNCACHED_32B_sum / $denom)) - max: MAX((TCC_EA_WR_UNCACHED_32B_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write (64B): - avg: AVG((TCC_EA_WRREQ_64B_sum / $denom)) - min: MIN((TCC_EA_WRREQ_64B_sum / $denom)) - max: MAX((TCC_EA_WRREQ_64B_sum / $denom)) - unit: (Req + $normUnit) - tips: - HBM Write: - avg: AVG((TCC_EA_WRREQ_DRAM_sum / $denom)) - min: MIN((TCC_EA_WRREQ_DRAM_sum / $denom)) - max: MAX((TCC_EA_WRREQ_DRAM_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read Latency: - avg: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != - 0) else None)) - min: MIN(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != - 0) else None)) - max: MAX(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != - 0) else None)) - unit: Cycles - tips: - Write Latency: - avg: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != - 0) else None)) - min: MIN(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != - 0) else None)) - max: MAX(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != - 0) else None)) - unit: Cycles - tips: - Atomic Latency: - avg: AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum - != 0) else None)) - min: MIN(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum - != 0) else None)) - max: MAX(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum - != 0) else None)) - unit: Cycles - tips: - Read Stall: - avg: AVG((((100 * ((TCC_EA_RDREQ_IO_CREDIT_STALL_sum + TCC_EA_RDREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - min: MIN((((100 * ((TCC_EA_RDREQ_IO_CREDIT_STALL_sum + TCC_EA_RDREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - max: MAX((((100 * ((TCC_EA_RDREQ_IO_CREDIT_STALL_sum + TCC_EA_RDREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - unit: pct - tips: - Write Stall: - avg: AVG((((100 * ((TCC_EA_WRREQ_IO_CREDIT_STALL_sum + TCC_EA_WRREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - min: MIN((((100 * ((TCC_EA_WRREQ_IO_CREDIT_STALL_sum + TCC_EA_WRREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - max: MAX((((100 * ((TCC_EA_WRREQ_IO_CREDIT_STALL_sum + TCC_EA_WRREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - unit: pct - tips: - - - metric_table: - id: 1703 - title: L2 Cache Accesses - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Req: - avg: AVG((TCC_REQ_sum / $denom)) - min: MIN((TCC_REQ_sum / $denom)) - max: MAX((TCC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Streaming Req: - avg: AVG((TCC_STREAMING_REQ_sum / $denom)) - min: MIN((TCC_STREAMING_REQ_sum / $denom)) - max: MAX((TCC_STREAMING_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read Req: - avg: AVG((TCC_READ_sum / $denom)) - min: MIN((TCC_READ_sum / $denom)) - max: MAX((TCC_READ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write Req: - avg: AVG((TCC_WRITE_sum / $denom)) - min: MIN((TCC_WRITE_sum / $denom)) - max: MAX((TCC_WRITE_sum / $denom)) - unit: (Req + $normUnit) - tips: - Atomic Req: - avg: AVG((TCC_ATOMIC_sum / $denom)) - min: MIN((TCC_ATOMIC_sum / $denom)) - max: MAX((TCC_ATOMIC_sum / $denom)) - unit: (Req + $normUnit) - tips: - Probe Req: - avg: AVG((TCC_PROBE_sum / $denom)) - min: MIN((TCC_PROBE_sum / $denom)) - max: MAX((TCC_PROBE_sum / $denom)) - unit: (Req + $normUnit) - tips: - Hits: - avg: AVG((TCC_HIT_sum / $denom)) - min: MIN((TCC_HIT_sum / $denom)) - max: MAX((TCC_HIT_sum / $denom)) - unit: (Hits + $normUnit) - tips: - Misses: - avg: AVG((TCC_MISS_sum / $denom)) - min: MIN((TCC_MISS_sum / $denom)) - max: MAX((TCC_MISS_sum / $denom)) - unit: (Misses + $normUnit) - tips: - Cache Hit: - avg: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - min: MIN((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - max: MAX((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - unit: pct - tips: - Writeback: - avg: AVG((TCC_WRITEBACK_sum / $denom)) - min: MIN((TCC_WRITEBACK_sum / $denom)) - max: MAX((TCC_WRITEBACK_sum / $denom)) - unit: ( + $normUnit) - tips: - NC Req: - avg: AVG((TCC_NC_REQ_sum / $denom)) - min: MIN((TCC_NC_REQ_sum / $denom)) - max: MAX((TCC_NC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - UC Req: - avg: AVG((TCC_UC_REQ_sum / $denom)) - min: MIN((TCC_UC_REQ_sum / $denom)) - max: MAX((TCC_UC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - CC Req: - avg: AVG((TCC_CC_REQ_sum / $denom)) - min: MIN((TCC_CC_REQ_sum / $denom)) - max: MAX((TCC_CC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - RW Req: - avg: AVG((TCC_RW_REQ_sum / $denom)) - min: MIN((TCC_RW_REQ_sum / $denom)) - max: MAX((TCC_RW_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Writeback (Normal): - avg: AVG((TCC_NORMAL_WRITEBACK_sum / $denom)) - min: MIN((TCC_NORMAL_WRITEBACK_sum / $denom)) - max: MAX((TCC_NORMAL_WRITEBACK_sum / $denom)) - unit: ( + $normUnit) - tips: - Writeback (TC Req): - avg: AVG((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom)) - min: MIN((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom)) - max: MAX((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom)) - unit: ( + $normUnit) - tips: - Evict (Normal): - avg: AVG((TCC_NORMAL_EVICT_sum / $denom)) - min: MIN((TCC_NORMAL_EVICT_sum / $denom)) - max: MAX((TCC_NORMAL_EVICT_sum / $denom)) - unit: ( + $normUnit) - tips: - Evict (TC Req): - avg: AVG((TCC_ALL_TC_OP_INV_EVICT_sum / $denom)) - min: MIN((TCC_ALL_TC_OP_INV_EVICT_sum / $denom)) - max: MAX((TCC_ALL_TC_OP_INV_EVICT_sum / $denom)) - unit: ( + $normUnit) - tips: - - - metric_table: - id: 1704 - title: L2 - EA Interface Stalls - header: - metric: Metric - type: Type - transaction: Transaction - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - style: - type: simple_multi_bar - metric: - Read - Remote Socket Stall: - type: Remote Socket Stall - transaction: Read - avg: AVG((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read - Peer GCD Stall: - type: Peer GCD Stall - transaction: Read - avg: AVG((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read - HBM Stall: - type: HBM Stall - transaction: Read - avg: AVG((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write - Remote Socket Stall: - type: Remote Socket Stall - transaction: Write - avg: AVG((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write - Peer GCD Stall: - type: Peer GCD Stall - transaction: Write - avg: AVG((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write - HBM Stall: - type: HBM Stall - transaction: Write - avg: AVG((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write - Credit Starvation: - type: Credit Starvation - transaction: Write - avg: AVG((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) - min: MIN((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) - max: MAX((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/1800_L2_cache_per_channel.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/1800_L2_cache_per_channel.yaml deleted file mode 100644 index 45f8abb413..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/1800_L2_cache_per_channel.yaml +++ /dev/null @@ -1,2297 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1800 - title: L2 Cache (per Channel) - data source: - - metric_table: - id: 1801 - title: Aggregate Stats (All 32 channels) - header: - metric: Metric - avg: Avg - std dev: Std Dev - min: Min - max: Max - unit: Unit - tips: Tips - metric: - L2 Cache Hit Rate: - avg: AVG(((((((((((((((((((((((((((((((((((100 * TCC_HIT[0]) + (100 * TCC_HIT[1])) - + (100 * TCC_HIT[2])) + (100 * TCC_HIT[3])) + (100 * TCC_HIT[4])) + (100 * - TCC_HIT[5])) + (100 * TCC_HIT[6])) + (100 * TCC_HIT[7])) + (100 * TCC_HIT[8])) - + (100 * TCC_HIT[9])) + (100 * TCC_HIT[10])) + (100 * TCC_HIT[11])) + (100 - * TCC_HIT[12])) + (100 * TCC_HIT[13])) + (100 * TCC_HIT[14])) + (100 * TCC_HIT[15])) - + (100 * TCC_HIT[16])) + (100 * TCC_HIT[17])) + (100 * TCC_HIT[18])) + (100 - * TCC_HIT[19])) + (100 * TCC_HIT[20])) + (100 * TCC_HIT[21])) + (100 * TCC_HIT[22])) - + (100 * TCC_HIT[23])) + (100 * TCC_HIT[24])) + (100 * TCC_HIT[25])) + (100 - * TCC_HIT[26])) + (100 * TCC_HIT[27])) + (100 * TCC_HIT[28])) + (100 * TCC_HIT[29])) - + (100 * TCC_HIT[30])) + (100 * TCC_HIT[31])) / ((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31]))) if (((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[29] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31])) != 0) else None)) - std dev: STD(((((((((((((((((((((((((((((((((((100 * TCC_HIT[0]) + (100 * TCC_HIT[1])) - + (100 * TCC_HIT[2])) + (100 * TCC_HIT[3])) + (100 * TCC_HIT[4])) + (100 * - TCC_HIT[5])) + (100 * TCC_HIT[6])) + (100 * TCC_HIT[7])) + (100 * TCC_HIT[8])) - + (100 * TCC_HIT[9])) + (100 * TCC_HIT[10])) + (100 * TCC_HIT[11])) + (100 - * TCC_HIT[12])) + (100 * TCC_HIT[13])) + (100 * TCC_HIT[14])) + (100 * TCC_HIT[15])) - + (100 * TCC_HIT[16])) + (100 * TCC_HIT[17])) + (100 * TCC_HIT[18])) + (100 - * TCC_HIT[19])) + (100 * TCC_HIT[20])) + (100 * TCC_HIT[21])) + (100 * TCC_HIT[22])) - + (100 * TCC_HIT[23])) + (100 * TCC_HIT[24])) + (100 * TCC_HIT[25])) + (100 - * TCC_HIT[26])) + (100 * TCC_HIT[27])) + (100 * TCC_HIT[28])) + (100 * TCC_HIT[29])) - + (100 * TCC_HIT[30])) + (100 * TCC_HIT[31])) / ((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31]))) if (((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31])) != 0) else None)) - min: MIN(((((((((((((((((((((((((((((((((((100 * TCC_HIT[0]) + (100 * TCC_HIT[1])) - + (100 * TCC_HIT[2])) + (100 * TCC_HIT[3])) + (100 * TCC_HIT[4])) + (100 * - TCC_HIT[5])) + (100 * TCC_HIT[6])) + (100 * TCC_HIT[7])) + (100 * TCC_HIT[8])) - + (100 * TCC_HIT[9])) + (100 * TCC_HIT[10])) + (100 * TCC_HIT[11])) + (100 - * TCC_HIT[12])) + (100 * TCC_HIT[13])) + (100 * TCC_HIT[14])) + (100 * TCC_HIT[15])) - + (100 * TCC_HIT[16])) + (100 * TCC_HIT[17])) + (100 * TCC_HIT[18])) + (100 - * TCC_HIT[19])) + (100 * TCC_HIT[20])) + (100 * TCC_HIT[21])) + (100 * TCC_HIT[22])) - + (100 * TCC_HIT[23])) + (100 * TCC_HIT[24])) + (100 * TCC_HIT[25])) + (100 - * TCC_HIT[26])) + (100 * TCC_HIT[27])) + (100 * TCC_HIT[28])) + (100 * TCC_HIT[29])) - + (100 * TCC_HIT[30])) + (100 * TCC_HIT[31])) / ((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31]))) if (((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31])) != 0) else None)) - max: MAX(((((((((((((((((((((((((((((((((((100 * TCC_HIT[0]) + (100 * TCC_HIT[1])) - + (100 * TCC_HIT[2])) + (100 * TCC_HIT[3])) + (100 * TCC_HIT[4])) + (100 * - TCC_HIT[5])) + (100 * TCC_HIT[6])) + (100 * TCC_HIT[7])) + (100 * TCC_HIT[8])) - + (100 * TCC_HIT[9])) + (100 * TCC_HIT[10])) + (100 * TCC_HIT[11])) + (100 - * TCC_HIT[12])) + (100 * TCC_HIT[13])) + (100 * TCC_HIT[14])) + (100 * TCC_HIT[15])) - + (100 * TCC_HIT[16])) + (100 * TCC_HIT[17])) + (100 * TCC_HIT[18])) + (100 - * TCC_HIT[19])) + (100 * TCC_HIT[20])) + (100 * TCC_HIT[21])) + (100 * TCC_HIT[22])) - + (100 * TCC_HIT[23])) + (100 * TCC_HIT[24])) + (100 * TCC_HIT[25])) + (100 - * TCC_HIT[26])) + (100 * TCC_HIT[27])) + (100 * TCC_HIT[28])) + (100 * TCC_HIT[29])) - + (100 * TCC_HIT[30])) + (100 * TCC_HIT[31])) / ((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31]))) if (((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31])) != 0) else None)) - unit: pct - tips: - Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_REQ[0]) + TO_INT(TCC_REQ[1])) - + TO_INT(TCC_REQ[2])) + TO_INT(TCC_REQ[3])) + TO_INT(TCC_REQ[4])) + TO_INT(TCC_REQ[5])) - + TO_INT(TCC_REQ[6])) + TO_INT(TCC_REQ[7])) + TO_INT(TCC_REQ[8])) + TO_INT(TCC_REQ[9])) - + TO_INT(TCC_REQ[10])) + TO_INT(TCC_REQ[11])) + TO_INT(TCC_REQ[12])) + TO_INT(TCC_REQ[13])) - + TO_INT(TCC_REQ[14])) + TO_INT(TCC_REQ[15])) + TO_INT(TCC_REQ[16])) + TO_INT(TCC_REQ[17])) - + TO_INT(TCC_REQ[18])) + TO_INT(TCC_REQ[19])) + TO_INT(TCC_REQ[20])) + TO_INT(TCC_REQ[21])) - + TO_INT(TCC_REQ[22])) + TO_INT(TCC_REQ[23])) + TO_INT(TCC_REQ[24])) + TO_INT(TCC_REQ[25])) - + TO_INT(TCC_REQ[26])) + TO_INT(TCC_REQ[27])) + TO_INT(TCC_REQ[28])) + TO_INT(TCC_REQ[29])) - + TO_INT(TCC_REQ[30])) + TO_INT(TCC_REQ[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_REQ[0]) + TO_INT(TCC_REQ[1])) - + TO_INT(TCC_REQ[2])) + TO_INT(TCC_REQ[3])) + TO_INT(TCC_REQ[4])) + TO_INT(TCC_REQ[5])) - + TO_INT(TCC_REQ[6])) + TO_INT(TCC_REQ[7])) + TO_INT(TCC_REQ[8])) + TO_INT(TCC_REQ[9])) - + TO_INT(TCC_REQ[10])) + TO_INT(TCC_REQ[11])) + TO_INT(TCC_REQ[12])) + TO_INT(TCC_REQ[13])) - + TO_INT(TCC_REQ[14])) + TO_INT(TCC_REQ[15])) + TO_INT(TCC_REQ[16])) + TO_INT(TCC_REQ[17])) - + TO_INT(TCC_REQ[18])) + TO_INT(TCC_REQ[19])) + TO_INT(TCC_REQ[20])) + TO_INT(TCC_REQ[21])) - + TO_INT(TCC_REQ[22])) + TO_INT(TCC_REQ[23])) + TO_INT(TCC_REQ[24])) + TO_INT(TCC_REQ[25])) - + TO_INT(TCC_REQ[26])) + TO_INT(TCC_REQ[27])) + TO_INT(TCC_REQ[28])) + TO_INT(TCC_REQ[29])) - + TO_INT(TCC_REQ[30])) + TO_INT(TCC_REQ[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_REQ[0]) + TO_INT(TCC_REQ[1])) - + TO_INT(TCC_REQ[2])) + TO_INT(TCC_REQ[3])) + TO_INT(TCC_REQ[4])) + TO_INT(TCC_REQ[5])) - + TO_INT(TCC_REQ[6])) + TO_INT(TCC_REQ[7])) + TO_INT(TCC_REQ[8])) + TO_INT(TCC_REQ[9])) - + TO_INT(TCC_REQ[10])) + TO_INT(TCC_REQ[11])) + TO_INT(TCC_REQ[12])) + TO_INT(TCC_REQ[13])) - + TO_INT(TCC_REQ[14])) + TO_INT(TCC_REQ[15])) + TO_INT(TCC_REQ[16])) + TO_INT(TCC_REQ[17])) - + TO_INT(TCC_REQ[18])) + TO_INT(TCC_REQ[19])) + TO_INT(TCC_REQ[20])) + TO_INT(TCC_REQ[21])) - + TO_INT(TCC_REQ[22])) + TO_INT(TCC_REQ[23])) + TO_INT(TCC_REQ[24])) + TO_INT(TCC_REQ[25])) - + TO_INT(TCC_REQ[26])) + TO_INT(TCC_REQ[27])) + TO_INT(TCC_REQ[28])) + TO_INT(TCC_REQ[29])) - + TO_INT(TCC_REQ[30])) + TO_INT(TCC_REQ[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_REQ[0]) + TO_INT(TCC_REQ[1])) - + TO_INT(TCC_REQ[2])) + TO_INT(TCC_REQ[3])) + TO_INT(TCC_REQ[4])) + TO_INT(TCC_REQ[5])) - + TO_INT(TCC_REQ[6])) + TO_INT(TCC_REQ[7])) + TO_INT(TCC_REQ[8])) + TO_INT(TCC_REQ[9])) - + TO_INT(TCC_REQ[10])) + TO_INT(TCC_REQ[11])) + TO_INT(TCC_REQ[12])) + TO_INT(TCC_REQ[13])) - + TO_INT(TCC_REQ[14])) + TO_INT(TCC_REQ[15])) + TO_INT(TCC_REQ[16])) + TO_INT(TCC_REQ[17])) - + TO_INT(TCC_REQ[18])) + TO_INT(TCC_REQ[19])) + TO_INT(TCC_REQ[20])) + TO_INT(TCC_REQ[21])) - + TO_INT(TCC_REQ[22])) + TO_INT(TCC_REQ[23])) + TO_INT(TCC_REQ[24])) + TO_INT(TCC_REQ[25])) - + TO_INT(TCC_REQ[26])) + TO_INT(TCC_REQ[27])) + TO_INT(TCC_REQ[28])) + TO_INT(TCC_REQ[29])) - + TO_INT(TCC_REQ[30])) + TO_INT(TCC_REQ[31])) / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L1 - L2 Read Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_READ[0]) + TO_INT(TCC_READ[1])) - + TO_INT(TCC_READ[2])) + TO_INT(TCC_READ[3])) + TO_INT(TCC_READ[4])) + TO_INT(TCC_READ[5])) - + TO_INT(TCC_READ[6])) + TO_INT(TCC_READ[7])) + TO_INT(TCC_READ[8])) + TO_INT(TCC_READ[9])) - + TO_INT(TCC_READ[10])) + TO_INT(TCC_READ[11])) + TO_INT(TCC_READ[12])) + - TO_INT(TCC_READ[13])) + TO_INT(TCC_READ[14])) + TO_INT(TCC_READ[15])) + TO_INT(TCC_READ[16])) - + TO_INT(TCC_READ[17])) + TO_INT(TCC_READ[18])) + TO_INT(TCC_READ[19])) + - TO_INT(TCC_READ[20])) + TO_INT(TCC_READ[21])) + TO_INT(TCC_READ[22])) + TO_INT(TCC_READ[23])) - + TO_INT(TCC_READ[24])) + TO_INT(TCC_READ[25])) + TO_INT(TCC_READ[26])) + - TO_INT(TCC_READ[27])) + TO_INT(TCC_READ[28])) + TO_INT(TCC_READ[29])) + TO_INT(TCC_READ[30])) - + TO_INT(TCC_READ[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_READ[0]) + TO_INT(TCC_READ[1])) - + TO_INT(TCC_READ[2])) + TO_INT(TCC_READ[3])) + TO_INT(TCC_READ[4])) + TO_INT(TCC_READ[5])) - + TO_INT(TCC_READ[6])) + TO_INT(TCC_READ[7])) + TO_INT(TCC_READ[8])) + TO_INT(TCC_READ[9])) - + TO_INT(TCC_READ[10])) + TO_INT(TCC_READ[11])) + TO_INT(TCC_READ[12])) + - TO_INT(TCC_READ[13])) + TO_INT(TCC_READ[14])) + TO_INT(TCC_READ[15])) + TO_INT(TCC_READ[16])) - + TO_INT(TCC_READ[17])) + TO_INT(TCC_READ[18])) + TO_INT(TCC_READ[19])) + - TO_INT(TCC_READ[20])) + TO_INT(TCC_READ[21])) + TO_INT(TCC_READ[22])) + TO_INT(TCC_READ[23])) - + TO_INT(TCC_READ[24])) + TO_INT(TCC_READ[25])) + TO_INT(TCC_READ[26])) + - TO_INT(TCC_READ[27])) + TO_INT(TCC_READ[28])) + TO_INT(TCC_READ[29])) + TO_INT(TCC_READ[30])) - + TO_INT(TCC_READ[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_READ[0]) + TO_INT(TCC_READ[1])) - + TO_INT(TCC_READ[2])) + TO_INT(TCC_READ[3])) + TO_INT(TCC_READ[4])) + TO_INT(TCC_READ[5])) - + TO_INT(TCC_READ[6])) + TO_INT(TCC_READ[7])) + TO_INT(TCC_READ[8])) + TO_INT(TCC_READ[9])) - + TO_INT(TCC_READ[10])) + TO_INT(TCC_READ[11])) + TO_INT(TCC_READ[12])) + - TO_INT(TCC_READ[13])) + TO_INT(TCC_READ[14])) + TO_INT(TCC_READ[15])) + TO_INT(TCC_READ[16])) - + TO_INT(TCC_READ[17])) + TO_INT(TCC_READ[18])) + TO_INT(TCC_READ[19])) + - TO_INT(TCC_READ[20])) + TO_INT(TCC_READ[21])) + TO_INT(TCC_READ[22])) + TO_INT(TCC_READ[23])) - + TO_INT(TCC_READ[24])) + TO_INT(TCC_READ[25])) + TO_INT(TCC_READ[26])) + - TO_INT(TCC_READ[27])) + TO_INT(TCC_READ[28])) + TO_INT(TCC_READ[29])) + TO_INT(TCC_READ[30])) - + TO_INT(TCC_READ[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_READ[0]) + TO_INT(TCC_READ[1])) - + TO_INT(TCC_READ[2])) + TO_INT(TCC_READ[3])) + TO_INT(TCC_READ[4])) + TO_INT(TCC_READ[5])) - + TO_INT(TCC_READ[6])) + TO_INT(TCC_READ[7])) + TO_INT(TCC_READ[8])) + TO_INT(TCC_READ[9])) - + TO_INT(TCC_READ[10])) + TO_INT(TCC_READ[11])) + TO_INT(TCC_READ[12])) + - TO_INT(TCC_READ[13])) + TO_INT(TCC_READ[14])) + TO_INT(TCC_READ[15])) + TO_INT(TCC_READ[16])) - + TO_INT(TCC_READ[17])) + TO_INT(TCC_READ[18])) + TO_INT(TCC_READ[19])) + - TO_INT(TCC_READ[20])) + TO_INT(TCC_READ[21])) + TO_INT(TCC_READ[22])) + TO_INT(TCC_READ[23])) - + TO_INT(TCC_READ[24])) + TO_INT(TCC_READ[25])) + TO_INT(TCC_READ[26])) + - TO_INT(TCC_READ[27])) + TO_INT(TCC_READ[28])) + TO_INT(TCC_READ[29])) + TO_INT(TCC_READ[30])) - + TO_INT(TCC_READ[31])) / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L1 - L2 Write Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_WRITE[0]) + TO_INT(TCC_WRITE[1])) - + TO_INT(TCC_WRITE[2])) + TO_INT(TCC_WRITE[3])) + TO_INT(TCC_WRITE[4])) + - TO_INT(TCC_WRITE[5])) + TO_INT(TCC_WRITE[6])) + TO_INT(TCC_WRITE[7])) + TO_INT(TCC_WRITE[8])) - + TO_INT(TCC_WRITE[9])) + TO_INT(TCC_WRITE[10])) + TO_INT(TCC_WRITE[11])) - + TO_INT(TCC_WRITE[12])) + TO_INT(TCC_WRITE[13])) + TO_INT(TCC_WRITE[14])) - + TO_INT(TCC_WRITE[15])) + TO_INT(TCC_WRITE[16])) + TO_INT(TCC_WRITE[17])) - + TO_INT(TCC_WRITE[18])) + TO_INT(TCC_WRITE[19])) + TO_INT(TCC_WRITE[20])) - + TO_INT(TCC_WRITE[21])) + TO_INT(TCC_WRITE[22])) + TO_INT(TCC_WRITE[23])) - + TO_INT(TCC_WRITE[24])) + TO_INT(TCC_WRITE[25])) + TO_INT(TCC_WRITE[26])) - + TO_INT(TCC_WRITE[27])) + TO_INT(TCC_WRITE[28])) + TO_INT(TCC_WRITE[29])) - + TO_INT(TCC_WRITE[30])) + TO_INT(TCC_WRITE[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_WRITE[0]) + TO_INT(TCC_WRITE[1])) - + TO_INT(TCC_WRITE[2])) + TO_INT(TCC_WRITE[3])) + TO_INT(TCC_WRITE[4])) + - TO_INT(TCC_WRITE[5])) + TO_INT(TCC_WRITE[6])) + TO_INT(TCC_WRITE[7])) + TO_INT(TCC_WRITE[8])) - + TO_INT(TCC_WRITE[9])) + TO_INT(TCC_WRITE[10])) + TO_INT(TCC_WRITE[11])) - + TO_INT(TCC_WRITE[12])) + TO_INT(TCC_WRITE[13])) + TO_INT(TCC_WRITE[14])) - + TO_INT(TCC_WRITE[15])) + TO_INT(TCC_WRITE[16])) + TO_INT(TCC_WRITE[17])) - + TO_INT(TCC_WRITE[18])) + TO_INT(TCC_WRITE[19])) + TO_INT(TCC_WRITE[20])) - + TO_INT(TCC_WRITE[21])) + TO_INT(TCC_WRITE[22])) + TO_INT(TCC_WRITE[23])) - + TO_INT(TCC_WRITE[24])) + TO_INT(TCC_WRITE[25])) + TO_INT(TCC_WRITE[26])) - + TO_INT(TCC_WRITE[27])) + TO_INT(TCC_WRITE[28])) + TO_INT(TCC_WRITE[29])) - + TO_INT(TCC_WRITE[30])) + TO_INT(TCC_WRITE[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_WRITE[0]) + TO_INT(TCC_WRITE[1])) - + TO_INT(TCC_WRITE[2])) + TO_INT(TCC_WRITE[3])) + TO_INT(TCC_WRITE[4])) + - TO_INT(TCC_WRITE[5])) + TO_INT(TCC_WRITE[6])) + TO_INT(TCC_WRITE[7])) + TO_INT(TCC_WRITE[8])) - + TO_INT(TCC_WRITE[9])) + TO_INT(TCC_WRITE[10])) + TO_INT(TCC_WRITE[11])) - + TO_INT(TCC_WRITE[12])) + TO_INT(TCC_WRITE[13])) + TO_INT(TCC_WRITE[14])) - + TO_INT(TCC_WRITE[15])) + TO_INT(TCC_WRITE[16])) + TO_INT(TCC_WRITE[17])) - + TO_INT(TCC_WRITE[18])) + TO_INT(TCC_WRITE[19])) + TO_INT(TCC_WRITE[20])) - + TO_INT(TCC_WRITE[21])) + TO_INT(TCC_WRITE[22])) + TO_INT(TCC_WRITE[23])) - + TO_INT(TCC_WRITE[24])) + TO_INT(TCC_WRITE[25])) + TO_INT(TCC_WRITE[26])) - + TO_INT(TCC_WRITE[27])) + TO_INT(TCC_WRITE[28])) + TO_INT(TCC_WRITE[29])) - + TO_INT(TCC_WRITE[30])) + TO_INT(TCC_WRITE[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_WRITE[0]) + TO_INT(TCC_WRITE[1])) - + TO_INT(TCC_WRITE[2])) + TO_INT(TCC_WRITE[3])) + TO_INT(TCC_WRITE[4])) + - TO_INT(TCC_WRITE[5])) + TO_INT(TCC_WRITE[6])) + TO_INT(TCC_WRITE[7])) + TO_INT(TCC_WRITE[8])) - + TO_INT(TCC_WRITE[9])) + TO_INT(TCC_WRITE[10])) + TO_INT(TCC_WRITE[11])) - + TO_INT(TCC_WRITE[12])) + TO_INT(TCC_WRITE[13])) + TO_INT(TCC_WRITE[14])) - + TO_INT(TCC_WRITE[15])) + TO_INT(TCC_WRITE[16])) + TO_INT(TCC_WRITE[17])) - + TO_INT(TCC_WRITE[18])) + TO_INT(TCC_WRITE[19])) + TO_INT(TCC_WRITE[20])) - + TO_INT(TCC_WRITE[21])) + TO_INT(TCC_WRITE[22])) + TO_INT(TCC_WRITE[23])) - + TO_INT(TCC_WRITE[24])) + TO_INT(TCC_WRITE[25])) + TO_INT(TCC_WRITE[26])) - + TO_INT(TCC_WRITE[27])) + TO_INT(TCC_WRITE[28])) + TO_INT(TCC_WRITE[29])) - + TO_INT(TCC_WRITE[30])) + TO_INT(TCC_WRITE[31])) / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L1 - L2 Atomic Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_ATOMIC[0]) + TO_INT(TCC_ATOMIC[1])) - + TO_INT(TCC_ATOMIC[2])) + TO_INT(TCC_ATOMIC[3])) + TO_INT(TCC_ATOMIC[4])) - + TO_INT(TCC_ATOMIC[5])) + TO_INT(TCC_ATOMIC[6])) + TO_INT(TCC_ATOMIC[7])) - + TO_INT(TCC_ATOMIC[8])) + TO_INT(TCC_ATOMIC[9])) + TO_INT(TCC_ATOMIC[10])) - + TO_INT(TCC_ATOMIC[11])) + TO_INT(TCC_ATOMIC[12])) + TO_INT(TCC_ATOMIC[13])) - + TO_INT(TCC_ATOMIC[14])) + TO_INT(TCC_ATOMIC[15])) + TO_INT(TCC_ATOMIC[16])) - + TO_INT(TCC_ATOMIC[17])) + TO_INT(TCC_ATOMIC[18])) + TO_INT(TCC_ATOMIC[19])) - + TO_INT(TCC_ATOMIC[20])) + TO_INT(TCC_ATOMIC[21])) + TO_INT(TCC_ATOMIC[22])) - + TO_INT(TCC_ATOMIC[23])) + TO_INT(TCC_ATOMIC[24])) + TO_INT(TCC_ATOMIC[25])) - + TO_INT(TCC_ATOMIC[26])) + TO_INT(TCC_ATOMIC[27])) + TO_INT(TCC_ATOMIC[28])) - + TO_INT(TCC_ATOMIC[29])) + TO_INT(TCC_ATOMIC[30])) + TO_INT(TCC_ATOMIC[31])) - / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_ATOMIC[0]) + TO_INT(TCC_ATOMIC[1])) - + TO_INT(TCC_ATOMIC[2])) + TO_INT(TCC_ATOMIC[3])) + TO_INT(TCC_ATOMIC[4])) - + TO_INT(TCC_ATOMIC[5])) + TO_INT(TCC_ATOMIC[6])) + TO_INT(TCC_ATOMIC[7])) - + TO_INT(TCC_ATOMIC[8])) + TO_INT(TCC_ATOMIC[9])) + TO_INT(TCC_ATOMIC[10])) - + TO_INT(TCC_ATOMIC[11])) + TO_INT(TCC_ATOMIC[12])) + TO_INT(TCC_ATOMIC[13])) - + TO_INT(TCC_ATOMIC[14])) + TO_INT(TCC_ATOMIC[15])) + TO_INT(TCC_ATOMIC[16])) - + TO_INT(TCC_ATOMIC[17])) + TO_INT(TCC_ATOMIC[18])) + TO_INT(TCC_ATOMIC[19])) - + TO_INT(TCC_ATOMIC[20])) + TO_INT(TCC_ATOMIC[21])) + TO_INT(TCC_ATOMIC[22])) - + TO_INT(TCC_ATOMIC[23])) + TO_INT(TCC_ATOMIC[24])) + TO_INT(TCC_ATOMIC[25])) - + TO_INT(TCC_ATOMIC[26])) + TO_INT(TCC_ATOMIC[27])) + TO_INT(TCC_ATOMIC[28])) - + TO_INT(TCC_ATOMIC[29])) + TO_INT(TCC_ATOMIC[30])) + TO_INT(TCC_ATOMIC[31])) - / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_ATOMIC[0]) + TO_INT(TCC_ATOMIC[1])) - + TO_INT(TCC_ATOMIC[2])) + TO_INT(TCC_ATOMIC[3])) + TO_INT(TCC_ATOMIC[4])) - + TO_INT(TCC_ATOMIC[5])) + TO_INT(TCC_ATOMIC[6])) + TO_INT(TCC_ATOMIC[7])) - + TO_INT(TCC_ATOMIC[8])) + TO_INT(TCC_ATOMIC[9])) + TO_INT(TCC_ATOMIC[10])) - + TO_INT(TCC_ATOMIC[11])) + TO_INT(TCC_ATOMIC[12])) + TO_INT(TCC_ATOMIC[13])) - + TO_INT(TCC_ATOMIC[14])) + TO_INT(TCC_ATOMIC[15])) + TO_INT(TCC_ATOMIC[16])) - + TO_INT(TCC_ATOMIC[17])) + TO_INT(TCC_ATOMIC[18])) + TO_INT(TCC_ATOMIC[19])) - + TO_INT(TCC_ATOMIC[20])) + TO_INT(TCC_ATOMIC[21])) + TO_INT(TCC_ATOMIC[22])) - + TO_INT(TCC_ATOMIC[23])) + TO_INT(TCC_ATOMIC[24])) + TO_INT(TCC_ATOMIC[25])) - + TO_INT(TCC_ATOMIC[26])) + TO_INT(TCC_ATOMIC[27])) + TO_INT(TCC_ATOMIC[28])) - + TO_INT(TCC_ATOMIC[29])) + TO_INT(TCC_ATOMIC[30])) + TO_INT(TCC_ATOMIC[31])) - / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_ATOMIC[0]) + TO_INT(TCC_ATOMIC[1])) - + TO_INT(TCC_ATOMIC[2])) + TO_INT(TCC_ATOMIC[3])) + TO_INT(TCC_ATOMIC[4])) - + TO_INT(TCC_ATOMIC[5])) + TO_INT(TCC_ATOMIC[6])) + TO_INT(TCC_ATOMIC[7])) - + TO_INT(TCC_ATOMIC[8])) + TO_INT(TCC_ATOMIC[9])) + TO_INT(TCC_ATOMIC[10])) - + TO_INT(TCC_ATOMIC[11])) + TO_INT(TCC_ATOMIC[12])) + TO_INT(TCC_ATOMIC[13])) - + TO_INT(TCC_ATOMIC[14])) + TO_INT(TCC_ATOMIC[15])) + TO_INT(TCC_ATOMIC[16])) - + TO_INT(TCC_ATOMIC[17])) + TO_INT(TCC_ATOMIC[18])) + TO_INT(TCC_ATOMIC[19])) - + TO_INT(TCC_ATOMIC[20])) + TO_INT(TCC_ATOMIC[21])) + TO_INT(TCC_ATOMIC[22])) - + TO_INT(TCC_ATOMIC[23])) + TO_INT(TCC_ATOMIC[24])) + TO_INT(TCC_ATOMIC[25])) - + TO_INT(TCC_ATOMIC[26])) + TO_INT(TCC_ATOMIC[27])) + TO_INT(TCC_ATOMIC[28])) - + TO_INT(TCC_ATOMIC[29])) + TO_INT(TCC_ATOMIC[30])) + TO_INT(TCC_ATOMIC[31])) - / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L2 - EA Read Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ[0]) + TO_INT(TCC_EA_RDREQ[1])) - + TO_INT(TCC_EA_RDREQ[2])) + TO_INT(TCC_EA_RDREQ[3])) + TO_INT(TCC_EA_RDREQ[4])) - + TO_INT(TCC_EA_RDREQ[5])) + TO_INT(TCC_EA_RDREQ[6])) + TO_INT(TCC_EA_RDREQ[7])) - + TO_INT(TCC_EA_RDREQ[8])) + TO_INT(TCC_EA_RDREQ[9])) + TO_INT(TCC_EA_RDREQ[10])) - + TO_INT(TCC_EA_RDREQ[11])) + TO_INT(TCC_EA_RDREQ[12])) + TO_INT(TCC_EA_RDREQ[13])) - + TO_INT(TCC_EA_RDREQ[14])) + TO_INT(TCC_EA_RDREQ[15])) + TO_INT(TCC_EA_RDREQ[16])) - + TO_INT(TCC_EA_RDREQ[17])) + TO_INT(TCC_EA_RDREQ[18])) + TO_INT(TCC_EA_RDREQ[19])) - + TO_INT(TCC_EA_RDREQ[20])) + TO_INT(TCC_EA_RDREQ[21])) + TO_INT(TCC_EA_RDREQ[22])) - + TO_INT(TCC_EA_RDREQ[23])) + TO_INT(TCC_EA_RDREQ[24])) + TO_INT(TCC_EA_RDREQ[25])) - + TO_INT(TCC_EA_RDREQ[26])) + TO_INT(TCC_EA_RDREQ[27])) + TO_INT(TCC_EA_RDREQ[28])) - + TO_INT(TCC_EA_RDREQ[29])) + TO_INT(TCC_EA_RDREQ[30])) + TO_INT(TCC_EA_RDREQ[31])) - / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ[0]) + TO_INT(TCC_EA_RDREQ[1])) - + TO_INT(TCC_EA_RDREQ[2])) + TO_INT(TCC_EA_RDREQ[3])) + TO_INT(TCC_EA_RDREQ[4])) - + TO_INT(TCC_EA_RDREQ[5])) + TO_INT(TCC_EA_RDREQ[6])) + TO_INT(TCC_EA_RDREQ[7])) - + TO_INT(TCC_EA_RDREQ[8])) + TO_INT(TCC_EA_RDREQ[9])) + TO_INT(TCC_EA_RDREQ[10])) - + TO_INT(TCC_EA_RDREQ[11])) + TO_INT(TCC_EA_RDREQ[12])) + TO_INT(TCC_EA_RDREQ[13])) - + TO_INT(TCC_EA_RDREQ[14])) + TO_INT(TCC_EA_RDREQ[15])) + TO_INT(TCC_EA_RDREQ[16])) - + TO_INT(TCC_EA_RDREQ[17])) + TO_INT(TCC_EA_RDREQ[18])) + TO_INT(TCC_EA_RDREQ[19])) - + TO_INT(TCC_EA_RDREQ[20])) + TO_INT(TCC_EA_RDREQ[21])) + TO_INT(TCC_EA_RDREQ[22])) - + TO_INT(TCC_EA_RDREQ[23])) + TO_INT(TCC_EA_RDREQ[24])) + TO_INT(TCC_EA_RDREQ[25])) - + TO_INT(TCC_EA_RDREQ[26])) + TO_INT(TCC_EA_RDREQ[27])) + TO_INT(TCC_EA_RDREQ[28])) - + TO_INT(TCC_EA_RDREQ[29])) + TO_INT(TCC_EA_RDREQ[30])) + TO_INT(TCC_EA_RDREQ[31])) - / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ[0]) + TO_INT(TCC_EA_RDREQ[1])) - + TO_INT(TCC_EA_RDREQ[2])) + TO_INT(TCC_EA_RDREQ[3])) + TO_INT(TCC_EA_RDREQ[4])) - + TO_INT(TCC_EA_RDREQ[5])) + TO_INT(TCC_EA_RDREQ[6])) + TO_INT(TCC_EA_RDREQ[7])) - + TO_INT(TCC_EA_RDREQ[8])) + TO_INT(TCC_EA_RDREQ[9])) + TO_INT(TCC_EA_RDREQ[10])) - + TO_INT(TCC_EA_RDREQ[11])) + TO_INT(TCC_EA_RDREQ[12])) + TO_INT(TCC_EA_RDREQ[13])) - + TO_INT(TCC_EA_RDREQ[14])) + TO_INT(TCC_EA_RDREQ[15])) + TO_INT(TCC_EA_RDREQ[16])) - + TO_INT(TCC_EA_RDREQ[17])) + TO_INT(TCC_EA_RDREQ[18])) + TO_INT(TCC_EA_RDREQ[19])) - + TO_INT(TCC_EA_RDREQ[20])) + TO_INT(TCC_EA_RDREQ[21])) + TO_INT(TCC_EA_RDREQ[22])) - + TO_INT(TCC_EA_RDREQ[23])) + TO_INT(TCC_EA_RDREQ[24])) + TO_INT(TCC_EA_RDREQ[25])) - + TO_INT(TCC_EA_RDREQ[26])) + TO_INT(TCC_EA_RDREQ[27])) + TO_INT(TCC_EA_RDREQ[28])) - + TO_INT(TCC_EA_RDREQ[29])) + TO_INT(TCC_EA_RDREQ[30])) + TO_INT(TCC_EA_RDREQ[31])) - / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ[0]) + TO_INT(TCC_EA_RDREQ[1])) - + TO_INT(TCC_EA_RDREQ[2])) + TO_INT(TCC_EA_RDREQ[3])) + TO_INT(TCC_EA_RDREQ[4])) - + TO_INT(TCC_EA_RDREQ[5])) + TO_INT(TCC_EA_RDREQ[6])) + TO_INT(TCC_EA_RDREQ[7])) - + TO_INT(TCC_EA_RDREQ[8])) + TO_INT(TCC_EA_RDREQ[9])) + TO_INT(TCC_EA_RDREQ[10])) - + TO_INT(TCC_EA_RDREQ[11])) + TO_INT(TCC_EA_RDREQ[12])) + TO_INT(TCC_EA_RDREQ[13])) - + TO_INT(TCC_EA_RDREQ[14])) + TO_INT(TCC_EA_RDREQ[15])) + TO_INT(TCC_EA_RDREQ[16])) - + TO_INT(TCC_EA_RDREQ[17])) + TO_INT(TCC_EA_RDREQ[18])) + TO_INT(TCC_EA_RDREQ[19])) - + TO_INT(TCC_EA_RDREQ[20])) + TO_INT(TCC_EA_RDREQ[21])) + TO_INT(TCC_EA_RDREQ[22])) - + TO_INT(TCC_EA_RDREQ[23])) + TO_INT(TCC_EA_RDREQ[24])) + TO_INT(TCC_EA_RDREQ[25])) - + TO_INT(TCC_EA_RDREQ[26])) + TO_INT(TCC_EA_RDREQ[27])) + TO_INT(TCC_EA_RDREQ[28])) - + TO_INT(TCC_EA_RDREQ[29])) + TO_INT(TCC_EA_RDREQ[30])) + TO_INT(TCC_EA_RDREQ[31])) - / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L2 - EA Write Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ[0]) + TO_INT(TCC_EA_WRREQ[1])) - + TO_INT(TCC_EA_WRREQ[2])) + TO_INT(TCC_EA_WRREQ[3])) + TO_INT(TCC_EA_WRREQ[4])) - + TO_INT(TCC_EA_WRREQ[5])) + TO_INT(TCC_EA_WRREQ[6])) + TO_INT(TCC_EA_WRREQ[7])) - + TO_INT(TCC_EA_WRREQ[8])) + TO_INT(TCC_EA_WRREQ[9])) + TO_INT(TCC_EA_WRREQ[10])) - + TO_INT(TCC_EA_WRREQ[11])) + TO_INT(TCC_EA_WRREQ[12])) + TO_INT(TCC_EA_WRREQ[13])) - + TO_INT(TCC_EA_WRREQ[14])) + TO_INT(TCC_EA_WRREQ[15])) + TO_INT(TCC_EA_WRREQ[16])) - + TO_INT(TCC_EA_WRREQ[17])) + TO_INT(TCC_EA_WRREQ[18])) + TO_INT(TCC_EA_WRREQ[19])) - + TO_INT(TCC_EA_WRREQ[20])) + TO_INT(TCC_EA_WRREQ[21])) + TO_INT(TCC_EA_WRREQ[22])) - + TO_INT(TCC_EA_WRREQ[23])) + TO_INT(TCC_EA_WRREQ[24])) + TO_INT(TCC_EA_WRREQ[25])) - + TO_INT(TCC_EA_WRREQ[26])) + TO_INT(TCC_EA_WRREQ[27])) + TO_INT(TCC_EA_WRREQ[28])) - + TO_INT(TCC_EA_WRREQ[29])) + TO_INT(TCC_EA_WRREQ[30])) + TO_INT(TCC_EA_WRREQ[31])) - / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ[0]) + TO_INT(TCC_EA_WRREQ[1])) - + TO_INT(TCC_EA_WRREQ[2])) + TO_INT(TCC_EA_WRREQ[3])) + TO_INT(TCC_EA_WRREQ[4])) - + TO_INT(TCC_EA_WRREQ[5])) + TO_INT(TCC_EA_WRREQ[6])) + TO_INT(TCC_EA_WRREQ[7])) - + TO_INT(TCC_EA_WRREQ[8])) + TO_INT(TCC_EA_WRREQ[9])) + TO_INT(TCC_EA_WRREQ[10])) - + TO_INT(TCC_EA_WRREQ[11])) + TO_INT(TCC_EA_WRREQ[12])) + TO_INT(TCC_EA_WRREQ[13])) - + TO_INT(TCC_EA_WRREQ[14])) + TO_INT(TCC_EA_WRREQ[15])) + TO_INT(TCC_EA_WRREQ[16])) - + TO_INT(TCC_EA_WRREQ[17])) + TO_INT(TCC_EA_WRREQ[18])) + TO_INT(TCC_EA_WRREQ[19])) - + TO_INT(TCC_EA_WRREQ[20])) + TO_INT(TCC_EA_WRREQ[21])) + TO_INT(TCC_EA_WRREQ[22])) - + TO_INT(TCC_EA_WRREQ[23])) + TO_INT(TCC_EA_WRREQ[24])) + TO_INT(TCC_EA_WRREQ[25])) - + TO_INT(TCC_EA_WRREQ[26])) + TO_INT(TCC_EA_WRREQ[27])) + TO_INT(TCC_EA_WRREQ[28])) - + TO_INT(TCC_EA_WRREQ[29])) + TO_INT(TCC_EA_WRREQ[30])) + TO_INT(TCC_EA_WRREQ[31])) - / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ[0]) + TO_INT(TCC_EA_WRREQ[1])) - + TO_INT(TCC_EA_WRREQ[2])) + TO_INT(TCC_EA_WRREQ[3])) + TO_INT(TCC_EA_WRREQ[4])) - + TO_INT(TCC_EA_WRREQ[5])) + TO_INT(TCC_EA_WRREQ[6])) + TO_INT(TCC_EA_WRREQ[7])) - + TO_INT(TCC_EA_WRREQ[8])) + TO_INT(TCC_EA_WRREQ[9])) + TO_INT(TCC_EA_WRREQ[10])) - + TO_INT(TCC_EA_WRREQ[11])) + TO_INT(TCC_EA_WRREQ[12])) + TO_INT(TCC_EA_WRREQ[13])) - + TO_INT(TCC_EA_WRREQ[14])) + TO_INT(TCC_EA_WRREQ[15])) + TO_INT(TCC_EA_WRREQ[16])) - + TO_INT(TCC_EA_WRREQ[17])) + TO_INT(TCC_EA_WRREQ[18])) + TO_INT(TCC_EA_WRREQ[19])) - + TO_INT(TCC_EA_WRREQ[20])) + TO_INT(TCC_EA_WRREQ[21])) + TO_INT(TCC_EA_WRREQ[22])) - + TO_INT(TCC_EA_WRREQ[23])) + TO_INT(TCC_EA_WRREQ[24])) + TO_INT(TCC_EA_WRREQ[25])) - + TO_INT(TCC_EA_WRREQ[26])) + TO_INT(TCC_EA_WRREQ[27])) + TO_INT(TCC_EA_WRREQ[28])) - + TO_INT(TCC_EA_WRREQ[29])) + TO_INT(TCC_EA_WRREQ[30])) + TO_INT(TCC_EA_WRREQ[31])) - / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ[0]) + TO_INT(TCC_EA_WRREQ[1])) - + TO_INT(TCC_EA_WRREQ[2])) + TO_INT(TCC_EA_WRREQ[3])) + TO_INT(TCC_EA_WRREQ[4])) - + TO_INT(TCC_EA_WRREQ[5])) + TO_INT(TCC_EA_WRREQ[6])) + TO_INT(TCC_EA_WRREQ[7])) - + TO_INT(TCC_EA_WRREQ[8])) + TO_INT(TCC_EA_WRREQ[9])) + TO_INT(TCC_EA_WRREQ[10])) - + TO_INT(TCC_EA_WRREQ[11])) + TO_INT(TCC_EA_WRREQ[12])) + TO_INT(TCC_EA_WRREQ[13])) - + TO_INT(TCC_EA_WRREQ[14])) + TO_INT(TCC_EA_WRREQ[15])) + TO_INT(TCC_EA_WRREQ[16])) - + TO_INT(TCC_EA_WRREQ[17])) + TO_INT(TCC_EA_WRREQ[18])) + TO_INT(TCC_EA_WRREQ[19])) - + TO_INT(TCC_EA_WRREQ[20])) + TO_INT(TCC_EA_WRREQ[21])) + TO_INT(TCC_EA_WRREQ[22])) - + TO_INT(TCC_EA_WRREQ[23])) + TO_INT(TCC_EA_WRREQ[24])) + TO_INT(TCC_EA_WRREQ[25])) - + TO_INT(TCC_EA_WRREQ[26])) + TO_INT(TCC_EA_WRREQ[27])) + TO_INT(TCC_EA_WRREQ[28])) - + TO_INT(TCC_EA_WRREQ[29])) + TO_INT(TCC_EA_WRREQ[30])) + TO_INT(TCC_EA_WRREQ[31])) - / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L2 - EA Atomic Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_ATOMIC[0]) + TO_INT(TCC_EA_ATOMIC[1])) - + TO_INT(TCC_EA_ATOMIC[2])) + TO_INT(TCC_EA_ATOMIC[3])) + TO_INT(TCC_EA_ATOMIC[4])) - + TO_INT(TCC_EA_ATOMIC[5])) + TO_INT(TCC_EA_ATOMIC[6])) + TO_INT(TCC_EA_ATOMIC[7])) - + TO_INT(TCC_EA_ATOMIC[8])) + TO_INT(TCC_EA_ATOMIC[9])) + TO_INT(TCC_EA_ATOMIC[10])) - + TO_INT(TCC_EA_ATOMIC[11])) + TO_INT(TCC_EA_ATOMIC[12])) + TO_INT(TCC_EA_ATOMIC[13])) - + TO_INT(TCC_EA_ATOMIC[14])) + TO_INT(TCC_EA_ATOMIC[15])) + TO_INT(TCC_EA_ATOMIC[16])) - + TO_INT(TCC_EA_ATOMIC[17])) + TO_INT(TCC_EA_ATOMIC[18])) + TO_INT(TCC_EA_ATOMIC[19])) - + TO_INT(TCC_EA_ATOMIC[20])) + TO_INT(TCC_EA_ATOMIC[21])) + TO_INT(TCC_EA_ATOMIC[22])) - + TO_INT(TCC_EA_ATOMIC[23])) + TO_INT(TCC_EA_ATOMIC[24])) + TO_INT(TCC_EA_ATOMIC[25])) - + TO_INT(TCC_EA_ATOMIC[26])) + TO_INT(TCC_EA_ATOMIC[27])) + TO_INT(TCC_EA_ATOMIC[28])) - + TO_INT(TCC_EA_ATOMIC[29])) + TO_INT(TCC_EA_ATOMIC[30])) + TO_INT(TCC_EA_ATOMIC[31])) - / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_ATOMIC[0]) + TO_INT(TCC_EA_ATOMIC[1])) - + TO_INT(TCC_EA_ATOMIC[2])) + TO_INT(TCC_EA_ATOMIC[3])) + TO_INT(TCC_EA_ATOMIC[4])) - + TO_INT(TCC_EA_ATOMIC[5])) + TO_INT(TCC_EA_ATOMIC[6])) + TO_INT(TCC_EA_ATOMIC[7])) - + TO_INT(TCC_EA_ATOMIC[8])) + TO_INT(TCC_EA_ATOMIC[9])) + TO_INT(TCC_EA_ATOMIC[10])) - + TO_INT(TCC_EA_ATOMIC[11])) + TO_INT(TCC_EA_ATOMIC[12])) + TO_INT(TCC_EA_ATOMIC[13])) - + TO_INT(TCC_EA_ATOMIC[14])) + TO_INT(TCC_EA_ATOMIC[15])) + TO_INT(TCC_EA_ATOMIC[16])) - + TO_INT(TCC_EA_ATOMIC[17])) + TO_INT(TCC_EA_ATOMIC[18])) + TO_INT(TCC_EA_ATOMIC[19])) - + TO_INT(TCC_EA_ATOMIC[20])) + TO_INT(TCC_EA_ATOMIC[21])) + TO_INT(TCC_EA_ATOMIC[22])) - + TO_INT(TCC_EA_ATOMIC[23])) + TO_INT(TCC_EA_ATOMIC[24])) + TO_INT(TCC_EA_ATOMIC[25])) - + TO_INT(TCC_EA_ATOMIC[26])) + TO_INT(TCC_EA_ATOMIC[27])) + TO_INT(TCC_EA_ATOMIC[28])) - + TO_INT(TCC_EA_ATOMIC[29])) + TO_INT(TCC_EA_ATOMIC[30])) + TO_INT(TCC_EA_ATOMIC[31])) - / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_ATOMIC[0]) + TO_INT(TCC_EA_ATOMIC[1])) - + TO_INT(TCC_EA_ATOMIC[2])) + TO_INT(TCC_EA_ATOMIC[3])) + TO_INT(TCC_EA_ATOMIC[4])) - + TO_INT(TCC_EA_ATOMIC[5])) + TO_INT(TCC_EA_ATOMIC[6])) + TO_INT(TCC_EA_ATOMIC[7])) - + TO_INT(TCC_EA_ATOMIC[8])) + TO_INT(TCC_EA_ATOMIC[9])) + TO_INT(TCC_EA_ATOMIC[10])) - + TO_INT(TCC_EA_ATOMIC[11])) + TO_INT(TCC_EA_ATOMIC[12])) + TO_INT(TCC_EA_ATOMIC[13])) - + TO_INT(TCC_EA_ATOMIC[14])) + TO_INT(TCC_EA_ATOMIC[15])) + TO_INT(TCC_EA_ATOMIC[16])) - + TO_INT(TCC_EA_ATOMIC[17])) + TO_INT(TCC_EA_ATOMIC[18])) + TO_INT(TCC_EA_ATOMIC[19])) - + TO_INT(TCC_EA_ATOMIC[20])) + TO_INT(TCC_EA_ATOMIC[21])) + TO_INT(TCC_EA_ATOMIC[22])) - + TO_INT(TCC_EA_ATOMIC[23])) + TO_INT(TCC_EA_ATOMIC[24])) + TO_INT(TCC_EA_ATOMIC[25])) - + TO_INT(TCC_EA_ATOMIC[26])) + TO_INT(TCC_EA_ATOMIC[27])) + TO_INT(TCC_EA_ATOMIC[28])) - + TO_INT(TCC_EA_ATOMIC[29])) + TO_INT(TCC_EA_ATOMIC[30])) + TO_INT(TCC_EA_ATOMIC[31])) - / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_ATOMIC[0]) + TO_INT(TCC_EA_ATOMIC[1])) - + TO_INT(TCC_EA_ATOMIC[2])) + TO_INT(TCC_EA_ATOMIC[3])) + TO_INT(TCC_EA_ATOMIC[4])) - + TO_INT(TCC_EA_ATOMIC[5])) + TO_INT(TCC_EA_ATOMIC[6])) + TO_INT(TCC_EA_ATOMIC[7])) - + TO_INT(TCC_EA_ATOMIC[8])) + TO_INT(TCC_EA_ATOMIC[9])) + TO_INT(TCC_EA_ATOMIC[10])) - + TO_INT(TCC_EA_ATOMIC[11])) + TO_INT(TCC_EA_ATOMIC[12])) + TO_INT(TCC_EA_ATOMIC[13])) - + TO_INT(TCC_EA_ATOMIC[14])) + TO_INT(TCC_EA_ATOMIC[15])) + TO_INT(TCC_EA_ATOMIC[16])) - + TO_INT(TCC_EA_ATOMIC[17])) + TO_INT(TCC_EA_ATOMIC[18])) + TO_INT(TCC_EA_ATOMIC[19])) - + TO_INT(TCC_EA_ATOMIC[20])) + TO_INT(TCC_EA_ATOMIC[21])) + TO_INT(TCC_EA_ATOMIC[22])) - + TO_INT(TCC_EA_ATOMIC[23])) + TO_INT(TCC_EA_ATOMIC[24])) + TO_INT(TCC_EA_ATOMIC[25])) - + TO_INT(TCC_EA_ATOMIC[26])) + TO_INT(TCC_EA_ATOMIC[27])) + TO_INT(TCC_EA_ATOMIC[28])) - + TO_INT(TCC_EA_ATOMIC[29])) + TO_INT(TCC_EA_ATOMIC[30])) + TO_INT(TCC_EA_ATOMIC[31])) - / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L2 - EA Read Lat: - avg: AVG((((((((((((((((((((((((((((((((((TCC_EA_RDREQ_LEVEL[0] + TCC_EA_RDREQ_LEVEL[1]) - + TCC_EA_RDREQ_LEVEL[2]) + TCC_EA_RDREQ_LEVEL[3]) + TCC_EA_RDREQ_LEVEL[4]) - + TCC_EA_RDREQ_LEVEL[5]) + TCC_EA_RDREQ_LEVEL[6]) + TCC_EA_RDREQ_LEVEL[7]) - + TCC_EA_RDREQ_LEVEL[8]) + TCC_EA_RDREQ_LEVEL[9]) + TCC_EA_RDREQ_LEVEL[10]) - + TCC_EA_RDREQ_LEVEL[11]) + TCC_EA_RDREQ_LEVEL[12]) + TCC_EA_RDREQ_LEVEL[13]) - + TCC_EA_RDREQ_LEVEL[14]) + TCC_EA_RDREQ_LEVEL[15]) + TCC_EA_RDREQ_LEVEL[16]) - + TCC_EA_RDREQ_LEVEL[17]) + TCC_EA_RDREQ_LEVEL[18]) + TCC_EA_RDREQ_LEVEL[19]) - + TCC_EA_RDREQ_LEVEL[20]) + TCC_EA_RDREQ_LEVEL[21]) + TCC_EA_RDREQ_LEVEL[22]) - + TCC_EA_RDREQ_LEVEL[23]) + TCC_EA_RDREQ_LEVEL[24]) + TCC_EA_RDREQ_LEVEL[25]) - + TCC_EA_RDREQ_LEVEL[26]) + TCC_EA_RDREQ_LEVEL[27]) + TCC_EA_RDREQ_LEVEL[28]) - + TCC_EA_RDREQ_LEVEL[29]) + TCC_EA_RDREQ_LEVEL[30]) + TCC_EA_RDREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) - + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) - + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) - + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) - + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) - + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) - + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) - + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) - + TCC_EA_RDREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + - TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) - + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) - + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) - + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) - + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) - + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) - + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) - + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) + TCC_EA_RDREQ[31]) != 0) else None)) - std dev: STD((((((((((((((((((((((((((((((((((TCC_EA_RDREQ_LEVEL[0] + TCC_EA_RDREQ_LEVEL[1]) - + TCC_EA_RDREQ_LEVEL[2]) + TCC_EA_RDREQ_LEVEL[3]) + TCC_EA_RDREQ_LEVEL[4]) - + TCC_EA_RDREQ_LEVEL[5]) + TCC_EA_RDREQ_LEVEL[6]) + TCC_EA_RDREQ_LEVEL[7]) - + TCC_EA_RDREQ_LEVEL[8]) + TCC_EA_RDREQ_LEVEL[9]) + TCC_EA_RDREQ_LEVEL[10]) - + TCC_EA_RDREQ_LEVEL[11]) + TCC_EA_RDREQ_LEVEL[12]) + TCC_EA_RDREQ_LEVEL[13]) - + TCC_EA_RDREQ_LEVEL[14]) + TCC_EA_RDREQ_LEVEL[15]) + TCC_EA_RDREQ_LEVEL[16]) - + TCC_EA_RDREQ_LEVEL[17]) + TCC_EA_RDREQ_LEVEL[18]) + TCC_EA_RDREQ_LEVEL[19]) - + TCC_EA_RDREQ_LEVEL[20]) + TCC_EA_RDREQ_LEVEL[21]) + TCC_EA_RDREQ_LEVEL[22]) - + TCC_EA_RDREQ_LEVEL[23]) + TCC_EA_RDREQ_LEVEL[24]) + TCC_EA_RDREQ_LEVEL[25]) - + TCC_EA_RDREQ_LEVEL[26]) + TCC_EA_RDREQ_LEVEL[27]) + TCC_EA_RDREQ_LEVEL[28]) - + TCC_EA_RDREQ_LEVEL[29]) + TCC_EA_RDREQ_LEVEL[30]) + TCC_EA_RDREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) - + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) - + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) - + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) - + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) - + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) - + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) - + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) - + TCC_EA_RDREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + - TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) - + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) - + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) - + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) - + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) - + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) - + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) - + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) + TCC_EA_RDREQ[31]) != 0) else None)) - min: MIN((((((((((((((((((((((((((((((((((TCC_EA_RDREQ_LEVEL[0] + TCC_EA_RDREQ_LEVEL[1]) - + TCC_EA_RDREQ_LEVEL[2]) + TCC_EA_RDREQ_LEVEL[3]) + TCC_EA_RDREQ_LEVEL[4]) - + TCC_EA_RDREQ_LEVEL[5]) + TCC_EA_RDREQ_LEVEL[6]) + TCC_EA_RDREQ_LEVEL[7]) - + TCC_EA_RDREQ_LEVEL[8]) + TCC_EA_RDREQ_LEVEL[9]) + TCC_EA_RDREQ_LEVEL[10]) - + TCC_EA_RDREQ_LEVEL[11]) + TCC_EA_RDREQ_LEVEL[12]) + TCC_EA_RDREQ_LEVEL[13]) - + TCC_EA_RDREQ_LEVEL[14]) + TCC_EA_RDREQ_LEVEL[15]) + TCC_EA_RDREQ_LEVEL[16]) - + TCC_EA_RDREQ_LEVEL[17]) + TCC_EA_RDREQ_LEVEL[18]) + TCC_EA_RDREQ_LEVEL[19]) - + TCC_EA_RDREQ_LEVEL[20]) + TCC_EA_RDREQ_LEVEL[21]) + TCC_EA_RDREQ_LEVEL[22]) - + TCC_EA_RDREQ_LEVEL[23]) + TCC_EA_RDREQ_LEVEL[24]) + TCC_EA_RDREQ_LEVEL[25]) - + TCC_EA_RDREQ_LEVEL[26]) + TCC_EA_RDREQ_LEVEL[27]) + TCC_EA_RDREQ_LEVEL[28]) - + TCC_EA_RDREQ_LEVEL[29]) + TCC_EA_RDREQ_LEVEL[30]) + TCC_EA_RDREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) - + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) - + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) - + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) - + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) - + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) - + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) - + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) - + TCC_EA_RDREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + - TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) - + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) - + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) - + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) - + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) - + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) - + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) - + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) + TCC_EA_RDREQ[31]) != 0) else None)) - max: MAX((((((((((((((((((((((((((((((((((TCC_EA_RDREQ_LEVEL[0] + TCC_EA_RDREQ_LEVEL[1]) - + TCC_EA_RDREQ_LEVEL[2]) + TCC_EA_RDREQ_LEVEL[3]) + TCC_EA_RDREQ_LEVEL[4]) - + TCC_EA_RDREQ_LEVEL[5]) + TCC_EA_RDREQ_LEVEL[6]) + TCC_EA_RDREQ_LEVEL[7]) - + TCC_EA_RDREQ_LEVEL[8]) + TCC_EA_RDREQ_LEVEL[9]) + TCC_EA_RDREQ_LEVEL[10]) - + TCC_EA_RDREQ_LEVEL[11]) + TCC_EA_RDREQ_LEVEL[12]) + TCC_EA_RDREQ_LEVEL[13]) - + TCC_EA_RDREQ_LEVEL[14]) + TCC_EA_RDREQ_LEVEL[15]) + TCC_EA_RDREQ_LEVEL[16]) - + TCC_EA_RDREQ_LEVEL[17]) + TCC_EA_RDREQ_LEVEL[18]) + TCC_EA_RDREQ_LEVEL[19]) - + TCC_EA_RDREQ_LEVEL[20]) + TCC_EA_RDREQ_LEVEL[21]) + TCC_EA_RDREQ_LEVEL[22]) - + TCC_EA_RDREQ_LEVEL[23]) + TCC_EA_RDREQ_LEVEL[24]) + TCC_EA_RDREQ_LEVEL[25]) - + TCC_EA_RDREQ_LEVEL[26]) + TCC_EA_RDREQ_LEVEL[27]) + TCC_EA_RDREQ_LEVEL[28]) - + TCC_EA_RDREQ_LEVEL[29]) + TCC_EA_RDREQ_LEVEL[30]) + TCC_EA_RDREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) - + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) - + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) - + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) - + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) - + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) - + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) - + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) - + TCC_EA_RDREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + - TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) - + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) - + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) - + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) - + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) - + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) - + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) - + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) + TCC_EA_RDREQ[31]) != 0) else None)) - unit: Cycles - tips: - L2 - EA Write Lat: - avg: AVG((((((((((((((((((((((((((((((((((TCC_EA_WRREQ_LEVEL[0] + TCC_EA_WRREQ_LEVEL[1]) - + TCC_EA_WRREQ_LEVEL[2]) + TCC_EA_WRREQ_LEVEL[3]) + TCC_EA_WRREQ_LEVEL[4]) - + TCC_EA_WRREQ_LEVEL[5]) + TCC_EA_WRREQ_LEVEL[6]) + TCC_EA_WRREQ_LEVEL[7]) - + TCC_EA_WRREQ_LEVEL[8]) + TCC_EA_WRREQ_LEVEL[9]) + TCC_EA_WRREQ_LEVEL[10]) - + TCC_EA_WRREQ_LEVEL[11]) + TCC_EA_WRREQ_LEVEL[12]) + TCC_EA_WRREQ_LEVEL[13]) - + TCC_EA_WRREQ_LEVEL[14]) + TCC_EA_WRREQ_LEVEL[15]) + TCC_EA_WRREQ_LEVEL[16]) - + TCC_EA_WRREQ_LEVEL[17]) + TCC_EA_WRREQ_LEVEL[18]) + TCC_EA_WRREQ_LEVEL[19]) - + TCC_EA_WRREQ_LEVEL[20]) + TCC_EA_WRREQ_LEVEL[21]) + TCC_EA_WRREQ_LEVEL[22]) - + TCC_EA_WRREQ_LEVEL[23]) + TCC_EA_WRREQ_LEVEL[24]) + TCC_EA_WRREQ_LEVEL[25]) - + TCC_EA_WRREQ_LEVEL[26]) + TCC_EA_WRREQ_LEVEL[27]) + TCC_EA_WRREQ_LEVEL[28]) - + TCC_EA_WRREQ_LEVEL[29]) + TCC_EA_WRREQ_LEVEL[30]) + TCC_EA_WRREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) - + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) - + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) - + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) - + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) - + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) - + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) - + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) - + TCC_EA_WRREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + - TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) - + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) - + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) - + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) - + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) - + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) - + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) - + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) + TCC_EA_WRREQ[31]) != 0) else None)) - std dev: STD((((((((((((((((((((((((((((((((((TCC_EA_WRREQ_LEVEL[0] + TCC_EA_WRREQ_LEVEL[1]) - + TCC_EA_WRREQ_LEVEL[2]) + TCC_EA_WRREQ_LEVEL[3]) + TCC_EA_WRREQ_LEVEL[4]) - + TCC_EA_WRREQ_LEVEL[5]) + TCC_EA_WRREQ_LEVEL[6]) + TCC_EA_WRREQ_LEVEL[7]) - + TCC_EA_WRREQ_LEVEL[8]) + TCC_EA_WRREQ_LEVEL[9]) + TCC_EA_WRREQ_LEVEL[10]) - + TCC_EA_WRREQ_LEVEL[11]) + TCC_EA_WRREQ_LEVEL[12]) + TCC_EA_WRREQ_LEVEL[13]) - + TCC_EA_WRREQ_LEVEL[14]) + TCC_EA_WRREQ_LEVEL[15]) + TCC_EA_WRREQ_LEVEL[16]) - + TCC_EA_WRREQ_LEVEL[17]) + TCC_EA_WRREQ_LEVEL[18]) + TCC_EA_WRREQ_LEVEL[19]) - + TCC_EA_WRREQ_LEVEL[20]) + TCC_EA_WRREQ_LEVEL[21]) + TCC_EA_WRREQ_LEVEL[22]) - + TCC_EA_WRREQ_LEVEL[23]) + TCC_EA_WRREQ_LEVEL[24]) + TCC_EA_WRREQ_LEVEL[25]) - + TCC_EA_WRREQ_LEVEL[26]) + TCC_EA_WRREQ_LEVEL[27]) + TCC_EA_WRREQ_LEVEL[28]) - + TCC_EA_WRREQ_LEVEL[29]) + TCC_EA_WRREQ_LEVEL[30]) + TCC_EA_WRREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) - + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) - + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) - + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) - + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) - + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) - + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) - + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) - + TCC_EA_WRREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + - TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) - + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) - + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) - + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) - + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) - + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) - + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) - + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) + TCC_EA_WRREQ[31]) != 0) else None)) - min: MIN((((((((((((((((((((((((((((((((((TCC_EA_WRREQ_LEVEL[0] + TCC_EA_WRREQ_LEVEL[1]) - + TCC_EA_WRREQ_LEVEL[2]) + TCC_EA_WRREQ_LEVEL[3]) + TCC_EA_WRREQ_LEVEL[4]) - + TCC_EA_WRREQ_LEVEL[5]) + TCC_EA_WRREQ_LEVEL[6]) + TCC_EA_WRREQ_LEVEL[7]) - + TCC_EA_WRREQ_LEVEL[8]) + TCC_EA_WRREQ_LEVEL[9]) + TCC_EA_WRREQ_LEVEL[10]) - + TCC_EA_WRREQ_LEVEL[11]) + TCC_EA_WRREQ_LEVEL[12]) + TCC_EA_WRREQ_LEVEL[13]) - + TCC_EA_WRREQ_LEVEL[14]) + TCC_EA_WRREQ_LEVEL[15]) + TCC_EA_WRREQ_LEVEL[16]) - + TCC_EA_WRREQ_LEVEL[17]) + TCC_EA_WRREQ_LEVEL[18]) + TCC_EA_WRREQ_LEVEL[19]) - + TCC_EA_WRREQ_LEVEL[20]) + TCC_EA_WRREQ_LEVEL[21]) + TCC_EA_WRREQ_LEVEL[22]) - + TCC_EA_WRREQ_LEVEL[23]) + TCC_EA_WRREQ_LEVEL[24]) + TCC_EA_WRREQ_LEVEL[25]) - + TCC_EA_WRREQ_LEVEL[26]) + TCC_EA_WRREQ_LEVEL[27]) + TCC_EA_WRREQ_LEVEL[28]) - + TCC_EA_WRREQ_LEVEL[29]) + TCC_EA_WRREQ_LEVEL[30]) + TCC_EA_WRREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) - + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) - + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) - + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) - + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) - + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) - + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) - + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) - + TCC_EA_WRREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + - TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) - + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) - + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) - + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) - + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) - + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) - + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) - + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) + TCC_EA_WRREQ[31]) != 0) else None)) - max: MAX((((((((((((((((((((((((((((((((((TCC_EA_WRREQ_LEVEL[0] + TCC_EA_WRREQ_LEVEL[1]) - + TCC_EA_WRREQ_LEVEL[2]) + TCC_EA_WRREQ_LEVEL[3]) + TCC_EA_WRREQ_LEVEL[4]) - + TCC_EA_WRREQ_LEVEL[5]) + TCC_EA_WRREQ_LEVEL[6]) + TCC_EA_WRREQ_LEVEL[7]) - + TCC_EA_WRREQ_LEVEL[8]) + TCC_EA_WRREQ_LEVEL[9]) + TCC_EA_WRREQ_LEVEL[10]) - + TCC_EA_WRREQ_LEVEL[11]) + TCC_EA_WRREQ_LEVEL[12]) + TCC_EA_WRREQ_LEVEL[13]) - + TCC_EA_WRREQ_LEVEL[14]) + TCC_EA_WRREQ_LEVEL[15]) + TCC_EA_WRREQ_LEVEL[16]) - + TCC_EA_WRREQ_LEVEL[17]) + TCC_EA_WRREQ_LEVEL[18]) + TCC_EA_WRREQ_LEVEL[19]) - + TCC_EA_WRREQ_LEVEL[20]) + TCC_EA_WRREQ_LEVEL[21]) + TCC_EA_WRREQ_LEVEL[22]) - + TCC_EA_WRREQ_LEVEL[23]) + TCC_EA_WRREQ_LEVEL[24]) + TCC_EA_WRREQ_LEVEL[25]) - + TCC_EA_WRREQ_LEVEL[26]) + TCC_EA_WRREQ_LEVEL[27]) + TCC_EA_WRREQ_LEVEL[28]) - + TCC_EA_WRREQ_LEVEL[29]) + TCC_EA_WRREQ_LEVEL[30]) + TCC_EA_WRREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) - + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) - + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) - + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) - + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) - + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) - + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) - + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) - + TCC_EA_WRREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + - TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) - + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) - + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) - + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) - + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) - + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) - + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) - + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) + TCC_EA_WRREQ[31]) != 0) else None)) - unit: Cycles - tips: - L2 - EA Atomic Lat: - avg: AVG((((((((((((((((((((((((((((((((((TCC_EA_ATOMIC_LEVEL[0] + TCC_EA_ATOMIC_LEVEL[1]) - + TCC_EA_ATOMIC_LEVEL[2]) + TCC_EA_ATOMIC_LEVEL[3]) + TCC_EA_ATOMIC_LEVEL[4]) - + TCC_EA_ATOMIC_LEVEL[5]) + TCC_EA_ATOMIC_LEVEL[6]) + TCC_EA_ATOMIC_LEVEL[7]) - + TCC_EA_ATOMIC_LEVEL[8]) + TCC_EA_ATOMIC_LEVEL[9]) + TCC_EA_ATOMIC_LEVEL[10]) - + TCC_EA_ATOMIC_LEVEL[11]) + TCC_EA_ATOMIC_LEVEL[12]) + TCC_EA_ATOMIC_LEVEL[13]) - + TCC_EA_ATOMIC_LEVEL[14]) + TCC_EA_ATOMIC_LEVEL[15]) + TCC_EA_ATOMIC_LEVEL[16]) - + TCC_EA_ATOMIC_LEVEL[17]) + TCC_EA_ATOMIC_LEVEL[18]) + TCC_EA_ATOMIC_LEVEL[19]) - + TCC_EA_ATOMIC_LEVEL[20]) + TCC_EA_ATOMIC_LEVEL[21]) + TCC_EA_ATOMIC_LEVEL[22]) - + TCC_EA_ATOMIC_LEVEL[23]) + TCC_EA_ATOMIC_LEVEL[24]) + TCC_EA_ATOMIC_LEVEL[25]) - + TCC_EA_ATOMIC_LEVEL[26]) + TCC_EA_ATOMIC_LEVEL[27]) + TCC_EA_ATOMIC_LEVEL[28]) - + TCC_EA_ATOMIC_LEVEL[29]) + TCC_EA_ATOMIC_LEVEL[30]) + TCC_EA_ATOMIC_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) - + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) - + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) - + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) - + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) - + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) - + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) - + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) - + TCC_EA_ATOMIC[31])) if ((((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] - + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) - + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) - + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) - + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) - + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) - + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) - + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) - + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) + TCC_EA_ATOMIC[31]) != 0) else - None)) - std dev: STD((((((((((((((((((((((((((((((((((TCC_EA_ATOMIC_LEVEL[0] + TCC_EA_ATOMIC_LEVEL[1]) - + TCC_EA_ATOMIC_LEVEL[2]) + TCC_EA_ATOMIC_LEVEL[3]) + TCC_EA_ATOMIC_LEVEL[4]) - + TCC_EA_ATOMIC_LEVEL[5]) + TCC_EA_ATOMIC_LEVEL[6]) + TCC_EA_ATOMIC_LEVEL[7]) - + TCC_EA_ATOMIC_LEVEL[8]) + TCC_EA_ATOMIC_LEVEL[9]) + TCC_EA_ATOMIC_LEVEL[10]) - + TCC_EA_ATOMIC_LEVEL[11]) + TCC_EA_ATOMIC_LEVEL[12]) + TCC_EA_ATOMIC_LEVEL[13]) - + TCC_EA_ATOMIC_LEVEL[14]) + TCC_EA_ATOMIC_LEVEL[15]) + TCC_EA_ATOMIC_LEVEL[16]) - + TCC_EA_ATOMIC_LEVEL[17]) + TCC_EA_ATOMIC_LEVEL[18]) + TCC_EA_ATOMIC_LEVEL[19]) - + TCC_EA_ATOMIC_LEVEL[20]) + TCC_EA_ATOMIC_LEVEL[21]) + TCC_EA_ATOMIC_LEVEL[22]) - + TCC_EA_ATOMIC_LEVEL[23]) + TCC_EA_ATOMIC_LEVEL[24]) + TCC_EA_ATOMIC_LEVEL[25]) - + TCC_EA_ATOMIC_LEVEL[26]) + TCC_EA_ATOMIC_LEVEL[27]) + TCC_EA_ATOMIC_LEVEL[28]) - + TCC_EA_ATOMIC_LEVEL[29]) + TCC_EA_ATOMIC_LEVEL[30]) + TCC_EA_ATOMIC_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) - + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) - + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) - + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) - + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) - + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) - + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) - + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) - + TCC_EA_ATOMIC[31])) if ((((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] - + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) - + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) - + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) - + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) - + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) - + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) - + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) - + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) + TCC_EA_ATOMIC[31]) != 0) else - None)) - min: MIN((((((((((((((((((((((((((((((((((TCC_EA_ATOMIC_LEVEL[0] + TCC_EA_ATOMIC_LEVEL[1]) - + TCC_EA_ATOMIC_LEVEL[2]) + TCC_EA_ATOMIC_LEVEL[3]) + TCC_EA_ATOMIC_LEVEL[4]) - + TCC_EA_ATOMIC_LEVEL[5]) + TCC_EA_ATOMIC_LEVEL[6]) + TCC_EA_ATOMIC_LEVEL[7]) - + TCC_EA_ATOMIC_LEVEL[8]) + TCC_EA_ATOMIC_LEVEL[9]) + TCC_EA_ATOMIC_LEVEL[10]) - + TCC_EA_ATOMIC_LEVEL[11]) + TCC_EA_ATOMIC_LEVEL[12]) + TCC_EA_ATOMIC_LEVEL[13]) - + TCC_EA_ATOMIC_LEVEL[14]) + TCC_EA_ATOMIC_LEVEL[15]) + TCC_EA_ATOMIC_LEVEL[16]) - + TCC_EA_ATOMIC_LEVEL[17]) + TCC_EA_ATOMIC_LEVEL[18]) + TCC_EA_ATOMIC_LEVEL[19]) - + TCC_EA_ATOMIC_LEVEL[20]) + TCC_EA_ATOMIC_LEVEL[21]) + TCC_EA_ATOMIC_LEVEL[22]) - + TCC_EA_ATOMIC_LEVEL[23]) + TCC_EA_ATOMIC_LEVEL[24]) + TCC_EA_ATOMIC_LEVEL[25]) - + TCC_EA_ATOMIC_LEVEL[26]) + TCC_EA_ATOMIC_LEVEL[27]) + TCC_EA_ATOMIC_LEVEL[28]) - + TCC_EA_ATOMIC_LEVEL[29]) + TCC_EA_ATOMIC_LEVEL[30]) + TCC_EA_ATOMIC_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) - + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) - + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) - + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) - + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) - + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) - + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) - + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) - + TCC_EA_ATOMIC[31])) if ((((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] - + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) - + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) - + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) - + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) - + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) - + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) - + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) - + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) + TCC_EA_ATOMIC[31]) != 0) else - None)) - max: MAX((((((((((((((((((((((((((((((((((TCC_EA_ATOMIC_LEVEL[0] + TCC_EA_ATOMIC_LEVEL[1]) - + TCC_EA_ATOMIC_LEVEL[2]) + TCC_EA_ATOMIC_LEVEL[3]) + TCC_EA_ATOMIC_LEVEL[4]) - + TCC_EA_ATOMIC_LEVEL[5]) + TCC_EA_ATOMIC_LEVEL[6]) + TCC_EA_ATOMIC_LEVEL[7]) - + TCC_EA_ATOMIC_LEVEL[8]) + TCC_EA_ATOMIC_LEVEL[9]) + TCC_EA_ATOMIC_LEVEL[10]) - + TCC_EA_ATOMIC_LEVEL[11]) + TCC_EA_ATOMIC_LEVEL[12]) + TCC_EA_ATOMIC_LEVEL[13]) - + TCC_EA_ATOMIC_LEVEL[14]) + TCC_EA_ATOMIC_LEVEL[15]) + TCC_EA_ATOMIC_LEVEL[16]) - + TCC_EA_ATOMIC_LEVEL[17]) + TCC_EA_ATOMIC_LEVEL[18]) + TCC_EA_ATOMIC_LEVEL[19]) - + TCC_EA_ATOMIC_LEVEL[20]) + TCC_EA_ATOMIC_LEVEL[21]) + TCC_EA_ATOMIC_LEVEL[22]) - + TCC_EA_ATOMIC_LEVEL[23]) + TCC_EA_ATOMIC_LEVEL[24]) + TCC_EA_ATOMIC_LEVEL[25]) - + TCC_EA_ATOMIC_LEVEL[26]) + TCC_EA_ATOMIC_LEVEL[27]) + TCC_EA_ATOMIC_LEVEL[28]) - + TCC_EA_ATOMIC_LEVEL[29]) + TCC_EA_ATOMIC_LEVEL[30]) + TCC_EA_ATOMIC_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) - + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) - + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) - + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) - + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) - + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) - + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) - + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) - + TCC_EA_ATOMIC[31])) if ((((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] - + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) - + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) - + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) - + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) - + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) - + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) - + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) - + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) + TCC_EA_ATOMIC[31]) != 0) else - None)) - unit: Cycles - tips: - L2 - EA Read Stall (IO): - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[31])) / 32) / $denom)) - unit: (Cycles + $normUnit) - tips: - L2 - EA Read Stall (GMI): - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[31])) / 32) / $denom)) - unit: (Cycles + $normUnit) - tips: - L2 - EA Read Stall (DRAM): - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[31])) / 32) / $denom)) - unit: (Cycles + $normUnit) - tips: - L2 - EA Write Stall (IO): - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[31])) / 32) / $denom)) - unit: (Cycles + $normUnit) - tips: - L2 - EA Write Stall (GMI): - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[31])) / 32) / $denom)) - unit: (Cycles + $normUnit) - tips: - L2 - EA Write Stall (DRAM): - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[31])) / 32) / $denom)) - unit: (Cycles + $normUnit) - tips: - L2 - EA Write Starve: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[0]) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[1])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[2])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[3])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[4])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[5])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[6])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[7])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[8])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[9])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[10])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[11])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[12])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[13])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[14])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[15])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[16])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[17])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[18])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[19])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[20])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[21])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[22])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[23])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[24])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[25])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[26])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[27])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[28])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[29])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[30])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[0]) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[1])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[2])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[3])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[4])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[5])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[6])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[7])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[8])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[9])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[10])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[11])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[12])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[13])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[14])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[15])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[16])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[17])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[18])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[19])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[20])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[21])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[22])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[23])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[24])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[25])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[26])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[27])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[28])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[29])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[30])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[0]) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[1])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[2])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[3])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[4])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[5])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[6])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[7])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[8])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[9])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[10])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[11])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[12])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[13])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[14])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[15])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[16])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[17])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[18])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[19])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[20])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[21])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[22])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[23])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[24])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[25])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[26])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[27])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[28])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[29])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[30])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[0]) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[1])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[2])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[3])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[4])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[5])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[6])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[7])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[8])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[9])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[10])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[11])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[12])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[13])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[14])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[15])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[16])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[17])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[18])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[19])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[20])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[21])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[22])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[23])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[24])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[25])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[26])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[27])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[28])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[29])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[30])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[31])) / 32) / $denom)) - unit: (Cycles + $normUnit) - tips: - - metric_table: - id: 1802 - title: Channel 0-15 - columnwise: True - header: - channel: Channel - hit rate: L2 Cache Hit Rate (%) - req: Requests (Requests) - read req: L1-L2 Read (Requests) - write req: L1-L2 Write (Requests) - atomic req: L1-L2 Atomic (Requests) - ea read req: L2-EA Read (Requests) - ea write req: L2-EA Write (Requests) - ea atomic req: L2-EA Atomic (Requests) - ea read lat - cycles: L2-EA Read Latency (Cycles) - ea write lat - cycles: L2-EA Write Latency (Cycles) - ea atomic lat - cycles: L2-EA Atomic Latency (Cycles) - ea read stall - io: L2-EA Read Stall - IO (Cycles per) - ea read stall - gmi: L2-EA Read Stall - GMI (Cycles per) - ea read stall - dram: L2-EA Read Stall - DRAM (Cycles per) - ea write stall - io: L2-EA Write Stall - IO (Cycles per) - ea write stall - gmi: L2-EA Write Stall - GMI (Cycles per) - ea write stall - dram: L2-EA Write Stall - DRAM (Cycles per) - ea write stall - starve: L2-EA Write Stall - Starve (Cycles per) - tips: Tips - metric: - "0": - hit rate: - AVG((((100 * TCC_HIT[0]) / (TCC_HIT[0] + TCC_MISS[0])) if ((TCC_HIT[0] - + TCC_MISS[0]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[0]) / $denom)) - read req: AVG((TO_INT(TCC_READ[0]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[0]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[0]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[0]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[0]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[0]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[0] / TCC_EA_RDREQ[0]) if (TCC_EA_RDREQ[0] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[0] / TCC_EA_WRREQ[0]) if (TCC_EA_WRREQ[0] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[0] / TCC_EA_ATOMIC[0]) if - (TCC_EA_ATOMIC[0] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[0]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[0]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[0]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[0]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[0]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[0]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[0]) / $denom)) - tips: - "1": - hit rate: - AVG((((100 * TCC_HIT[1]) / (TCC_HIT[1] + TCC_MISS[1])) if ((TCC_HIT[1] - + TCC_MISS[1]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[1]) / $denom)) - read req: AVG((TO_INT(TCC_READ[1]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[1]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[1]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[1]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[1]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[1]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[1] / TCC_EA_RDREQ[1]) if (TCC_EA_RDREQ[1] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[1] / TCC_EA_WRREQ[1]) if (TCC_EA_WRREQ[1] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[1] / TCC_EA_ATOMIC[1]) if - (TCC_EA_ATOMIC[1] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[1]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[1]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[1]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[1]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[1]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[1]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[1]) / $denom)) - tips: - "2": - hit rate: - AVG((((100 * TCC_HIT[2]) / (TCC_HIT[2] + TCC_MISS[2])) if ((TCC_HIT[2] - + TCC_MISS[2]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[2]) / $denom)) - read req: AVG((TO_INT(TCC_READ[2]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[2]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[2]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[2]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[2]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[2]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[2] / TCC_EA_RDREQ[2]) if (TCC_EA_RDREQ[2] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[2] / TCC_EA_WRREQ[2]) if (TCC_EA_WRREQ[2] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[2] / TCC_EA_ATOMIC[2]) if - (TCC_EA_ATOMIC[2] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[2]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[2]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[2]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[2]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[2]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[2]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[2]) / $denom)) - tips: - "3": - hit rate: - AVG((((100 * TCC_HIT[3]) / (TCC_HIT[3] + TCC_MISS[3])) if ((TCC_HIT[3] - + TCC_MISS[3]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[3]) / $denom)) - read req: AVG((TO_INT(TCC_READ[3]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[3]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[3]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[3]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[3]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[3]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[3] / TCC_EA_RDREQ[3]) if (TCC_EA_RDREQ[3] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[3] / TCC_EA_WRREQ[3]) if (TCC_EA_WRREQ[3] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[3] / TCC_EA_ATOMIC[3]) if - (TCC_EA_ATOMIC[3] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[3]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[3]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[3]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[3]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[3]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[3]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[3]) / $denom)) - tips: - "4": - hit rate: - AVG((((100 * TCC_HIT[4]) / (TCC_HIT[4] + TCC_MISS[4])) if ((TCC_HIT[4] - + TCC_MISS[4]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[4]) / $denom)) - read req: AVG((TO_INT(TCC_READ[4]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[4]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[4]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[4]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[4]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[4]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[4] / TCC_EA_RDREQ[4]) if (TCC_EA_RDREQ[4] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[4] / TCC_EA_WRREQ[4]) if (TCC_EA_WRREQ[4] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[4] / TCC_EA_ATOMIC[4]) if - (TCC_EA_ATOMIC[4] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[4]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[4]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[4]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[4]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[4]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[4]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[4]) / $denom)) - tips: - "5": - hit rate: - AVG((((100 * TCC_HIT[5]) / (TCC_HIT[5] + TCC_MISS[5])) if ((TCC_HIT[5] - + TCC_MISS[5]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[5]) / $denom)) - read req: AVG((TO_INT(TCC_READ[5]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[5]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[5]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[5]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[5]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[5]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[5] / TCC_EA_RDREQ[5]) if (TCC_EA_RDREQ[5] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[5] / TCC_EA_WRREQ[5]) if (TCC_EA_WRREQ[5] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[5] / TCC_EA_ATOMIC[5]) if - (TCC_EA_ATOMIC[5] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[5]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[5]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[5]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[5]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[5]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[5]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[5]) / $denom)) - tips: - "6": - hit rate: - AVG((((100 * TCC_HIT[6]) / (TCC_HIT[6] + TCC_MISS[6])) if ((TCC_HIT[6] - + TCC_MISS[6]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[6]) / $denom)) - read req: AVG((TO_INT(TCC_READ[6]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[6]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[6]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[6]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[6]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[6]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[6] / TCC_EA_RDREQ[6]) if (TCC_EA_RDREQ[6] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[6] / TCC_EA_WRREQ[6]) if (TCC_EA_WRREQ[6] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[6] / TCC_EA_ATOMIC[6]) if - (TCC_EA_ATOMIC[6] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[6]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[6]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[6]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[6]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[6]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[6]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[6]) / $denom)) - tips: - "7": - hit rate: - AVG((((100 * TCC_HIT[7]) / (TCC_HIT[7] + TCC_MISS[7])) if ((TCC_HIT[7] - + TCC_MISS[7]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[7]) / $denom)) - read req: AVG((TO_INT(TCC_READ[7]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[7]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[7]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[7]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[7]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[7]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[7] / TCC_EA_RDREQ[7]) if (TCC_EA_RDREQ[7] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[7] / TCC_EA_WRREQ[7]) if (TCC_EA_WRREQ[7] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[7] / TCC_EA_ATOMIC[7]) if - (TCC_EA_ATOMIC[7] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[7]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[7]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[7]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[7]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[7]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[7]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[7]) / $denom)) - tips: - "8": - hit rate: - AVG((((100 * TCC_HIT[8]) / (TCC_HIT[8] + TCC_MISS[8])) if ((TCC_HIT[8] - + TCC_MISS[8]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[8]) / $denom)) - read req: AVG((TO_INT(TCC_READ[8]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[8]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[8]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[8]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[8]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[8]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[8] / TCC_EA_RDREQ[8]) if (TCC_EA_RDREQ[8] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[8] / TCC_EA_WRREQ[8]) if (TCC_EA_WRREQ[8] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[8] / TCC_EA_ATOMIC[8]) if - (TCC_EA_ATOMIC[8] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[8]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[8]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[8]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[8]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[8]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[8]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[8]) / $denom)) - tips: - "9": - hit rate: - AVG((((100 * TCC_HIT[9]) / (TCC_HIT[9] + TCC_MISS[9])) if ((TCC_HIT[9] - + TCC_MISS[9]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[9]) / $denom)) - read req: AVG((TO_INT(TCC_READ[9]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[9]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[9]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[9]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[9]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[9]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[9] / TCC_EA_RDREQ[9]) if (TCC_EA_RDREQ[9] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[9] / TCC_EA_WRREQ[9]) if (TCC_EA_WRREQ[9] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[9] / TCC_EA_ATOMIC[9]) if - (TCC_EA_ATOMIC[9] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[9]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[9]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[9]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[9]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[9]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[9]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[9]) / $denom)) - tips: - "10": - hit rate: - AVG((((100 * TCC_HIT[10]) / (TCC_HIT[10] + TCC_MISS[10])) if ((TCC_HIT[10] - + TCC_MISS[10]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[10]) / $denom)) - read req: AVG((TO_INT(TCC_READ[10]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[10]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[10]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[10]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[10]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[10]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[10] / TCC_EA_RDREQ[10]) if (TCC_EA_RDREQ[10] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[10] / TCC_EA_WRREQ[10]) if (TCC_EA_WRREQ[10] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[10] / TCC_EA_ATOMIC[10]) if - (TCC_EA_ATOMIC[10] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[10]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[10]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[10]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[10]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[10]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[10]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[10]) / $denom)) - tips: - "11": - hit rate: - AVG((((100 * TCC_HIT[11]) / (TCC_HIT[11] + TCC_MISS[11])) if ((TCC_HIT[11] - + TCC_MISS[11]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[11]) / $denom)) - read req: AVG((TO_INT(TCC_READ[11]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[11]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[11]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[11]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[11]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[11]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[11] / TCC_EA_RDREQ[11]) if (TCC_EA_RDREQ[11] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[11] / TCC_EA_WRREQ[11]) if (TCC_EA_WRREQ[11] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[11] / TCC_EA_ATOMIC[11]) if - (TCC_EA_ATOMIC[11] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[11]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[11]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[11]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[11]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[11]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[11]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[11]) / $denom)) - tips: - "12": - hit rate: - AVG((((100 * TCC_HIT[12]) / (TCC_HIT[12] + TCC_MISS[12])) if ((TCC_HIT[12] - + TCC_MISS[12]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[12]) / $denom)) - read req: AVG((TO_INT(TCC_READ[12]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[12]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[12]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[12]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[12]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[12]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[12] / TCC_EA_RDREQ[12]) if (TCC_EA_RDREQ[12] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[12] / TCC_EA_WRREQ[12]) if (TCC_EA_WRREQ[12] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[12] / TCC_EA_ATOMIC[12]) if - (TCC_EA_ATOMIC[12] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[12]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[12]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[12]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[12]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[12]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[12]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[12]) / $denom)) - tips: - "13": - hit rate: - AVG((((100 * TCC_HIT[13]) / (TCC_HIT[13] + TCC_MISS[13])) if ((TCC_HIT[13] - + TCC_MISS[13]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[13]) / $denom)) - read req: AVG((TO_INT(TCC_READ[13]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[13]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[13]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[13]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[13]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[13]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[13] / TCC_EA_RDREQ[13]) if (TCC_EA_RDREQ[13] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[13] / TCC_EA_WRREQ[13]) if (TCC_EA_WRREQ[13] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[13] / TCC_EA_ATOMIC[13]) if - (TCC_EA_ATOMIC[13] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[13]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[13]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[13]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[13]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[13]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[13]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[13]) / $denom)) - tips: - "14": - hit rate: - AVG((((100 * TCC_HIT[14]) / (TCC_HIT[14] + TCC_MISS[14])) if ((TCC_HIT[14] - + TCC_MISS[14]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[14]) / $denom)) - read req: AVG((TO_INT(TCC_READ[14]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[14]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[14]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[14]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[14]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[14]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[14] / TCC_EA_RDREQ[14]) if (TCC_EA_RDREQ[14] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[14] / TCC_EA_WRREQ[14]) if (TCC_EA_WRREQ[14] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[14] / TCC_EA_ATOMIC[14]) if - (TCC_EA_ATOMIC[14] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[14]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[14]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[14]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[14]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[14]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[14]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[14]) / $denom)) - tips: - "15": - hit rate: - AVG((((100 * TCC_HIT[15]) / (TCC_HIT[15] + TCC_MISS[15])) if ((TCC_HIT[15] - + TCC_MISS[15]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[15]) / $denom)) - read req: AVG((TO_INT(TCC_READ[15]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[15]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[15]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[15]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[15]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[15]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[15] / TCC_EA_RDREQ[15]) if (TCC_EA_RDREQ[15] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[15] / TCC_EA_WRREQ[15]) if (TCC_EA_WRREQ[15] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[15] / TCC_EA_ATOMIC[15]) if - (TCC_EA_ATOMIC[15] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[15]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[15]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[15]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[15]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[15]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[15]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[15]) / $denom)) - tips: - - - metric_table: - id: 1803 - title: Channel 16-31 - columnwise: True - header: - channel: Channel - hit rate: L2 Cache Hit Rate (%) - req: Requests (Requests) - read req: L1-L2 Read (Requests) - write req: L1-L2 Write (Requests) - atomic req: L1-L2 Atomic (Requests) - ea read req: L2-EA Read (Requests) - ea write req: L2-EA Write (Requests) - ea atomic req: L2-EA Atomic (Requests) - ea read lat - cycles: L2-EA Read Latency (Cycles) - ea write lat - cycles: L2-EA Write Latency (Cycles) - ea atomic lat - cycles: L2-EA Atomic Latency (Cycles) - ea read stall - io: L2-EA Read Stall - IO (Cycles per) - ea read stall - gmi: L2-EA Read Stall - GMI (Cycles per) - ea read stall - dram: L2-EA Read Stall - DRAM (Cycles per) - ea write stall - io: L2-EA Write Stall - IO (Cycles per) - ea write stall - gmi: L2-EA Write Stall - GMI (Cycles per) - ea write stall - dram: L2-EA Write Stall - DRAM (Cycles per) - ea write stall - starve: L2-EA Write Stall - Starve (Cycles per) - tips: Tips - metric: - "16": - hit rate: - AVG((((100 * TCC_HIT[16]) / (TCC_HIT[16] + TCC_MISS[16])) if ((TCC_HIT[16] - + TCC_MISS[16]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[16]) / $denom)) - read req: AVG((TO_INT(TCC_READ[16]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[16]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[16]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[16]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[16]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[16]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[16] / TCC_EA_RDREQ[16]) if (TCC_EA_RDREQ[16] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[16] / TCC_EA_WRREQ[16]) if (TCC_EA_WRREQ[16] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[16] / TCC_EA_ATOMIC[16]) if - (TCC_EA_ATOMIC[16] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[16]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[16]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[16]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[16]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[16]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[16]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[16]) / $denom)) - tips: - "17": - hit rate: - AVG((((100 * TCC_HIT[17]) / (TCC_HIT[17] + TCC_MISS[17])) if ((TCC_HIT[17] - + TCC_MISS[17]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[17]) / $denom)) - read req: AVG((TO_INT(TCC_READ[17]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[17]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[17]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[17]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[17]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[17]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[17] / TCC_EA_RDREQ[17]) if (TCC_EA_RDREQ[17] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[17] / TCC_EA_WRREQ[17]) if (TCC_EA_WRREQ[17] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[17] / TCC_EA_ATOMIC[17]) if - (TCC_EA_ATOMIC[17] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[17]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[17]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[17]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[17]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[17]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[17]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[17]) / $denom)) - tips: - "18": - hit rate: - AVG((((100 * TCC_HIT[18]) / (TCC_HIT[18] + TCC_MISS[18])) if ((TCC_HIT[18] - + TCC_MISS[18]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[18]) / $denom)) - read req: AVG((TO_INT(TCC_READ[18]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[18]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[18]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[18]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[18]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[18]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[18] / TCC_EA_RDREQ[18]) if (TCC_EA_RDREQ[18] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[18] / TCC_EA_WRREQ[18]) if (TCC_EA_WRREQ[18] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[18] / TCC_EA_ATOMIC[18]) if - (TCC_EA_ATOMIC[18] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[18]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[18]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[18]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[18]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[18]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[18]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[18]) / $denom)) - tips: - "19": - hit rate: - AVG((((100 * TCC_HIT[19]) / (TCC_HIT[19] + TCC_MISS[19])) if ((TCC_HIT[19] - + TCC_MISS[19]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[19]) / $denom)) - read req: AVG((TO_INT(TCC_READ[19]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[19]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[19]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[19]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[19]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[19]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[19] / TCC_EA_RDREQ[19]) if (TCC_EA_RDREQ[19] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[19] / TCC_EA_WRREQ[19]) if (TCC_EA_WRREQ[19] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[19] / TCC_EA_ATOMIC[19]) if - (TCC_EA_ATOMIC[19] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[19]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[19]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[19]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[19]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[19]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[19]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[19]) / $denom)) - tips: - "20": - hit rate: - AVG((((100 * TCC_HIT[20]) / (TCC_HIT[20] + TCC_MISS[20])) if ((TCC_HIT[20] - + TCC_MISS[20]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[20]) / $denom)) - read req: AVG((TO_INT(TCC_READ[20]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[20]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[20]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[20]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[20]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[20]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[20] / TCC_EA_RDREQ[20]) if (TCC_EA_RDREQ[20] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[20] / TCC_EA_WRREQ[20]) if (TCC_EA_WRREQ[20] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[20] / TCC_EA_ATOMIC[20]) if - (TCC_EA_ATOMIC[20] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[20]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[20]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[20]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[20]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[20]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[20]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[20]) / $denom)) - tips: - "21": - hit rate: - AVG((((100 * TCC_HIT[21]) / (TCC_HIT[21] + TCC_MISS[21])) if ((TCC_HIT[21] - + TCC_MISS[21]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[21]) / $denom)) - read req: AVG((TO_INT(TCC_READ[21]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[21]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[21]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[21]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[21]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[21]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[21] / TCC_EA_RDREQ[21]) if (TCC_EA_RDREQ[21] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[21] / TCC_EA_WRREQ[21]) if (TCC_EA_WRREQ[21] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[21] / TCC_EA_ATOMIC[21]) if - (TCC_EA_ATOMIC[21] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[21]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[21]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[21]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[21]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[21]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[21]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[21]) / $denom)) - tips: - "22": - hit rate: - AVG((((100 * TCC_HIT[22]) / (TCC_HIT[22] + TCC_MISS[22])) if ((TCC_HIT[22] - + TCC_MISS[22]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[22]) / $denom)) - read req: AVG((TO_INT(TCC_READ[22]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[22]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[22]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[22]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[22]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[22]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[22] / TCC_EA_RDREQ[22]) if (TCC_EA_RDREQ[22] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[22] / TCC_EA_WRREQ[22]) if (TCC_EA_WRREQ[22] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[22] / TCC_EA_ATOMIC[22]) if - (TCC_EA_ATOMIC[22] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[22]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[22]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[22]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[22]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[22]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[22]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[22]) / $denom)) - tips: - "23": - hit rate: - AVG((((100 * TCC_HIT[23]) / (TCC_HIT[23] + TCC_MISS[23])) if ((TCC_HIT[23] - + TCC_MISS[23]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[23]) / $denom)) - read req: AVG((TO_INT(TCC_READ[23]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[23]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[23]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[23]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[23]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[23]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[23] / TCC_EA_RDREQ[23]) if (TCC_EA_RDREQ[23] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[23] / TCC_EA_WRREQ[23]) if (TCC_EA_WRREQ[23] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[23] / TCC_EA_ATOMIC[23]) if - (TCC_EA_ATOMIC[23] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[23]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[23]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[23]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[23]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[23]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[23]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[23]) / $denom)) - tips: - "24": - hit rate: - AVG((((100 * TCC_HIT[24]) / (TCC_HIT[24] + TCC_MISS[24])) if ((TCC_HIT[24] - + TCC_MISS[24]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[24]) / $denom)) - read req: AVG((TO_INT(TCC_READ[24]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[24]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[24]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[24]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[24]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[24]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[24] / TCC_EA_RDREQ[24]) if (TCC_EA_RDREQ[24] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[24] / TCC_EA_WRREQ[24]) if (TCC_EA_WRREQ[24] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[24] / TCC_EA_ATOMIC[24]) if - (TCC_EA_ATOMIC[24] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[24]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[24]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[24]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[24]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[24]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[24]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[24]) / $denom)) - tips: - "25": - hit rate: - AVG((((100 * TCC_HIT[25]) / (TCC_HIT[25] + TCC_MISS[25])) if ((TCC_HIT[25] - + TCC_MISS[25]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[25]) / $denom)) - read req: AVG((TO_INT(TCC_READ[25]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[25]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[25]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[25]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[25]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[25]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[25] / TCC_EA_RDREQ[25]) if (TCC_EA_RDREQ[25] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[25] / TCC_EA_WRREQ[25]) if (TCC_EA_WRREQ[25] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[25] / TCC_EA_ATOMIC[25]) if - (TCC_EA_ATOMIC[25] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[25]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[25]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[25]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[25]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[25]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[25]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[25]) / $denom)) - tips: - "26": - hit rate: - AVG((((100 * TCC_HIT[26]) / (TCC_HIT[26] + TCC_MISS[26])) if ((TCC_HIT[26] - + TCC_MISS[26]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[26]) / $denom)) - read req: AVG((TO_INT(TCC_READ[26]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[26]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[26]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[26]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[26]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[26]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[26] / TCC_EA_RDREQ[26]) if (TCC_EA_RDREQ[26] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[26] / TCC_EA_WRREQ[26]) if (TCC_EA_WRREQ[26] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[26] / TCC_EA_ATOMIC[26]) if - (TCC_EA_ATOMIC[26] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[26]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[26]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[26]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[26]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[26]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[26]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[26]) / $denom)) - tips: - "27": - hit rate: - AVG((((100 * TCC_HIT[27]) / (TCC_HIT[27] + TCC_MISS[27])) if ((TCC_HIT[27] - + TCC_MISS[27]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[27]) / $denom)) - read req: AVG((TO_INT(TCC_READ[27]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[27]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[27]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[27]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[27]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[27]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[27] / TCC_EA_RDREQ[27]) if (TCC_EA_RDREQ[27] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[27] / TCC_EA_WRREQ[27]) if (TCC_EA_WRREQ[27] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[27] / TCC_EA_ATOMIC[27]) if - (TCC_EA_ATOMIC[27] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[27]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[27]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[27]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[27]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[27]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[27]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[27]) / $denom)) - tips: - "28": - hit rate: - AVG((((100 * TCC_HIT[28]) / (TCC_HIT[28] + TCC_MISS[28])) if ((TCC_HIT[28] - + TCC_MISS[28]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[28]) / $denom)) - read req: AVG((TO_INT(TCC_READ[28]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[28]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[28]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[28]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[28]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[28]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[28] / TCC_EA_RDREQ[28]) if (TCC_EA_RDREQ[28] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[28] / TCC_EA_WRREQ[28]) if (TCC_EA_WRREQ[28] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[28] / TCC_EA_ATOMIC[28]) if - (TCC_EA_ATOMIC[28] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[28]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[28]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[28]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[28]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[28]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[28]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[28]) / $denom)) - tips: - "29": - hit rate: - AVG((((100 * TCC_HIT[29]) / (TCC_HIT[29] + TCC_MISS[29])) if ((TCC_HIT[29] - + TCC_MISS[29]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[29]) / $denom)) - read req: AVG((TO_INT(TCC_READ[29]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[29]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[29]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[29]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[29]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[29]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[29] / TCC_EA_RDREQ[29]) if (TCC_EA_RDREQ[29] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[29] / TCC_EA_WRREQ[29]) if (TCC_EA_WRREQ[29] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[29] / TCC_EA_ATOMIC[29]) if - (TCC_EA_ATOMIC[29] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[29]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[29]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[29]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[29]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[29]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[29]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[29]) / $denom)) - tips: - "30": - hit rate: - AVG((((100 * TCC_HIT[30]) / (TCC_HIT[30] + TCC_MISS[30])) if ((TCC_HIT[30] - + TCC_MISS[30]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[30]) / $denom)) - read req: AVG((TO_INT(TCC_READ[30]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[30]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[30]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[30]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[30]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[30]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[30] / TCC_EA_RDREQ[30]) if (TCC_EA_RDREQ[30] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[30] / TCC_EA_WRREQ[30]) if (TCC_EA_WRREQ[30] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[30] / TCC_EA_ATOMIC[30]) if - (TCC_EA_ATOMIC[30] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[30]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[30]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[30]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[30]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[30]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[30]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[30]) / $denom)) - tips: - "31": - hit rate: - AVG((((100 * TCC_HIT[31]) / (TCC_HIT[31] + TCC_MISS[31])) if ((TCC_HIT[31] - + TCC_MISS[31]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[31]) / $denom)) - read req: AVG((TO_INT(TCC_READ[31]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[31]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[31]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[31]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[31]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[31]) / $denom)) - ea read lat - cycles: - AVG(((TCC_EA_RDREQ_LEVEL[31] / TCC_EA_RDREQ[31]) if (TCC_EA_RDREQ[31] - != 0) else None)) - ea write lat - cycles: - AVG(((TCC_EA_WRREQ_LEVEL[31] / TCC_EA_WRREQ[31]) if (TCC_EA_WRREQ[31] - != 0) else None)) - ea atomic lat - cycles: - AVG(((TCC_EA_ATOMIC_LEVEL[31] / TCC_EA_ATOMIC[31]) if - (TCC_EA_ATOMIC[31] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[31]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[31]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[31]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[31]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[31]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[31]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[31]) / $denom)) - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/1900_memory_chart.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/1900_memory_chart.yaml deleted file mode 100644 index 3728934e2b..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/1900_memory_chart.yaml +++ /dev/null @@ -1,259 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1900 - title: Memory Chart Analysis - data source: - - metric_table: - id: 1901 - title: # subtitle for this table(optional) - header: - metric: Metric - value: Value - alias: Alias - tips: Tips - metric: - Wave Life: - value: ROUND(AVG(((4 * (SQ_WAVE_CYCLES / SQ_WAVES)) if (SQ_WAVES != 0) else - None)), 0) - alias: wave_life_ - tips: - Active CUs: - value: CONCAT(CONCAT($numActiveCUs, "/"), $numCU) - alias: active_cu_ - tips: - SALU: - value: ROUND(AVG((SQ_INSTS_SALU / $denom)), 0) - alias: salu_ - tips: - SMEM: - value: ROUND(AVG((SQ_INSTS_SMEM / $denom)), 0) - alias: smem_ - tips: - VALU: - value: ROUND(AVG((SQ_INSTS_VALU / $denom)), 0) - alias: valu_ - tips: - MFMA: - value: None # No perf counter - alias: mfma_ - tips: - VMEM: - value: ROUND(AVG((SQ_INSTS_VMEM / $denom)), 0) - alias: vmem_ - tips: - LDS: - value: ROUND(AVG((SQ_INSTS_LDS / $denom)), 0) - alias: lds_ - tips: - GWS: - value: ROUND(AVG((SQ_INSTS_GDS / $denom)), 0) - alias: gws_ - tips: - BR: - value: ROUND(AVG((SQ_INSTS_BRANCH / $denom)), 0) - alias: br_ - tips: - VGPR: - value: ROUND(AVG(vgpr), 0) - alias: vgpr_ - tips: - SGPR: - value: ROUND(AVG(sgpr), 0) - alias: sgpr_ - tips: - LDS Allocation: - value: ROUND(AVG(lds), 0) - alias: lds_alloc_ - tips: - Scratch Allocation: - value: ROUND(AVG(scr), 0) - alias: scratch_alloc_ - tips: - Wavefronts: - value: ROUND(AVG(SPI_CSN_WAVE), 0) - alias: wavefronts_ - tips: - Workgroups: - value: ROUND(AVG(SPI_CSN_NUM_THREADGROUPS), 0) - alias: workgroups_ - tips: - LDS Req: - value: ROUND(AVG((SQ_INSTS_LDS / $denom)), 0) - alias: lds_req_ - tips: - IL1 Fetch: - value: ROUND(AVG((SQC_ICACHE_REQ / $denom)), 0) - alias: il1_fetch_ - tips: - IL1 Hit: - value: ROUND((AVG((SQC_ICACHE_HITS / SQC_ICACHE_REQ)) * 100), 0) - alias: il1_hit_ - tips: - IL1_L2 Rd: - value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0) - alias: il1_l2_req_ - tips: - vL1D Rd: - value: ROUND(AVG((SQC_DCACHE_REQ / $denom)), 0) - alias: sl1_rd_ - tips: - vL1D Hit: - value: ROUND((AVG(((SQC_DCACHE_HITS / SQC_DCACHE_REQ) if (SQC_DCACHE_REQ != - 0) else None)) * 100), 0) - alias: sl1_hit_ - tips: - vL1D_L2 Rd: - value: ROUND(AVG((SQC_TC_DATA_READ_REQ / $denom)), 0) - alias: sl1_l2_rd_ - tips: - vL1D_L2 Wr: - value: ROUND(AVG((SQC_TC_DATA_WRITE_REQ / $denom)), 0) - alias: sl1_l2_wr_ - tips: - vL1D_L2 Atomic: - value: ROUND(AVG((SQC_TC_DATA_ATOMIC_REQ / $denom)), 0) - alias: sl1_l2_atom_ - tips: - VL1 Rd: - value: ROUND(AVG((TCP_TOTAL_READ_sum / $denom)), 0) - alias: vl1_rd_ - tips: - VL1 Wr: - value: ROUND(AVG((TCP_TOTAL_WRITE_sum / $denom)), 0) - alias: vl1_wr_ - tips: - VL1 Atomic: - value: ROUND(AVG(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) - / $denom)), 0) - alias: vl1_atom_ - tips: - VL1 Hit: - value: ROUND(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)) - / TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)), 0) - alias: vl1_hit_ - tips: - VL1 Lat: - value: ROUND(AVG(((TCP_TCP_LATENCY_sum / TCP_TA_TCP_STATE_READ_sum) if (TCP_TA_TCP_STATE_READ_sum - != 0) else None)), 0) - alias: vl1_lat_ - tips: - VL1_L2 Rd: - value: ROUND(AVG((TCP_TCC_READ_REQ_sum / $denom)), 0) - alias: vl1_l2_rd_ - tips: - VL1_L2 Wr: - value: ROUND(AVG((TCP_TCC_WRITE_REQ_sum / $denom)), 0) - alias: vl1_l2_wr_ - tips: - vL1_L2 Atomic: - value: ROUND(AVG(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - / $denom)), 0) - alias: vl1_l2_atom_ - tips: - L2 Rd: - value: ROUND(AVG((TCC_READ_sum / $denom)), 0) - alias: l2_rd_ - tips: - L2 Wr: - value: ROUND(AVG((TCC_WRITE_sum / $denom)), 0) - alias: l2_wr_ - tips: - L2 Atomic: - value: ROUND(AVG((TCC_ATOMIC_sum / $denom)), 0) - alias: l2_atom_ - tips: - L2 Hit: - value: ROUND(AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)), 0) - alias: l2_hit_ - tips: - L2 Rd Lat: - value: ROUND(AVG(((TCP_TCC_READ_REQ_LATENCY_sum / (TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)) - if ((TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) != 0) else None)), - 0) - alias: l2_rd_lat_ - tips: - L2 Wr Lat: - value: ROUND(AVG(((TCP_TCC_WRITE_REQ_LATENCY_sum / (TCP_TCC_WRITE_REQ_sum + - TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) if ((TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - != 0) else None)), 0) - alias: l2_wr_lat_ - tips: - Fabric Rd Lat: - value: ROUND(AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum - != 0) else None)), 0) - alias: fabric_rd_lat_ - tips: - Fabric Wr Lat: - value: ROUND(AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum - != 0) else None)), 0) - alias: fabric_wr_lat_ - tips: - Fabric Atomic Lat: - value: ROUND(AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum - != 0) else None)), 0) - alias: fabric_atom_lat_ - tips: - Fabric_L2 Rd: - value: ROUND(AVG((TCC_EA_RDREQ_sum / $denom)), 0) - alias: l2_fabric_rd_ - tips: - Fabric_L2 Wr: - value: ROUND(AVG((TCC_EA_WRREQ_sum / $denom)), 0) - alias: l2_fabric_wr_ - tips: - Fabric_l2 Atomic: - value: ROUND(AVG((TCC_EA_ATOMIC_sum / $denom)), 0) - alias: l2_fabric_atom_ - tips: - HBM Rd: - value: ROUND(AVG((TCC_EA_RDREQ_DRAM_sum / $denom)), 0) - alias: hbm_rd_ - tips: - HBM Wr: - value: ROUND(AVG((TCC_EA_WRREQ_DRAM_sum / $denom)), 0) - alias: hbm_wr_ - tips: - LDS Util: - value: ROUND(AVG(((100 * SQ_LDS_IDX_ACTIVE) / (GRBM_GUI_ACTIVE * $numCU))), - 0) - alias: lds_util_ - tips: - VL1 Coalesce: - value: ROUND(AVG(((((TA_TOTAL_WAVEFRONTS_sum * 64) * 100) / (TCP_TOTAL_ACCESSES_sum - * 4)) if (TCP_TOTAL_ACCESSES_sum != 0) else 0)), 0) - alias: vl1_coales_ - tips: - VL1 Stall: - value: ROUND(AVG((((100 * TCP_TCR_TCP_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)), 0) - alias: vl1_stall_ - tips: - LDS Lat: - value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) - if (SQ_INSTS_LDS != 0) else None)), 0) - alias: lds_lat_ - coll_level: SQ_INST_LEVEL_LDS - tips: - vL1D Lat: - value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / SQC_DCACHE_REQ) - if (SQC_DCACHE_REQ != 0) else None)), 0) - alias: sl1_lat_ - tips: - IL1 Lat: - value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) - if (SQC_ICACHE_REQ != 0) else None)), 0) - alias: il1_lat_ - tips: - Wave Occupancy: - value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE) / $numActiveCUs)), 0) - alias: wave_occ_ - coll_level: SQ_LEVEL_WAVES - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx908/2000_kernels.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx908/2000_kernels.yaml deleted file mode 100644 index ed566f75a2..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx908/2000_kernels.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -Panel Config: - id: 2000 - title: Kernels - data source: - - raw_csv_table: - id: 2001 - source: pmc_dispatch_info.csv diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/0000_top_stat.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/0000_top_stat.yaml deleted file mode 100644 index 077004080f..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/0000_top_stat.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -Panel Config: - id: 000 - title: Top Stat - data source: - - raw_csv_table: - id: 001 - source: pmc_kernel_top.csv diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/0100_system_info.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/0100_system_info.yaml deleted file mode 100644 index b7ec29eaf9..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/0100_system_info.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -Panel Config: - id: 100 - title: System Info - data source: - - raw_csv_table: - id: 101 - source: sysinfo.csv - columnwise: True diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/0200_system-speed-of-light.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/0200_system-speed-of-light.yaml deleted file mode 100644 index c197c0fc58..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/0200_system-speed-of-light.yaml +++ /dev/null @@ -1,247 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - SALU: &SALU_anchor Scalar Arithmetic Logic Unit - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 200 - title: System Speed-of-Light - data source: - - metric_table: - id: 201 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - peak: Peak - pop: PoP - tips: Tips - metric: - VALU FLOPs: - value: AVG(((((64 * (((SQ_INSTS_VALU_ADD_F16 + SQ_INSTS_VALU_MUL_F16) + SQ_INSTS_VALU_TRANS_F16) - + (2 * SQ_INSTS_VALU_FMA_F16))) + (64 * (((SQ_INSTS_VALU_ADD_F32 + SQ_INSTS_VALU_MUL_F32) - + SQ_INSTS_VALU_TRANS_F32) + (2 * SQ_INSTS_VALU_FMA_F32)))) + (64 * (((SQ_INSTS_VALU_ADD_F64 - + SQ_INSTS_VALU_MUL_F64) + SQ_INSTS_VALU_TRANS_F64) + (2 * SQ_INSTS_VALU_FMA_F64)))) - / (EndNs - BeginNs))) - unit: GFLOP - peak: (((($sclk * $numCU) * 64) * 2) / 1000) - pop: ((100 * AVG(((((64 * (((SQ_INSTS_VALU_ADD_F16 + SQ_INSTS_VALU_MUL_F16) - + SQ_INSTS_VALU_TRANS_F16) + (2 * SQ_INSTS_VALU_FMA_F16))) + (64 * (((SQ_INSTS_VALU_ADD_F32 - + SQ_INSTS_VALU_MUL_F32) + SQ_INSTS_VALU_TRANS_F32) + (2 * SQ_INSTS_VALU_FMA_F32)))) - + (64 * (((SQ_INSTS_VALU_ADD_F64 + SQ_INSTS_VALU_MUL_F64) + SQ_INSTS_VALU_TRANS_F64) - + (2 * SQ_INSTS_VALU_FMA_F64)))) / (EndNs - BeginNs)))) / (((($sclk - * $numCU) * 64) * 2) / 1000)) - tips: - VALU IOPs: - value: AVG(((64 * (SQ_INSTS_VALU_INT32 + SQ_INSTS_VALU_INT64)) / (EndNs - BeginNs))) - unit: GIOP - peak: (((($sclk * $numCU) * 64) * 2) / 1000) - pop: ((100 * AVG(((64 * (SQ_INSTS_VALU_INT32 + SQ_INSTS_VALU_INT64)) / (EndNs - - BeginNs)))) / (((($sclk * $numCU) * 64) * 2) / 1000)) - tips: - MFMA FLOPs (BF16): - value: AVG(((SQ_INSTS_VALU_MFMA_MOPS_BF16 * 512) / (EndNs - BeginNs))) - unit: GFLOP - peak: ((($sclk * $numCU) * 1024) / 1000) - pop: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_BF16 * 512) / (EndNs - BeginNs)))) - / ((($sclk * $numCU) * 1024) / 1000)) - tips: - MFMA FLOPs (F16): - value: AVG(((SQ_INSTS_VALU_MFMA_MOPS_F16 * 512) / (EndNs - BeginNs))) - unit: GFLOP - peak: ((($sclk * $numCU) * 1024) / 1000) - pop: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F16 * 512) / (EndNs - BeginNs)))) - / ((($sclk * $numCU) * 1024) / 1000)) - tips: - MFMA FLOPs (F32): - value: AVG(((SQ_INSTS_VALU_MFMA_MOPS_F32 * 512) / (EndNs - BeginNs))) - unit: GFLOP - peak: ((($sclk * $numCU) * 256) / 1000) - pop: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F32 * 512) / (EndNs - BeginNs)))) - / ((($sclk * $numCU) * 256) / 1000)) - tips: - MFMA FLOPs (F64): - value: AVG(((SQ_INSTS_VALU_MFMA_MOPS_F64 * 512) / (EndNs - BeginNs))) - unit: GFLOP - peak: ((($sclk * $numCU) * 256) / 1000) - pop: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F64 * 512) / (EndNs - BeginNs)))) - / ((($sclk * $numCU) * 256) / 1000)) - tips: - MFMA IOPs (Int8): - value: AVG(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / (EndNs - BeginNs))) - unit: GIOP - peak: ((($sclk * $numCU) * 1024) / 1000) - pop: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / (EndNs - BeginNs)))) - / ((($sclk * $numCU) * 1024) / 1000)) - tips: - Active CUs: - value: $numActiveCUs - unit: CUs - peak: $numCU - pop: ((100 * $numActiveCUs) / $numCU) - tips: - SALU Util: - value: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - peak: 100 - pop: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU))) - tips: - VALU Util: - value: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - peak: 100 - pop: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU))) - tips: - MFMA Util: - value: AVG(((100 * SQ_VALU_MFMA_BUSY_CYCLES) / ((GRBM_GUI_ACTIVE * $numCU) - * 4))) - unit: pct - peak: 100 - pop: AVG(((100 * SQ_VALU_MFMA_BUSY_CYCLES) / ((GRBM_GUI_ACTIVE * $numCU) - * 4))) - tips: - VALU Active Threads/Wave: - value: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) - unit: Threads - peak: 64 - pop: (AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) * 1.5625) - tips: - IPC - Issue: - value: AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) - + SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) - / SQ_ACTIVE_INST_ANY)) - unit: Instr/cycle - peak: 5 - pop: ((100 * AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) - + SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) - / SQ_ACTIVE_INST_ANY))) / 5) - tips: - LDS BW: - value: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / (EndNs - BeginNs))) - unit: GB/sec - peak: (($sclk * $numCU) * 0.128) - pop: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / (EndNs - BeginNs)) / (($sclk * $numCU) * 0.00128))) - tips: - LDS Bank Conflict: - value: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - unit: Conflicts/access - peak: 32 - pop: ((100 * AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))) / 32) - tips: - Instr Cache Hit Rate: - value: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES))) - unit: pct - peak: 100 - pop: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES))) - tips: - Instr Cache BW: - value: AVG(((SQC_ICACHE_REQ / (EndNs - BeginNs)) * 64)) - unit: GB/s - peak: ((($sclk / 1000) * 64) * $numSQC) - pop: ((100 * AVG(((SQC_ICACHE_REQ / (EndNs - BeginNs)) * 64))) / ((($sclk - / 1000) * 64) * $numSQC)) - tips: - Scalar L1D Cache Hit Rate: - value: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES)) - if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None)) - unit: pct - peak: 100 - pop: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES)) - if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None)) - tips: - Scalar L1D Cache BW: - value: AVG(((SQC_DCACHE_REQ / (EndNs - BeginNs)) * 64)) - unit: GB/s - peak: ((($sclk / 1000) * 64) * $numSQC) - pop: ((100 * AVG(((SQC_DCACHE_REQ / (EndNs - BeginNs)) * 64))) / ((($sclk - / 1000) * 64) * $numSQC)) - tips: - Vector L1D Cache Hit Rate: - value: 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)) - / TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - unit: pct - peak: 100 - pop: 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)) / - TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - tips: - Vector L1D Cache BW: - value: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) - unit: GB/s - peak: ((($sclk / 1000) * 64) * $numCU) - pop: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs)))) - / ((($sclk / 1000) * 64) * $numCU)) - tips: - L2 Cache Hit Rate: - value: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - unit: pct - peak: 100 - pop: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - tips: - L2-Fabric Read BW: - value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / (EndNs - BeginNs))) - unit: GB/s - peak: $hbmBW - pop: ((100 * AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / (EndNs - BeginNs)))) / $hbmBW) - tips: - L2-Fabric Write BW: - value: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / (EndNs - BeginNs))) - unit: GB/s - peak: $hbmBW - pop: ((100 * AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / (EndNs - BeginNs)))) / $hbmBW) - tips: - L2-Fabric Read Latency: - value: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum - != 0) else None)) - unit: Cycles - peak: '' - pop: '' - tips: - L2-Fabric Write Latency: - value: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum - != 0) else None)) - unit: Cycles - peak: '' - pop: '' - tips: - Wave Occupancy: - value: AVG((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE)) - unit: Wavefronts - peak: ($maxWavesPerCU * $numCU) - pop: (100 * AVG(((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE) / ($maxWavesPerCU - * $numCU)))) - coll_level: SQ_LEVEL_WAVES - tips: - Instr Fetch BW: - value: AVG(((SQ_IFETCH / (EndNs - BeginNs)) * 32)) - unit: GB/s - peak: ((($sclk / 1000) * 32) * $numSQC) - pop: ((100 * AVG(((SQ_IFETCH / (EndNs - BeginNs)) * 32))) / ($numSQC - * (($sclk / 1000) * 32))) - coll_level: SQ_IFETCH_LEVEL - tips: - Instr Fetch Latency: - value: AVG((SQ_ACCUM_PREV_HIRES / SQ_IFETCH)) - unit: Cycles - peak: '' - pop: '' - coll_level: SQ_IFETCH_LEVEL - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/0500_command-processor.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/0500_command-processor.yaml deleted file mode 100644 index d954f61625..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/0500_command-processor.yaml +++ /dev/null @@ -1,180 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 500 - title: Command Processor (CPC/CPF) - data source: - - metric_table: - id: 501 - title: Command Processor Fetcher - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - GPU Busy Cycles: - avg: AVG(GRBM_GUI_ACTIVE) - min: MIN(GRBM_GUI_ACTIVE) - max: MAX(GRBM_GUI_ACTIVE) - unit: Cycles/Kernel - tips: - CPF Busy: - avg: AVG(CPF_CPF_STAT_BUSY) - min: MIN(CPF_CPF_STAT_BUSY) - max: MAX(CPF_CPF_STAT_BUSY) - unit: Cycles/Kernel - tips: - CPF Util: - avg: AVG((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE)) - if ((CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE) != 0) else None)) - min: MIN((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE)) - if ((CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE) != 0) else None)) - max: MAX((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE)) - if ((CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE) != 0) else None)) - unit: pct - tips: - CPF Stall: - avg: AVG((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY - != 0) else None)) - min: MIN((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY - != 0) else None)) - max: MAX((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY - != 0) else None)) - unit: Cycles/Kernel - tips: - L2Cache Intf Busy: - avg: AVG(CPF_CPF_TCIU_BUSY) - min: MIN(CPF_CPF_TCIU_BUSY) - max: MAX(CPF_CPF_TCIU_BUSY) - unit: Cycles/Kernel - tips: - L2Cache Intf Util: - avg: AVG((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE)) - if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None)) - min: MIN((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE)) - if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None)) - max: MAX((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE)) - if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None)) - unit: pct - tips: - L2Cache Intf Stall: - avg: AVG((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY - != 0) else None)) - min: MIN((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY - != 0) else None)) - max: MAX((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY - != 0) else None)) - unit: pct - tips: - UTCL1 Stall: - avg: AVG(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) - min: MIN(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) - max: MAX(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) - unit: Cycles/Kernel - tips: - - - metric_table: - id: 502 - title: Command Processor Compute - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - GPU Busy Cycles: - avg: AVG(GRBM_GUI_ACTIVE) - min: MIN(GRBM_GUI_ACTIVE) - max: MAX(GRBM_GUI_ACTIVE) - unit: Cycles - tips: - CPC Busy Cycles: - avg: AVG(CPC_CPC_STAT_BUSY) - min: MIN(CPC_CPC_STAT_BUSY) - max: MAX(CPC_CPC_STAT_BUSY) - unit: Cycles - tips: - CPC Util: - avg: AVG((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE)) - if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None)) - min: MIN((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE)) - if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None)) - max: MAX((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE)) - if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None)) - unit: pct - tips: - CPC Stall Cycles: - avg: AVG(CPC_CPC_STAT_STALL) - min: MIN(CPC_CPC_STAT_STALL) - max: MAX(CPC_CPC_STAT_STALL) - unit: Cycles - tips: - CPC Stall Rate: - avg: AVG((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - min: MIN((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - max: MAX((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - unit: pct - tips: - CPC Packet Decoding: - avg: AVG(CPC_ME1_BUSY_FOR_PACKET_DECODE) - min: MIN(CPC_ME1_BUSY_FOR_PACKET_DECODE) - max: MAX(CPC_ME1_BUSY_FOR_PACKET_DECODE) - unit: Cycles - tips: - SPI Intf Busy Cycles: - avg: AVG(CPC_ME1_DC0_SPI_BUSY) - min: MIN(CPC_ME1_DC0_SPI_BUSY) - max: MAX(CPC_ME1_DC0_SPI_BUSY) - unit: Cycles - tips: - SPI Intf Util: - avg: AVG((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - min: MIN((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - max: MAX((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - unit: pct - tips: - L2Cache Intf Util: - avg: AVG((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE)) - if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None)) - min: MIN((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE)) - if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None)) - max: MAX((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE)) - if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None)) - unit: pct - tips: - UTCL1 Stall Cycles: - avg: AVG(CPC_UTCL1_STALL_ON_TRANSLATION) - min: MIN(CPC_UTCL1_STALL_ON_TRANSLATION) - max: MAX(CPC_UTCL1_STALL_ON_TRANSLATION) - unit: Cycles - tips: - UTCL2 Intf Busy Cycles: - avg: AVG(CPC_CPC_UTCL2IU_BUSY) - min: MIN(CPC_CPC_UTCL2IU_BUSY) - max: MAX(CPC_CPC_UTCL2IU_BUSY) - unit: Cycles - tips: - UTCL2 Intf Util: - avg: AVG((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE)) - if ((CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE) != 0) else None)) - min: MIN((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE)) - if ((CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE) != 0) else None)) - max: MAX((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE)) - if ((CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE) != 0) else None)) - unit: pct - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/0600_shader-processor-input.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/0600_shader-processor-input.yaml deleted file mode 100644 index bab48700ac..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/0600_shader-processor-input.yaml +++ /dev/null @@ -1,174 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 600 - title: Shader Processor Input (SPI) - data source: - - metric_table: - id: 601 - title: SPI Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - GPU Busy: - avg: AVG(GRBM_GUI_ACTIVE) - min: MIN(GRBM_GUI_ACTIVE) - max: MAX(GRBM_GUI_ACTIVE) - unit: Cycles - tips: - CS Busy: - avg: AVG(SPI_CSN_BUSY) - min: MIN(SPI_CSN_BUSY) - max: MAX(SPI_CSN_BUSY) - unit: Cycles - tips: - SPI Busy: - avg: AVG(GRBM_SPI_BUSY) - min: MIN(GRBM_SPI_BUSY) - max: MAX(GRBM_SPI_BUSY) - unit: Cycles - tips: - SQ Busy: - avg: AVG(SQ_BUSY_CYCLES) - min: MIN(SQ_BUSY_CYCLES) - max: MAX(SQ_BUSY_CYCLES) - unit: Cycles - tips: - Dispatched Workgroups: - avg: AVG(SPI_CSN_NUM_THREADGROUPS) - min: MIN(SPI_CSN_NUM_THREADGROUPS) - max: MAX(SPI_CSN_NUM_THREADGROUPS) - unit: Workgroups - tips: - Dispatched Wavefronts: - avg: AVG(SPI_CSN_WAVE) - min: MIN(SPI_CSN_WAVE) - max: MAX(SPI_CSN_WAVE) - unit: Wavefronts - tips: - Wave Alloc Failed: - avg: AVG(SPI_RA_REQ_NO_ALLOC) - min: MIN(SPI_RA_REQ_NO_ALLOC) - max: MAX(SPI_RA_REQ_NO_ALLOC) - unit: Cycles - tips: - Wave Alloc Failed - CS: - avg: AVG(SPI_RA_REQ_NO_ALLOC_CSN) - min: MIN(SPI_RA_REQ_NO_ALLOC_CSN) - max: MAX(SPI_RA_REQ_NO_ALLOC_CSN) - unit: Cycles - tips: - - - metric_table: - id: 602 - title: SPI Resource Allocation - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Wave request Failed (CS): - avg: AVG(SPI_RA_REQ_NO_ALLOC_CSN) - min: MIN(SPI_RA_REQ_NO_ALLOC_CSN) - max: MAX(SPI_RA_REQ_NO_ALLOC_CSN) - unit: Cycles - tips: - CS Stall: - avg: AVG(SPI_RA_RES_STALL_CSN) - min: MIN(SPI_RA_RES_STALL_CSN) - max: MAX(SPI_RA_RES_STALL_CSN) - unit: Cycles - tips: - CS Stall Rate: - avg: AVG((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY != - 0) else None)) - min: MIN((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY != - 0) else None)) - max: MAX((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY != - 0) else None)) - unit: pct - tips: - Scratch Stall: - avg: AVG(SPI_RA_TMP_STALL_CSN) - min: MIN(SPI_RA_TMP_STALL_CSN) - max: MAX(SPI_RA_TMP_STALL_CSN) - unit: Cycles - tips: - Insufficient SIMD Waveslots: - avg: AVG(SPI_RA_WAVE_SIMD_FULL_CSN) - min: MIN(SPI_RA_WAVE_SIMD_FULL_CSN) - max: MAX(SPI_RA_WAVE_SIMD_FULL_CSN) - unit: SIMD - tips: - Insufficient SIMD VGPRs: - avg: AVG(SPI_RA_VGPR_SIMD_FULL_CSN) - min: MIN(SPI_RA_VGPR_SIMD_FULL_CSN) - max: MAX(SPI_RA_VGPR_SIMD_FULL_CSN) - unit: SIMD - tips: - Insufficient SIMD SGPRs: - avg: AVG(SPI_RA_SGPR_SIMD_FULL_CSN) - min: MIN(SPI_RA_SGPR_SIMD_FULL_CSN) - max: MAX(SPI_RA_SGPR_SIMD_FULL_CSN) - unit: SIMD - tips: - Insufficient CU LDS: - avg: AVG(SPI_RA_LDS_CU_FULL_CSN) - min: MIN(SPI_RA_LDS_CU_FULL_CSN) - max: MAX(SPI_RA_LDS_CU_FULL_CSN) - unit: CU - tips: - Insufficient CU Barries: - avg: AVG(SPI_RA_BAR_CU_FULL_CSN) - min: MIN(SPI_RA_BAR_CU_FULL_CSN) - max: MAX(SPI_RA_BAR_CU_FULL_CSN) - unit: CU - tips: - Insufficient Bulky Resource: - avg: AVG(SPI_RA_BULKY_CU_FULL_CSN) - min: MIN(SPI_RA_BULKY_CU_FULL_CSN) - max: MAX(SPI_RA_BULKY_CU_FULL_CSN) - unit: CU - tips: - Reach CU Threadgroups Limit: - avg: AVG(SPI_RA_TGLIM_CU_FULL_CSN) - min: MIN(SPI_RA_TGLIM_CU_FULL_CSN) - max: MAX(SPI_RA_TGLIM_CU_FULL_CSN) - unit: Cycles - tips: - Reach CU Wave Limit: - avg: AVG(SPI_RA_WVLIM_STALL_CSN) - min: MIN(SPI_RA_WVLIM_STALL_CSN) - max: MAX(SPI_RA_WVLIM_STALL_CSN) - unit: Cycles - tips: - VGPR Writes: - avg: AVG((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - min: MIN((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - max: MAX((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - unit: Cycles/wave - tips: - SGPR Writes: - avg: AVG((((1 * SPI_SWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - min: MIN((((1 * SPI_SWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - max: MAX((((1 * SPI_SWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - unit: Cycles/wave - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/0700_wavefront-launch.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/0700_wavefront-launch.yaml deleted file mode 100644 index 13ba5b8e16..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/0700_wavefront-launch.yaml +++ /dev/null @@ -1,142 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 700 - title: Wavefront - data source: - - metric_table: - id: 701 - title: Wavefront Launch Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Grid Size: - avg: AVG(grd) - min: MIN(grd) - max: MAX(grd) - unit: Work Items - tips: - Workgroup Size: - avg: AVG(wgr) - min: MIN(wgr) - max: MAX(wgr) - unit: Work Items - tips: - Total Wavefronts: - avg: AVG(SPI_CSN_WAVE) - min: MIN(SPI_CSN_WAVE) - max: MAX(SPI_CSN_WAVE) - unit: Wavefronts - tips: - Saved Wavefronts: - avg: AVG(SQ_WAVES_SAVED) - min: MIN(SQ_WAVES_SAVED) - max: MAX(SQ_WAVES_SAVED) - unit: Wavefronts - tips: - Restored Wavefronts: - avg: AVG(SQ_WAVES_RESTORED) - min: MIN(SQ_WAVES_RESTORED) - max: MAX(SQ_WAVES_RESTORED) - unit: Wavefronts - tips: - VGPRs: - avg: AVG(arch_vgpr) - min: MIN(arch_vgpr) - max: MAX(arch_vgpr) - unit: Registers - tips: - AGPRs: - avg: AVG(accum_vgpr) - min: MIN(accum_vgpr) - max: MAX(accum_vgpr) - unit: Registers - tips: - SGPRs: - avg: AVG(sgpr) - min: MIN(sgpr) - max: MAX(sgpr) - unit: Registers - tips: - LDS Allocation: - avg: AVG(lds) - min: MIN(lds) - max: MAX(lds) - unit: Bytes - tips: - Scratch Allocation: - avg: AVG(scr) - min: MIN(scr) - max: MAX(scr) - unit: Bytes - tips: - - - metric_table: - id: 702 - title: Wavefront Runtime Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Kernel Time (Nanosec): - avg: AVG((EndNs - BeginNs)) - min: MIN((EndNs - BeginNs)) - max: MAX((EndNs - BeginNs)) - unit: ns - tips: - Kernel Time (Cycles): - avg: AVG(GRBM_GUI_ACTIVE) - min: MIN(GRBM_GUI_ACTIVE) - max: MAX(GRBM_GUI_ACTIVE) - unit: Cycle - tips: - Instr/wavefront: - avg: AVG((SQ_INSTS / SQ_WAVES)) - min: MIN((SQ_INSTS / SQ_WAVES)) - max: MAX((SQ_INSTS / SQ_WAVES)) - unit: Instr/wavefront - tips: - Wave Cycles: - avg: AVG(((4 * SQ_WAVE_CYCLES) / $denom)) - min: MIN(((4 * SQ_WAVE_CYCLES) / $denom)) - max: MAX(((4 * SQ_WAVE_CYCLES) / $denom)) - unit: (Cycles + $normUnit) - tips: - Dependency Wait Cycles: - avg: AVG(((4 * SQ_WAIT_ANY) / $denom)) - min: MIN(((4 * SQ_WAIT_ANY) / $denom)) - max: MAX(((4 * SQ_WAIT_ANY) / $denom)) - unit: (Cycles + $normUnit) - tips: - Issue Wait Cycles: - avg: AVG(((4 * SQ_WAIT_INST_ANY) / $denom)) - min: MIN(((4 * SQ_WAIT_INST_ANY) / $denom)) - max: MAX(((4 * SQ_WAIT_INST_ANY) / $denom)) - unit: (Cycles + $normUnit) - tips: - Active Cycles: - avg: AVG(((4 * SQ_ACTIVE_INST_ANY) / $denom)) - min: MIN(((4 * SQ_ACTIVE_INST_ANY) / $denom)) - max: MAX(((4 * SQ_ACTIVE_INST_ANY) / $denom)) - unit: (Cycles + $normUnit) - tips: - Wavefront Occupancy: - avg: AVG((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE)) - min: MIN((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE)) - max: MAX((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE)) - unit: Wavefronts - coll_level: SQ_LEVEL_WAVES - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1000_compute-unit-instruction-mix.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/1000_compute-unit-instruction-mix.yaml deleted file mode 100644 index 8ffd87d2c8..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1000_compute-unit-instruction-mix.yaml +++ /dev/null @@ -1,234 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1000 - title: Compute Units - Instruction Mix - data source: - - metric_table: - id: 1001 - title: Instruction Mix - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - style: - type: simple_bar - label_txt: (# of instr + $normUnit) - metric: - VALU - Vector: - avg: AVG(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom)) - min: MIN(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom)) - max: MAX(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom)) - unit: (instr + $normUnit) - tips: - VMEM: - avg: AVG(((SQ_INSTS_VMEM - SQ_INSTS_FLAT_LDS_ONLY) / $denom)) - min: MIN(((SQ_INSTS_VMEM - SQ_INSTS_FLAT_LDS_ONLY) / $denom)) - max: MAX(((SQ_INSTS_VMEM - SQ_INSTS_FLAT_LDS_ONLY) / $denom)) - unit: (instr + $normUnit) - tips: - LDS: - avg: AVG((SQ_INSTS_LDS / $denom)) - min: MIN((SQ_INSTS_LDS / $denom)) - max: MAX((SQ_INSTS_LDS / $denom)) - unit: (instr + $normUnit) - tips: - VALU - MFMA: - avg: AVG((SQ_INSTS_MFMA / $denom)) - min: MIN((SQ_INSTS_MFMA / $denom)) - max: MAX((SQ_INSTS_MFMA / $denom)) - unit: (instr + $normUnit) - tips: - SALU: - avg: AVG((SQ_INSTS_SALU / $denom)) - min: MIN((SQ_INSTS_SALU / $denom)) - max: MAX((SQ_INSTS_SALU / $denom)) - unit: (instr + $normUnit) - tips: - SMEM: - avg: AVG((SQ_INSTS_SMEM / $denom)) - min: MIN((SQ_INSTS_SMEM / $denom)) - max: MAX((SQ_INSTS_SMEM / $denom)) - unit: (instr + $normUnit) - tips: - Branch: - avg: AVG((SQ_INSTS_BRANCH / $denom)) - min: MIN((SQ_INSTS_BRANCH / $denom)) - max: MAX((SQ_INSTS_BRANCH / $denom)) - unit: (instr + $normUnit) - tips: - GDS: - avg: AVG((SQ_INSTS_GDS / $denom)) - min: MIN((SQ_INSTS_GDS / $denom)) - max: MAX((SQ_INSTS_GDS / $denom)) - unit: (instr + $normUnit) - tips: - - - metric_table: - id: 1002 - title: VALU Arithmetic Instr Mix - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - style: - type: simple_bar - label_txt: (# of instr + $normUnit) - metric: - INT32: - avg: AVG((SQ_INSTS_VALU_INT32 / $denom)) - min: MIN((SQ_INSTS_VALU_INT32 / $denom)) - max: MAX((SQ_INSTS_VALU_INT32 / $denom)) - unit: (instr + $normUnit) - tips: - INT64: - avg: AVG((SQ_INSTS_VALU_INT64 / $denom)) - min: MIN((SQ_INSTS_VALU_INT64 / $denom)) - max: MAX((SQ_INSTS_VALU_INT64 / $denom)) - unit: (instr + $normUnit) - tips: - F16-ADD: - avg: AVG((SQ_INSTS_VALU_ADD_F16 / $denom)) - min: MIN((SQ_INSTS_VALU_ADD_F16 / $denom)) - max: MAX((SQ_INSTS_VALU_ADD_F16 / $denom)) - unit: (instr + $normUnit) - tips: - F16-MUL: - avg: AVG((SQ_INSTS_VALU_MUL_F16 / $denom)) - min: MIN((SQ_INSTS_VALU_MUL_F16 / $denom)) - max: MAX((SQ_INSTS_VALU_MUL_F16 / $denom)) - unit: (instr + $normUnit) - tips: - F16-FMA: - avg: AVG((SQ_INSTS_VALU_FMA_F16 / $denom)) - min: MIN((SQ_INSTS_VALU_FMA_F16 / $denom)) - max: MAX((SQ_INSTS_VALU_FMA_F16 / $denom)) - unit: (instr + $normUnit) - tips: - F16-Trans: - avg: AVG((SQ_INSTS_VALU_TRANS_F16 / $denom)) - min: MIN((SQ_INSTS_VALU_TRANS_F16 / $denom)) - max: MAX((SQ_INSTS_VALU_TRANS_F16 / $denom)) - unit: (instr + $normUnit) - tips: - F32-ADD: - avg: AVG((SQ_INSTS_VALU_ADD_F32 / $denom)) - min: MIN((SQ_INSTS_VALU_ADD_F32 / $denom)) - max: MAX((SQ_INSTS_VALU_ADD_F32 / $denom)) - unit: (instr + $normUnit) - tips: - F32-MUL: - avg: AVG((SQ_INSTS_VALU_MUL_F32 / $denom)) - min: MIN((SQ_INSTS_VALU_MUL_F32 / $denom)) - max: MAX((SQ_INSTS_VALU_MUL_F32 / $denom)) - unit: (instr + $normUnit) - tips: - F32-FMA: - avg: AVG((SQ_INSTS_VALU_FMA_F32 / $denom)) - min: MIN((SQ_INSTS_VALU_FMA_F32 / $denom)) - max: MAX((SQ_INSTS_VALU_FMA_F32 / $denom)) - unit: (instr + $normUnit) - tips: - F32-Trans: - avg: AVG((SQ_INSTS_VALU_TRANS_F32 / $denom)) - min: MIN((SQ_INSTS_VALU_TRANS_F32 / $denom)) - max: MAX((SQ_INSTS_VALU_TRANS_F32 / $denom)) - unit: (instr + $normUnit) - tips: - F64-ADD: - avg: AVG((SQ_INSTS_VALU_ADD_F64 / $denom)) - min: MIN((SQ_INSTS_VALU_ADD_F64 / $denom)) - max: MAX((SQ_INSTS_VALU_ADD_F64 / $denom)) - unit: (instr + $normUnit) - tips: - F64-MUL: - avg: AVG((SQ_INSTS_VALU_MUL_F64 / $denom)) - min: MIN((SQ_INSTS_VALU_MUL_F64 / $denom)) - max: MAX((SQ_INSTS_VALU_MUL_F64 / $denom)) - unit: (instr + $normUnit) - tips: - F64-FMA: - avg: AVG((SQ_INSTS_VALU_FMA_F64 / $denom)) - min: MIN((SQ_INSTS_VALU_FMA_F64 / $denom)) - max: MAX((SQ_INSTS_VALU_FMA_F64 / $denom)) - unit: (instr + $normUnit) - tips: - F64-Trans: - avg: AVG((SQ_INSTS_VALU_TRANS_F64 / $denom)) - min: MIN((SQ_INSTS_VALU_TRANS_F64 / $denom)) - max: MAX((SQ_INSTS_VALU_TRANS_F64 / $denom)) - unit: (instr + $normUnit) - tips: - Conversion: - avg: AVG((SQ_INSTS_VALU_CVT / $denom)) - min: MIN((SQ_INSTS_VALU_CVT / $denom)) - max: MAX((SQ_INSTS_VALU_CVT / $denom)) - unit: (instr + $normUnit) - tips: - - - metric_table: - id: 1003 - title: VMEM Instr Mix - header: - type: type - count: Count - tips: Tips - metric: - Buffer Instr: - count: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom)) - tips: - Buffer Read: - count: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) - tips: - Buffer Write: - count: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) - tips: - Buffer Atomic: - count: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) - tips: - Flat Instr: - count: AVG((TA_FLAT_WAVEFRONTS_sum / $denom)) - tips: - Flat Read: - count: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - tips: - Flat Write: - count: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - tips: - Flat Atomic: - count: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - tips: - - - metric_table: - id: 1004 - title: MFMA Arithmetic Instr Mix - header: - type: type - count: Count - tips: Tips - metric: - MFMA-I8: - count: AVG((SQ_INSTS_VALU_MFMA_I8 / $denom)) - tips: - MFMA-F16: - count: AVG((SQ_INSTS_VALU_MFMA_F16 / $denom)) - tips: - MFMA-BF16: - count: AVG((SQ_INSTS_VALU_MFMA_BF16 / $denom)) - tips: - MFMA-F32: - count: AVG((SQ_INSTS_VALU_MFMA_F32 / $denom)) - tips: - MFMA-F64: - count: AVG((SQ_INSTS_VALU_MFMA_F64 / $denom)) - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1100_compute-unit-compute-pipeline.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/1100_compute-unit-compute-pipeline.yaml deleted file mode 100644 index 5767fe771a..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1100_compute-unit-compute-pipeline.yaml +++ /dev/null @@ -1,202 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1100 - title: Compute Units - Compute Pipeline - data source: - - metric_table: - id: 1101 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - tips: Tips - style: - type: simple_bar - range_color: [1, 100] - label_txt: (%) - xrange: [0, 110] - metric: - valu_flops_pop: - value: ((100 * AVG(((((64 * (((SQ_INSTS_VALU_ADD_F16 + SQ_INSTS_VALU_MUL_F16) - + SQ_INSTS_VALU_TRANS_F16) + (2 * SQ_INSTS_VALU_FMA_F16))) + (64 * (((SQ_INSTS_VALU_ADD_F32 - + SQ_INSTS_VALU_MUL_F32) + SQ_INSTS_VALU_TRANS_F32) + (2 * SQ_INSTS_VALU_FMA_F32)))) - + (64 * (((SQ_INSTS_VALU_ADD_F64 + SQ_INSTS_VALU_MUL_F64) + SQ_INSTS_VALU_TRANS_F64) - + (2 * SQ_INSTS_VALU_FMA_F64)))) / (EndNs - BeginNs)))) / (((($sclk - * $numCU) * 64) * 2) / 1000)) - unit: Pct of Peak - tips: - mfma_flops_bf16_pop: - value: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_BF16 * 512) / (EndNs - BeginNs)))) - / ((($sclk * $numCU) * 512) / 1000)) - unit: Pct of Peak - tips: - mfma_flops_f16_pop: - value: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F16 * 512) / (EndNs - BeginNs)))) - / ((($sclk * $numCU) * 1024) / 1000)) - unit: Pct of Peak - tips: - mfma_flops_f32_pop: - value: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F32 * 512) / (EndNs - BeginNs)))) - / ((($sclk * $numCU) * 256) / 1000)) - unit: Pct of Peak - tips: - mfma_flops_f64_pop: - value: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F64 * 512) / (EndNs - BeginNs)))) - / ((($sclk * $numCU) * 256) / 1000)) - unit: Pct of Peak - tips: - mfma_flops_i8_pop: - value: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / (EndNs - BeginNs)))) - / ((($sclk * $numCU) * 1024) / 1000)) - unit: Pct of Peak - tips: - - - metric_table: - id: 1102 - title: Pipeline Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - IPC (Avg): - avg: AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES)) - min: MIN((SQ_INSTS / SQ_BUSY_CU_CYCLES)) - max: MAX((SQ_INSTS / SQ_BUSY_CU_CYCLES)) - unit: Instr/cycle - tips: - IPC (Issue): - avg: AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) - + SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) - / SQ_ACTIVE_INST_ANY)) - min: MIN(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) - + SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) - / SQ_ACTIVE_INST_ANY)) - max: MAX(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) - + SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) - / SQ_ACTIVE_INST_ANY)) - unit: Instr/cycle - tips: - SALU Util: - avg: AVG((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) - min: MIN((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) - max: MAX((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) - unit: pct - tips: - VALU Util: - avg: AVG((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) - min: MIN((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) - max: MAX((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) - unit: pct - tips: - VALU Active Threads: - avg: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) - min: MIN(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) - max: MAX(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) - unit: Threads - tips: - MFMA Util: - avg: AVG(((100 * SQ_VALU_MFMA_BUSY_CYCLES) / ((4 * $numCU) * GRBM_GUI_ACTIVE))) - min: MIN(((100 * SQ_VALU_MFMA_BUSY_CYCLES) / ((4 * $numCU) * GRBM_GUI_ACTIVE))) - max: MAX(((100 * SQ_VALU_MFMA_BUSY_CYCLES) / ((4 * $numCU) * GRBM_GUI_ACTIVE))) - unit: pct - tips: - MFMA Instr Cycles: - avg: AVG(((SQ_VALU_MFMA_BUSY_CYCLES / SQ_INSTS_MFMA) if (SQ_INSTS_MFMA != 0) - else None)) - min: MIN(((SQ_VALU_MFMA_BUSY_CYCLES / SQ_INSTS_MFMA) if (SQ_INSTS_MFMA != 0) - else None)) - max: MAX(((SQ_VALU_MFMA_BUSY_CYCLES / SQ_INSTS_MFMA) if (SQ_INSTS_MFMA != 0) - else None)) - unit: cycles/instr - tips: - - - metric_table: - id: 1103 - title: Arithmetic Operations - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - FLOPs (Total): - avg: AVG((((((((64 * (((SQ_INSTS_VALU_ADD_F16 + SQ_INSTS_VALU_MUL_F16) + SQ_INSTS_VALU_TRANS_F16) - + (SQ_INSTS_VALU_FMA_F16 * 2))) + ((512 * SQ_INSTS_VALU_MFMA_MOPS_F16) + (512 - * SQ_INSTS_VALU_MFMA_MOPS_BF16))) + (64 * (((SQ_INSTS_VALU_ADD_F32 + SQ_INSTS_VALU_MUL_F32) - + SQ_INSTS_VALU_TRANS_F32) + (SQ_INSTS_VALU_FMA_F32 * 2)))) + (512 * SQ_INSTS_VALU_MFMA_MOPS_F32)) - + (64 * (((SQ_INSTS_VALU_ADD_F64 + SQ_INSTS_VALU_MUL_F64) + SQ_INSTS_VALU_TRANS_F64) - + (SQ_INSTS_VALU_FMA_F64 * 2)))) + (512 * SQ_INSTS_VALU_MFMA_MOPS_F64)) / - $denom)) - min: MIN((((((((64 * (((SQ_INSTS_VALU_ADD_F16 + SQ_INSTS_VALU_MUL_F16) + SQ_INSTS_VALU_TRANS_F16) - + (SQ_INSTS_VALU_FMA_F16 * 2))) + ((512 * SQ_INSTS_VALU_MFMA_MOPS_F16) + (512 - * SQ_INSTS_VALU_MFMA_MOPS_BF16))) + (64 * (((SQ_INSTS_VALU_ADD_F32 + SQ_INSTS_VALU_MUL_F32) - + SQ_INSTS_VALU_TRANS_F32) + (SQ_INSTS_VALU_FMA_F32 * 2)))) + (512 * SQ_INSTS_VALU_MFMA_MOPS_F32)) - + (64 * (((SQ_INSTS_VALU_ADD_F64 + SQ_INSTS_VALU_MUL_F64) + SQ_INSTS_VALU_TRANS_F64) - + (SQ_INSTS_VALU_FMA_F64 * 2)))) + (512 * SQ_INSTS_VALU_MFMA_MOPS_F64)) / - $denom)) - max: MAX((((((((64 * (((SQ_INSTS_VALU_ADD_F16 + SQ_INSTS_VALU_MUL_F16) + SQ_INSTS_VALU_TRANS_F16) - + (SQ_INSTS_VALU_FMA_F16 * 2))) + ((512 * SQ_INSTS_VALU_MFMA_MOPS_F16) + (512 - * SQ_INSTS_VALU_MFMA_MOPS_BF16))) + (64 * (((SQ_INSTS_VALU_ADD_F32 + SQ_INSTS_VALU_MUL_F32) - + SQ_INSTS_VALU_TRANS_F32) + (SQ_INSTS_VALU_FMA_F32 * 2)))) + (512 * SQ_INSTS_VALU_MFMA_MOPS_F32)) - + (64 * (((SQ_INSTS_VALU_ADD_F64 + SQ_INSTS_VALU_MUL_F64) + SQ_INSTS_VALU_TRANS_F64) - + (SQ_INSTS_VALU_FMA_F64 * 2)))) + (512 * SQ_INSTS_VALU_MFMA_MOPS_F64)) / - $denom)) - unit: (OPs + $normUnit) - tips: - INT8 OPs: - avg: AVG(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / $denom)) - min: MIN(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / $denom)) - max: MAX(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / $denom)) - unit: (OPs + $normUnit) - tips: - F16 OPs: - avg: AVG(((((((64 * SQ_INSTS_VALU_ADD_F16) + (64 * SQ_INSTS_VALU_MUL_F16)) + - (64 * SQ_INSTS_VALU_TRANS_F16)) + (128 * SQ_INSTS_VALU_FMA_F16)) + (512 * - SQ_INSTS_VALU_MFMA_MOPS_F16)) / $denom)) - min: MIN(((((((64 * SQ_INSTS_VALU_ADD_F16) + (64 * SQ_INSTS_VALU_MUL_F16)) + - (64 * SQ_INSTS_VALU_TRANS_F16)) + (128 * SQ_INSTS_VALU_FMA_F16)) + (512 * - SQ_INSTS_VALU_MFMA_MOPS_F16)) / $denom)) - max: MAX(((((((64 * SQ_INSTS_VALU_ADD_F16) + (64 * SQ_INSTS_VALU_MUL_F16)) + - (64 * SQ_INSTS_VALU_TRANS_F16)) + (128 * SQ_INSTS_VALU_FMA_F16)) + (512 * - SQ_INSTS_VALU_MFMA_MOPS_F16)) / $denom)) - unit: (OPs + $normUnit) - tips: - BF16 OPs: - avg: AVG(((512 * SQ_INSTS_VALU_MFMA_MOPS_BF16) / $denom)) - min: MIN(((512 * SQ_INSTS_VALU_MFMA_MOPS_BF16) / $denom)) - max: MAX(((512 * SQ_INSTS_VALU_MFMA_MOPS_BF16) / $denom)) - unit: (OPs + $normUnit) - tips: - F32 OPs: - avg: AVG((((64 * (((SQ_INSTS_VALU_ADD_F32 + SQ_INSTS_VALU_MUL_F32) + SQ_INSTS_VALU_TRANS_F32) - + (SQ_INSTS_VALU_FMA_F32 * 2))) + (512 * SQ_INSTS_VALU_MFMA_MOPS_F32)) / $denom)) - min: MIN((((64 * (((SQ_INSTS_VALU_ADD_F32 + SQ_INSTS_VALU_MUL_F32) + SQ_INSTS_VALU_TRANS_F32) - + (SQ_INSTS_VALU_FMA_F32 * 2))) + (512 * SQ_INSTS_VALU_MFMA_MOPS_F32)) / $denom)) - max: MAX((((64 * (((SQ_INSTS_VALU_ADD_F32 + SQ_INSTS_VALU_MUL_F32) + SQ_INSTS_VALU_TRANS_F32) - + (SQ_INSTS_VALU_FMA_F32 * 2))) + (512 * SQ_INSTS_VALU_MFMA_MOPS_F32)) / $denom)) - unit: (OPs + $normUnit) - tips: - F64 OPs: - avg: AVG((((64 * (((SQ_INSTS_VALU_ADD_F64 + SQ_INSTS_VALU_MUL_F64) + SQ_INSTS_VALU_TRANS_F64) - + (SQ_INSTS_VALU_FMA_F64 * 2))) + (512 * SQ_INSTS_VALU_MFMA_MOPS_F64)) / $denom)) - min: MIN((((64 * (((SQ_INSTS_VALU_ADD_F64 + SQ_INSTS_VALU_MUL_F64) + SQ_INSTS_VALU_TRANS_F64) - + (SQ_INSTS_VALU_FMA_F64 * 2))) + (512 * SQ_INSTS_VALU_MFMA_MOPS_F64)) / $denom)) - max: MAX((((64 * (((SQ_INSTS_VALU_ADD_F64 + SQ_INSTS_VALU_MUL_F64) + SQ_INSTS_VALU_TRANS_F64) - + (SQ_INSTS_VALU_FMA_F64 * 2))) + (512 * SQ_INSTS_VALU_MFMA_MOPS_F64)) / $denom)) - unit: (OPs + $normUnit) - tips: \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1200_lds.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/1200_lds.yaml deleted file mode 100644 index 3fd52c3b1b..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1200_lds.yaml +++ /dev/null @@ -1,121 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1200 - title: Local Data Share (LDS) - data source: - - metric_table: - id: 1201 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - tips: Tips - style: - type: simple_bar - range_color: [1, 100] - label_txt: (%) - xrange: [0, 110] - metric: - Utilization: - value: AVG(((100 * SQ_LDS_IDX_ACTIVE) / (GRBM_GUI_ACTIVE * $numCU))) - unit: Pct of Peak - tips: - Access Rate: - value: AVG(((200 * SQ_ACTIVE_INST_LDS) / (GRBM_GUI_ACTIVE * $numCU))) - unit: Pct of Peak - tips: - Bandwidth (Pct-of-Peak): - value: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / (EndNs - BeginNs)) / (($sclk * $numCU) * 0.00128))) - unit: Pct of Peak - tips: - Bank Conflict Rate: - value: AVG((((SQ_LDS_BANK_CONFLICT * 3.125) / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - unit: Pct of Peak - tips: - - - metric_table: - id: 1202 - title: LDS Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - LDS Instrs: - avg: AVG((SQ_INSTS_LDS / $denom)) - min: MIN((SQ_INSTS_LDS / $denom)) - max: MAX((SQ_INSTS_LDS / $denom)) - unit: (Instr + $normUnit) - tips: - Bandwidth: - avg: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / $denom)) - min: MIN(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / $denom)) - max: MAX(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) - / $denom)) - unit: (Bytes + $normUnit) - tips: - Bank Conficts/Access: - avg: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - min: MIN(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - max: MAX(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - unit: Conflicts/Access - tips: - Index Accesses: - avg: AVG((SQ_LDS_IDX_ACTIVE / $denom)) - min: MIN((SQ_LDS_IDX_ACTIVE / $denom)) - max: MAX((SQ_LDS_IDX_ACTIVE / $denom)) - unit: (Cycles + $normUnit) - tips: - Atomic Cycles: - avg: AVG((SQ_LDS_ATOMIC_RETURN / $denom)) - min: MIN((SQ_LDS_ATOMIC_RETURN / $denom)) - max: MAX((SQ_LDS_ATOMIC_RETURN / $denom)) - unit: (Cycles + $normUnit) - tips: - Bank Conflict: - avg: AVG((SQ_LDS_BANK_CONFLICT / $denom)) - min: MIN((SQ_LDS_BANK_CONFLICT / $denom)) - max: MAX((SQ_LDS_BANK_CONFLICT / $denom)) - unit: (Cycles + $normUnit) - tips: - Addr Conflict: - avg: AVG((SQ_LDS_ADDR_CONFLICT / $denom)) - min: MIN((SQ_LDS_ADDR_CONFLICT / $denom)) - max: MAX((SQ_LDS_ADDR_CONFLICT / $denom)) - unit: (Cycles + $normUnit) - tips: - Unaligned Stall: - avg: AVG((SQ_LDS_UNALIGNED_STALL / $denom)) - min: MIN((SQ_LDS_UNALIGNED_STALL / $denom)) - max: MAX((SQ_LDS_UNALIGNED_STALL / $denom)) - unit: (Cycles + $normUnit) - tips: - Mem Violations: - avg: AVG((SQ_LDS_MEM_VIOLATIONS / $denom)) - min: MIN((SQ_LDS_MEM_VIOLATIONS / $denom)) - max: MAX((SQ_LDS_MEM_VIOLATIONS / $denom)) - unit: ( + $normUnit) - tips: - LDS Latency: - avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None)) - min: MIN(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None)) - max: MAX(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None)) - unit: Cycles - coll_level: SQ_INST_LEVEL_LDS - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1300_instruction-cache.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/1300_instruction-cache.yaml deleted file mode 100644 index 329a7edbad..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1300_instruction-cache.yaml +++ /dev/null @@ -1,79 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1300 - title: Instruction Cache - data source: - - metric_table: - id: 1301 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - tips: Tips - style: - type: simple_bar - range_color: [1, 100] - label_txt: (%) - xrange: [0, 110] - metric: - Bandwidth: - value: AVG(((SQC_ICACHE_REQ * 100000) / (($sclk * $numSQC) - * (EndNs - BeginNs)))) - unit: Pct of Peak - tips: - Cache Hit: - value: AVG(((SQC_ICACHE_HITS * 100) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) - + SQC_ICACHE_MISSES_DUPLICATE))) - unit: Pct of Peak - tips: - - - metric_table: - id: 1302 - title: Instruction Cache Accesses - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Req: - avg: AVG((SQC_ICACHE_REQ / $denom)) - min: MIN((SQC_ICACHE_REQ / $denom)) - max: MAX((SQC_ICACHE_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Hits: - avg: AVG((SQC_ICACHE_HITS / $denom)) - min: MIN((SQC_ICACHE_HITS / $denom)) - max: MAX((SQC_ICACHE_HITS / $denom)) - unit: (Hits + $normUnit) - tips: - Misses - Non Duplicated: - avg: AVG((SQC_ICACHE_MISSES / $denom)) - min: MIN((SQC_ICACHE_MISSES / $denom)) - max: MAX((SQC_ICACHE_MISSES / $denom)) - unit: (Misses + $normUnit) - tips: - Misses - Duplicated: - avg: AVG((SQC_ICACHE_MISSES_DUPLICATE / $denom)) - min: MIN((SQC_ICACHE_MISSES_DUPLICATE / $denom)) - max: MAX((SQC_ICACHE_MISSES_DUPLICATE / $denom)) - unit: (Misses + $normUnit) - tips: - Cache Hit: - avg: AVG(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) - + SQC_ICACHE_MISSES_DUPLICATE))) - min: MIN(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) + - SQC_ICACHE_MISSES_DUPLICATE))) - max: MAX(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) + - SQC_ICACHE_MISSES_DUPLICATE))) - unit: pct - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1400_constant-cache.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/1400_constant-cache.yaml deleted file mode 100644 index 563caad13f..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1400_constant-cache.yaml +++ /dev/null @@ -1,164 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1400 - title: Scalar L1 Data Cache - data source: - - metric_table: - id: 1401 - title: Speed-of-Light - header: - mertic: Metric - value: Value - unit: Unit - tips: Tips - style: - type: simple_bar - range_color: [1, 100] - label_txt: (%) - xrange: [0, 110] - metric: - Bandwidth: - value: AVG(((SQC_DCACHE_REQ * 100000) / (($sclk * $numSQC) - * (EndNs - BeginNs)))) - unit: Pct of Peak - tips: - Cache Hit: - value: - AVG((((SQC_DCACHE_HITS * 100) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE)) - if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) - unit: Pct of Peak - tips: - - - metric_table: - id: 1402 - title: Scalar L1D Cache Accesses - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Req: - avg: AVG((SQC_DCACHE_REQ / $denom)) - min: MIN((SQC_DCACHE_REQ / $denom)) - max: MAX((SQC_DCACHE_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Hits: - avg: AVG((SQC_DCACHE_HITS / $denom)) - min: MIN((SQC_DCACHE_HITS / $denom)) - max: MAX((SQC_DCACHE_HITS / $denom)) - unit: (Req + $normUnit) - tips: - Misses - Non Duplicated: - avg: AVG((SQC_DCACHE_MISSES / $denom)) - min: MIN((SQC_DCACHE_MISSES / $denom)) - max: MAX((SQC_DCACHE_MISSES / $denom)) - unit: (Req + $normUnit) - tips: - Misses- Duplicated: - avg: AVG((SQC_DCACHE_MISSES_DUPLICATE / $denom)) - min: MIN((SQC_DCACHE_MISSES_DUPLICATE / $denom)) - max: MAX((SQC_DCACHE_MISSES_DUPLICATE / $denom)) - unit: (Req + $normUnit) - tips: - Cache Hit: - avg: AVG((((100 * SQC_DCACHE_HITS) / ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE)) if (((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) - min: MIN((((100 * SQC_DCACHE_HITS) / ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE)) if (((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) - max: MAX((((100 * SQC_DCACHE_HITS) / ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE)) if (((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) - + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) - unit: pct - tips: - Read Req (Total): - avg: AVG((((((SQC_DCACHE_REQ_READ_1 + SQC_DCACHE_REQ_READ_2) + SQC_DCACHE_REQ_READ_4) - + SQC_DCACHE_REQ_READ_8) + SQC_DCACHE_REQ_READ_16) / $denom)) - min: MIN((((((SQC_DCACHE_REQ_READ_1 + SQC_DCACHE_REQ_READ_2) + SQC_DCACHE_REQ_READ_4) - + SQC_DCACHE_REQ_READ_8) + SQC_DCACHE_REQ_READ_16) / $denom)) - max: MAX((((((SQC_DCACHE_REQ_READ_1 + SQC_DCACHE_REQ_READ_2) + SQC_DCACHE_REQ_READ_4) - + SQC_DCACHE_REQ_READ_8) + SQC_DCACHE_REQ_READ_16) / $denom)) - unit: (Req + $normUnit) - tips: - Atomic Req: - avg: AVG((SQC_DCACHE_ATOMIC / $denom)) - min: MIN((SQC_DCACHE_ATOMIC / $denom)) - max: MAX((SQC_DCACHE_ATOMIC / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (1 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_1 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_1 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_1 / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (2 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_2 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_2 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_2 / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (4 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_4 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_4 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_4 / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (8 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_8 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_8 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_8 / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (16 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_16 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_16 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_16 / $denom)) - unit: (Req + $normUnit) - tips: - - - metric_table: - id: 1403 - title: Scalar L1D Cache - L2 Interface - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Read Req: - avg: AVG((SQC_TC_DATA_READ_REQ / $denom)) - min: MIN((SQC_TC_DATA_READ_REQ / $denom)) - max: MAX((SQC_TC_DATA_READ_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Write Req: - avg: AVG((SQC_TC_DATA_WRITE_REQ / $denom)) - min: MIN((SQC_TC_DATA_WRITE_REQ / $denom)) - max: MAX((SQC_TC_DATA_WRITE_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Atomic Req: - avg: AVG((SQC_TC_DATA_ATOMIC_REQ / $denom)) - min: MIN((SQC_TC_DATA_ATOMIC_REQ / $denom)) - max: MAX((SQC_TC_DATA_ATOMIC_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Stall: - avg: AVG((SQC_TC_STALL / $denom)) - min: MIN((SQC_TC_STALL / $denom)) - max: MAX((SQC_TC_STALL / $denom)) - unit: (Cycles + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1500_TA_and_TD.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/1500_TA_and_TD.yaml deleted file mode 100644 index 03af854976..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1500_TA_and_TD.yaml +++ /dev/null @@ -1,174 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1500 - title: Texture Addresser and Texture Data (TA/TD) - data source: - - metric_table: - id: 1501 - title: TA - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - TA Busy: - avg: AVG(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - TC2TA Addr Stall: - avg: AVG(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - TC2TA Data Stall: - avg: AVG(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - TD2TA Addr Stall: - avg: AVG(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - Total Instructions: - avg: AVG((TA_TOTAL_WAVEFRONTS_sum / $denom)) - min: MIN((TA_TOTAL_WAVEFRONTS_sum / $denom)) - max: MAX((TA_TOTAL_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Flat Instr: - avg: AVG((TA_FLAT_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Flat Read Instr: - avg: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Flat Write Instr: - avg: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Flat Atomic Instr: - avg: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Buffer Instr: - avg: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom)) - min: MIN((TA_BUFFER_WAVEFRONTS_sum / $denom)) - max: MAX((TA_BUFFER_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Buffer Read Instr: - avg: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) - min: MIN((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) - max: MAX((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Buffer Write Instr: - avg: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) - min: MIN((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) - max: MAX((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Buffer Atomic Instr: - avg: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) - min: MIN((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) - max: MAX((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Buffer Total Cylces: - avg: AVG((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) - min: MIN((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) - max: MAX((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) - unit: (Cycles + $normUnit) - tips: - Buffer Coalesced Read: - avg: AVG((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) - min: MIN((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) - max: MAX((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) - unit: (Cycles + $normUnit) - tips: - Buffer Coalesced Write: - avg: AVG((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) - min: MIN((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) - max: MAX((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) - unit: (Cycles + $normUnit) - tips: - - - metric_table: - id: 1502 - title: TD - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - TD Busy: - avg: AVG(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - TC2TD Stall: - avg: AVG(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - SPI2TD Stall: - avg: AVG(((100 * TD_SPI_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) - min: MIN(((100 * TD_SPI_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) - max: MAX(((100 * TD_SPI_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) - unit: pct - tips: - Coalescable Instr: - avg: AVG((TD_COALESCABLE_WAVEFRONT_sum / $denom)) - min: MIN((TD_COALESCABLE_WAVEFRONT_sum / $denom)) - max: MAX((TD_COALESCABLE_WAVEFRONT_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Load Instr: - avg: AVG((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) - / $denom)) - min: MIN((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) - / $denom)) - max: MAX((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) - / $denom)) - unit: (Instr + $normUnit) - tips: - Store Instr: - avg: AVG((TD_STORE_WAVEFRONT_sum / $denom)) - min: MIN((TD_STORE_WAVEFRONT_sum / $denom)) - max: MAX((TD_STORE_WAVEFRONT_sum / $denom)) - unit: (Instr + $normUnit) - tips: - Atomic Instr: - avg: AVG((TD_ATOMIC_WAVEFRONT_sum / $denom)) - min: MIN((TD_ATOMIC_WAVEFRONT_sum / $denom)) - max: MAX((TD_ATOMIC_WAVEFRONT_sum / $denom)) - unit: (Instr + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1600_L1_cache.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/1600_L1_cache.yaml deleted file mode 100644 index d9291de21d..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1600_L1_cache.yaml +++ /dev/null @@ -1,404 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1600 - title: Vector L1 Data Cache - data source: - - metric_table: - id: 1601 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - tips: Tips - style: - type: simple_bar - range_color: [1, 100] - label_txt: (%) - xrange: [0, 110] - metric: - Buffer Coalescing: - value: AVG(((((TA_TOTAL_WAVEFRONTS_sum * 64) * 100) / (TCP_TOTAL_ACCESSES_sum - * 4)) if (TCP_TOTAL_ACCESSES_sum != 0) else None)) - unit: Pct of Peak - tips: - Cache Util: - value: AVG((((TCP_GATE_EN2_sum * 100) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - unit: Pct of Peak - tips: - Cache BW: - value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs)))) - / ((($sclk / 1000) * 64) * $numCU)) - unit: Pct of Peak - tips: - Cache Hit: - value: 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)) - / TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - unit: Pct of Peak - tips: - - - metric_table: - id: 1602 - title: L1D Cache Stalls - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: unit - tips: Tips - metric: - Stalled on L2 Data: - avg: AVG((((100 * TCP_PENDING_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - min: MIN((((100 * TCP_PENDING_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - max: MAX((((100 * TCP_PENDING_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - unit: pct - tips: - Stalled on L2 Req: - avg: AVG((((100 * TCP_TCR_TCP_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - min: MIN((((100 * TCP_TCR_TCP_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - max: MAX((((100 * TCP_TCR_TCP_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None)) - unit: pct - tips: - Tag RAM Stall (Read): - avg: AVG((((100 * TCP_READ_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - min: MIN((((100 * TCP_READ_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - max: MAX((((100 * TCP_READ_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - unit: pct - tips: - Tag RAM Stall (Write): - avg: AVG((((100 * TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - min: MIN((((100 * TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - max: MAX((((100 * TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - unit: pct - tips: - Tag RAM Stall (Atomic): - avg: AVG((((100 * TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - min: MIN((((100 * TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - max: MAX((((100 * TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)) - unit: pct - tips: - - - metric_table: - id: 1603 - title: L1D Cache Accesses - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Total Req: - avg: AVG((TCP_TOTAL_ACCESSES_sum / $denom)) - min: MIN((TCP_TOTAL_ACCESSES_sum / $denom)) - max: MAX((TCP_TOTAL_ACCESSES_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read Req: - avg: AVG((TCP_TOTAL_READ_sum / $denom)) - min: MIN((TCP_TOTAL_READ_sum / $denom)) - max: MAX((TCP_TOTAL_READ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write Req: - avg: AVG((TCP_TOTAL_WRITE_sum / $denom)) - min: MIN((TCP_TOTAL_WRITE_sum / $denom)) - max: MAX((TCP_TOTAL_WRITE_sum / $denom)) - unit: (Req + $normUnit) - tips: - Atomic Req: - avg: AVG(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) - / $denom)) - min: MIN(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) - / $denom)) - max: MAX(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) - / $denom)) - unit: (Req + $normUnit) - tips: - Cache BW: - avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) - min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) - max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) - unit: GB/s - tips: - Cache Accesses: - avg: AVG((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) - min: MIN((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) - max: MAX((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) - unit: (Req + $normUnit) - tips: - Cache Hits: - avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum - (((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)) - min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum - (((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)) - max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum - (((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: (Req + $normUnit) - tips: - 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)) / - TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - min: MIN(((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)) / - TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - max: MAX(((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)) / - TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - unit: pct - tips: - Invalidate: - avg: AVG((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) - min: MIN((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) - max: MAX((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) - unit: (Req + $normUnit) - tips: - 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)) - min: 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)) - max: 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)) - unit: (Bytes + $normUnit) - tips: - L1-L2 Read: - avg: AVG((TCP_TCC_READ_REQ_sum / $denom)) - min: MIN((TCP_TCC_READ_REQ_sum / $denom)) - max: MAX((TCP_TCC_READ_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - L1-L2 Write: - avg: AVG((TCP_TCC_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - L1-L2 Atomic: - avg: AVG(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - / $denom)) - min: MIN(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - / $denom)) - max: MAX(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - / $denom)) - unit: (Req + $normUnit) - tips: - L1 Access Latency: - avg: AVG(((TCP_TCP_LATENCY_sum / TCP_TA_TCP_STATE_READ_sum) if (TCP_TA_TCP_STATE_READ_sum - != 0) else None)) - min: MIN(((TCP_TCP_LATENCY_sum / TCP_TA_TCP_STATE_READ_sum) if (TCP_TA_TCP_STATE_READ_sum - != 0) else None)) - max: MAX(((TCP_TCP_LATENCY_sum / TCP_TA_TCP_STATE_READ_sum) if (TCP_TA_TCP_STATE_READ_sum - != 0) else None)) - unit: Cycles - tips: - L1-L2 Read Latency: - avg: AVG(((TCP_TCC_READ_REQ_LATENCY_sum / (TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)) - if ((TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) != 0) else None)) - min: MIN(((TCP_TCC_READ_REQ_LATENCY_sum / (TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)) - if ((TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) != 0) else None)) - max: MAX(((TCP_TCC_READ_REQ_LATENCY_sum / (TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)) - if ((TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) != 0) else None)) - unit: Cycles - tips: - L1-L2 Write Latency: - avg: AVG(((TCP_TCC_WRITE_REQ_LATENCY_sum / (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) - if ((TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) != 0) else - None)) - min: MIN(((TCP_TCC_WRITE_REQ_LATENCY_sum / (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) - if ((TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) != 0) else - None)) - max: MAX(((TCP_TCC_WRITE_REQ_LATENCY_sum / (TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) - if ((TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) != 0) else - None)) - unit: Cycles - tips: - - - metric_table: - id: 1604 - title: L1D - L2 Transactions - header: - metric: Metric - xfer: Xfer - coherency: Coherency - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - style: - type: simple_multi_bar - metric: - NC - Read: - xfer: Read - coherency: NC - avg: AVG((TCP_TCC_NC_READ_REQ_sum / $denom)) - min: MIN((TCP_TCC_NC_READ_REQ_sum / $denom)) - max: MAX((TCP_TCC_NC_READ_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - UC - Read: - xfer: Read - coherency: UC - avg: AVG((TCP_TCC_UC_READ_REQ_sum / $denom)) - min: MIN((TCP_TCC_UC_READ_REQ_sum / $denom)) - max: MAX((TCP_TCC_UC_READ_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - CC - Read: - xfer: Read - coherency: CC - avg: AVG((TCP_TCC_CC_READ_REQ_sum / $denom)) - min: MIN((TCP_TCC_CC_READ_REQ_sum / $denom)) - max: MAX((TCP_TCC_CC_READ_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - RW - Read: - xfer: Read - coherency: RW - avg: AVG((TCP_TCC_RW_READ_REQ_sum / $denom)) - min: MIN((TCP_TCC_RW_READ_REQ_sum / $denom)) - max: MAX((TCP_TCC_RW_READ_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - RW - Write: - xfer: Write - coherency: RW - avg: AVG((TCP_TCC_RW_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_RW_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_RW_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - NC - Write: - xfer: Write - coherency: NC - avg: AVG((TCP_TCC_NC_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_NC_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_NC_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - UC - Write: - xfer: Write - coherency: UC - avg: AVG((TCP_TCC_UC_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_UC_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_UC_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - CC - Write: - xfer: Write - coherency: CC - avg: AVG((TCP_TCC_CC_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_CC_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_CC_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - NC - Atomic: - xfer: Atomic - coherency: NC - avg: AVG((TCP_TCC_NC_ATOMIC_REQ_sum / $denom)) - min: MIN((TCP_TCC_NC_ATOMIC_REQ_sum / $denom)) - max: MAX((TCP_TCC_NC_ATOMIC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - UC - Atomic: - xfer: Atomic - coherency: UC - avg: AVG((TCP_TCC_UC_ATOMIC_REQ_sum / $denom)) - min: MIN((TCP_TCC_UC_ATOMIC_REQ_sum / $denom)) - max: MAX((TCP_TCC_UC_ATOMIC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - CC - Atomic: - xfer: Atomic - coherency: CC - avg: AVG((TCP_TCC_CC_ATOMIC_REQ_sum / $denom)) - min: MIN((TCP_TCC_CC_ATOMIC_REQ_sum / $denom)) - max: MAX((TCP_TCC_CC_ATOMIC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - RW - Atomic: - xfer: Atomic - coherency: RW - avg: AVG((TCP_TCC_RW_ATOMIC_REQ_sum / $denom)) - min: MIN((TCP_TCC_RW_ATOMIC_REQ_sum / $denom)) - max: MAX((TCP_TCC_RW_ATOMIC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - - - metric_table: - id: 1605 - title: L1D Addr Translation - header: - metric: Metric - avg: Avg - min: Min - max: Max - units: Units - tips: Tips - metric: - Req: - avg: AVG((TCP_UTCL1_REQUEST_sum / $denom)) - min: MIN((TCP_UTCL1_REQUEST_sum / $denom)) - max: MAX((TCP_UTCL1_REQUEST_sum / $denom)) - units: (Req + $normUnit) - tips: - Hit Ratio: - avg: AVG((((100 * TCP_UTCL1_TRANSLATION_HIT_sum) / TCP_UTCL1_REQUEST_sum) if - (TCP_UTCL1_REQUEST_sum != 0) else None)) - min: MIN((((100 * TCP_UTCL1_TRANSLATION_HIT_sum) / TCP_UTCL1_REQUEST_sum) if - (TCP_UTCL1_REQUEST_sum != 0) else None)) - max: MAX((((100 * TCP_UTCL1_TRANSLATION_HIT_sum) / TCP_UTCL1_REQUEST_sum) if - (TCP_UTCL1_REQUEST_sum != 0) else None)) - units: pct - tips: - Hits: - avg: AVG((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) - min: MIN((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) - max: MAX((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) - units: (Hits + $normUnit) - tips: - Misses (Translation): - avg: AVG((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) - min: MIN((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) - max: MAX((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) - units: (Misses + $normUnit) - tips: - Misses (Permission): - avg: AVG((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) - min: MIN((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) - max: MAX((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) - units: (Misses + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1700_L2_cache.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/1700_L2_cache.yaml deleted file mode 100644 index ddbaf91554..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1700_L2_cache.yaml +++ /dev/null @@ -1,364 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1700 - title: L2 Cache - data source: - - metric_table: - id: 1701 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - tips: Tips - style: - type: simple_bar - metric: - L2 Util: - value: AVG(((TCC_BUSY_sum * 100) / (TO_INT($L2Banks) * GRBM_GUI_ACTIVE))) - unit: pct - tips: - Cache Hit: - value: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else 0)) - unit: pct - tips: - L2-EA Rd BW: - value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / (EndNs - BeginNs))) - unit: GB/s - tips: - L2-EA Wr BW: - value: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / (EndNs - BeginNs))) - unit: GB/s - tips: - - - metric_table: - id: 1702 - title: L2 - Fabric Transactions - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Read BW: - avg: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / $denom)) - min: MIN((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / $denom)) - max: MAX((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / $denom)) - unit: (Bytes + $normUnit) - tips: - Write BW: - avg: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / $denom)) - min: MIN((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / $denom)) - max: MAX((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / $denom)) - unit: (Bytes + $normUnit) - tips: - Read (32B): - avg: AVG((TCC_EA_RDREQ_32B_sum / $denom)) - min: MIN((TCC_EA_RDREQ_32B_sum / $denom)) - max: MAX((TCC_EA_RDREQ_32B_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read (Uncached 32B): - avg: AVG((TCC_EA_RD_UNCACHED_32B_sum / $denom)) - min: MIN((TCC_EA_RD_UNCACHED_32B_sum / $denom)) - max: MAX((TCC_EA_RD_UNCACHED_32B_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read (64B): - avg: AVG(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) - min: MIN(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) - max: MAX(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) - unit: (Req + $normUnit) - tips: - HBM Read: - avg: AVG((TCC_EA_RDREQ_DRAM_sum / $denom)) - min: MIN((TCC_EA_RDREQ_DRAM_sum / $denom)) - max: MAX((TCC_EA_RDREQ_DRAM_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write (32B): - avg: AVG(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom)) - min: MIN(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom)) - max: MAX(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom)) - unit: (Req + $normUnit) - tips: - Write (Uncached 32B): - avg: AVG((TCC_EA_WR_UNCACHED_32B_sum / $denom)) - min: MIN((TCC_EA_WR_UNCACHED_32B_sum / $denom)) - max: MAX((TCC_EA_WR_UNCACHED_32B_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write (64B): - avg: AVG((TCC_EA_WRREQ_64B_sum / $denom)) - min: MIN((TCC_EA_WRREQ_64B_sum / $denom)) - max: MAX((TCC_EA_WRREQ_64B_sum / $denom)) - unit: (Req + $normUnit) - tips: - HBM Write: - avg: AVG((TCC_EA_WRREQ_DRAM_sum / $denom)) - min: MIN((TCC_EA_WRREQ_DRAM_sum / $denom)) - max: MAX((TCC_EA_WRREQ_DRAM_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read Latency: - avg: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != - 0) else None)) - min: MIN(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != - 0) else None)) - max: MAX(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != - 0) else None)) - unit: Cycles - tips: - Write Latency: - avg: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != - 0) else None)) - min: MIN(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != - 0) else None)) - max: MAX(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != - 0) else None)) - unit: Cycles - tips: - Atomic Latency: - avg: AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum - != 0) else None)) - min: MIN(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum - != 0) else None)) - max: MAX(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum - != 0) else None)) - unit: Cycles - tips: - Read Stall: - avg: AVG((((100 * ((TCC_EA_RDREQ_IO_CREDIT_STALL_sum + TCC_EA_RDREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - min: MIN((((100 * ((TCC_EA_RDREQ_IO_CREDIT_STALL_sum + TCC_EA_RDREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - max: MAX((((100 * ((TCC_EA_RDREQ_IO_CREDIT_STALL_sum + TCC_EA_RDREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - unit: pct - tips: - Write Stall: - avg: AVG((((100 * ((TCC_EA_WRREQ_IO_CREDIT_STALL_sum + TCC_EA_WRREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - min: MIN((((100 * ((TCC_EA_WRREQ_IO_CREDIT_STALL_sum + TCC_EA_WRREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - max: MAX((((100 * ((TCC_EA_WRREQ_IO_CREDIT_STALL_sum + TCC_EA_WRREQ_GMI_CREDIT_STALL_sum) - + TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != - 0) else None)) - unit: pct - tips: - - - metric_table: - id: 1703 - title: L2 Cache Accesses - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Req: - avg: AVG((TCC_REQ_sum / $denom)) - min: MIN((TCC_REQ_sum / $denom)) - max: MAX((TCC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Streaming Req: - avg: AVG((TCC_STREAMING_REQ_sum / $denom)) - min: MIN((TCC_STREAMING_REQ_sum / $denom)) - max: MAX((TCC_STREAMING_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read Req: - avg: AVG((TCC_READ_sum / $denom)) - min: MIN((TCC_READ_sum / $denom)) - max: MAX((TCC_READ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write Req: - avg: AVG((TCC_WRITE_sum / $denom)) - min: MIN((TCC_WRITE_sum / $denom)) - max: MAX((TCC_WRITE_sum / $denom)) - unit: (Req + $normUnit) - tips: - Atomic Req: - avg: AVG((TCC_ATOMIC_sum / $denom)) - min: MIN((TCC_ATOMIC_sum / $denom)) - max: MAX((TCC_ATOMIC_sum / $denom)) - unit: (Req + $normUnit) - tips: - Probe Req: - avg: AVG((TCC_PROBE_sum / $denom)) - min: MIN((TCC_PROBE_sum / $denom)) - max: MAX((TCC_PROBE_sum / $denom)) - unit: (Req + $normUnit) - tips: - Hits: - avg: AVG((TCC_HIT_sum / $denom)) - min: MIN((TCC_HIT_sum / $denom)) - max: MAX((TCC_HIT_sum / $denom)) - unit: (Hits + $normUnit) - tips: - Misses: - avg: AVG((TCC_MISS_sum / $denom)) - min: MIN((TCC_MISS_sum / $denom)) - max: MAX((TCC_MISS_sum / $denom)) - unit: (Misses + $normUnit) - tips: - Cache Hit: - avg: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - min: MIN((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - max: MAX((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - unit: pct - tips: - Writeback: - avg: AVG((TCC_WRITEBACK_sum / $denom)) - min: MIN((TCC_WRITEBACK_sum / $denom)) - max: MAX((TCC_WRITEBACK_sum / $denom)) - unit: ( + $normUnit) - tips: - NC Req: - avg: AVG((TCC_NC_REQ_sum / $denom)) - min: MIN((TCC_NC_REQ_sum / $denom)) - max: MAX((TCC_NC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - UC Req: - avg: AVG((TCC_UC_REQ_sum / $denom)) - min: MIN((TCC_UC_REQ_sum / $denom)) - max: MAX((TCC_UC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - CC Req: - avg: AVG((TCC_CC_REQ_sum / $denom)) - min: MIN((TCC_CC_REQ_sum / $denom)) - max: MAX((TCC_CC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - RW Req: - avg: AVG((TCC_RW_REQ_sum / $denom)) - min: MIN((TCC_RW_REQ_sum / $denom)) - max: MAX((TCC_RW_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Writeback (Normal): - avg: AVG((TCC_NORMAL_WRITEBACK_sum / $denom)) - min: MIN((TCC_NORMAL_WRITEBACK_sum / $denom)) - max: MAX((TCC_NORMAL_WRITEBACK_sum / $denom)) - unit: ( + $normUnit) - tips: - Writeback (TC Req): - avg: AVG((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom)) - min: MIN((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom)) - max: MAX((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom)) - unit: ( + $normUnit) - tips: - Evict (Normal): - avg: AVG((TCC_NORMAL_EVICT_sum / $denom)) - min: MIN((TCC_NORMAL_EVICT_sum / $denom)) - max: MAX((TCC_NORMAL_EVICT_sum / $denom)) - unit: ( + $normUnit) - tips: - Evict (TC Req): - avg: AVG((TCC_ALL_TC_OP_INV_EVICT_sum / $denom)) - min: MIN((TCC_ALL_TC_OP_INV_EVICT_sum / $denom)) - max: MAX((TCC_ALL_TC_OP_INV_EVICT_sum / $denom)) - unit: ( + $normUnit) - tips: - - - metric_table: - id: 1704 - title: L2 - Fabric Interface Stalls - header: - metric: Metric - type: Type - transaction: Transaction - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - style: - type: simple_multi_bar - metric: - Read - Remote Socket Stall: - type: Remote Socket Stall - transaction: Read - avg: AVG((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read - Peer GCD Stall: - type: Peer GCD Stall - transaction: Read - avg: AVG((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read - HBM Stall: - type: HBM Stall - transaction: Read - avg: AVG((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write - Remote Socket Stall: - type: Remote Socket Stall - transaction: Write - avg: AVG((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write - Peer GCD Stall: - type: Peer GCD Stall - transaction: Write - avg: AVG((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write - HBM Stall: - type: HBM Stall - transaction: Write - avg: AVG((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) - min: MIN((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) - max: MAX((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write - Credit Starvation: - type: Credit Starvation - transaction: Write - avg: AVG((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) - min: MIN((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) - max: MAX((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) - unit: (Req + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1800_L2_cache_per_channel.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/1800_L2_cache_per_channel.yaml deleted file mode 100644 index c6d93aa61b..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1800_L2_cache_per_channel.yaml +++ /dev/null @@ -1,2168 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1800 - title: L2 Cache (per Channel) - data source: - - metric_table: - id: 1801 - title: Aggregate Stats (All 32 channels) - header: - metric: Metric - avg: Avg - std dev: Std Dev - min: Min - max: Max - unit: Unit - tips: Tips - metric: - L2 Cache Hit Rate: - avg: AVG(((((((((((((((((((((((((((((((((((100 * TCC_HIT[0]) + (100 * TCC_HIT[1])) - + (100 * TCC_HIT[2])) + (100 * TCC_HIT[3])) + (100 * TCC_HIT[4])) + (100 * - TCC_HIT[5])) + (100 * TCC_HIT[6])) + (100 * TCC_HIT[7])) + (100 * TCC_HIT[8])) - + (100 * TCC_HIT[9])) + (100 * TCC_HIT[10])) + (100 * TCC_HIT[11])) + (100 - * TCC_HIT[12])) + (100 * TCC_HIT[13])) + (100 * TCC_HIT[14])) + (100 * TCC_HIT[15])) - + (100 * TCC_HIT[16])) + (100 * TCC_HIT[17])) + (100 * TCC_HIT[18])) + (100 - * TCC_HIT[19])) + (100 * TCC_HIT[20])) + (100 * TCC_HIT[21])) + (100 * TCC_HIT[22])) - + (100 * TCC_HIT[23])) + (100 * TCC_HIT[24])) + (100 * TCC_HIT[25])) + (100 - * TCC_HIT[26])) + (100 * TCC_HIT[27])) + (100 * TCC_HIT[28])) + (100 * TCC_HIT[29])) - + (100 * TCC_HIT[30])) + (100 * TCC_HIT[31])) / ((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31]))) if (((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[29] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31])) != 0) else None)) - std dev: STD(((((((((((((((((((((((((((((((((((100 * TCC_HIT[0]) + (100 * TCC_HIT[1])) - + (100 * TCC_HIT[2])) + (100 * TCC_HIT[3])) + (100 * TCC_HIT[4])) + (100 * - TCC_HIT[5])) + (100 * TCC_HIT[6])) + (100 * TCC_HIT[7])) + (100 * TCC_HIT[8])) - + (100 * TCC_HIT[9])) + (100 * TCC_HIT[10])) + (100 * TCC_HIT[11])) + (100 - * TCC_HIT[12])) + (100 * TCC_HIT[13])) + (100 * TCC_HIT[14])) + (100 * TCC_HIT[15])) - + (100 * TCC_HIT[16])) + (100 * TCC_HIT[17])) + (100 * TCC_HIT[18])) + (100 - * TCC_HIT[19])) + (100 * TCC_HIT[20])) + (100 * TCC_HIT[21])) + (100 * TCC_HIT[22])) - + (100 * TCC_HIT[23])) + (100 * TCC_HIT[24])) + (100 * TCC_HIT[25])) + (100 - * TCC_HIT[26])) + (100 * TCC_HIT[27])) + (100 * TCC_HIT[28])) + (100 * TCC_HIT[29])) - + (100 * TCC_HIT[30])) + (100 * TCC_HIT[31])) / ((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31]))) if (((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31])) != 0) else None)) - min: MIN(((((((((((((((((((((((((((((((((((100 * TCC_HIT[0]) + (100 * TCC_HIT[1])) - + (100 * TCC_HIT[2])) + (100 * TCC_HIT[3])) + (100 * TCC_HIT[4])) + (100 * - TCC_HIT[5])) + (100 * TCC_HIT[6])) + (100 * TCC_HIT[7])) + (100 * TCC_HIT[8])) - + (100 * TCC_HIT[9])) + (100 * TCC_HIT[10])) + (100 * TCC_HIT[11])) + (100 - * TCC_HIT[12])) + (100 * TCC_HIT[13])) + (100 * TCC_HIT[14])) + (100 * TCC_HIT[15])) - + (100 * TCC_HIT[16])) + (100 * TCC_HIT[17])) + (100 * TCC_HIT[18])) + (100 - * TCC_HIT[19])) + (100 * TCC_HIT[20])) + (100 * TCC_HIT[21])) + (100 * TCC_HIT[22])) - + (100 * TCC_HIT[23])) + (100 * TCC_HIT[24])) + (100 * TCC_HIT[25])) + (100 - * TCC_HIT[26])) + (100 * TCC_HIT[27])) + (100 * TCC_HIT[28])) + (100 * TCC_HIT[29])) - + (100 * TCC_HIT[30])) + (100 * TCC_HIT[31])) / ((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31]))) if (((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31])) != 0) else None)) - max: MAX(((((((((((((((((((((((((((((((((((100 * TCC_HIT[0]) + (100 * TCC_HIT[1])) - + (100 * TCC_HIT[2])) + (100 * TCC_HIT[3])) + (100 * TCC_HIT[4])) + (100 * - TCC_HIT[5])) + (100 * TCC_HIT[6])) + (100 * TCC_HIT[7])) + (100 * TCC_HIT[8])) - + (100 * TCC_HIT[9])) + (100 * TCC_HIT[10])) + (100 * TCC_HIT[11])) + (100 - * TCC_HIT[12])) + (100 * TCC_HIT[13])) + (100 * TCC_HIT[14])) + (100 * TCC_HIT[15])) - + (100 * TCC_HIT[16])) + (100 * TCC_HIT[17])) + (100 * TCC_HIT[18])) + (100 - * TCC_HIT[19])) + (100 * TCC_HIT[20])) + (100 * TCC_HIT[21])) + (100 * TCC_HIT[22])) - + (100 * TCC_HIT[23])) + (100 * TCC_HIT[24])) + (100 * TCC_HIT[25])) + (100 - * TCC_HIT[26])) + (100 * TCC_HIT[27])) + (100 * TCC_HIT[28])) + (100 * TCC_HIT[29])) - + (100 * TCC_HIT[30])) + (100 * TCC_HIT[31])) / ((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31]))) if (((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31])) != 0) else None)) - unit: pct - tips: - Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_REQ[0]) + TO_INT(TCC_REQ[1])) - + TO_INT(TCC_REQ[2])) + TO_INT(TCC_REQ[3])) + TO_INT(TCC_REQ[4])) + TO_INT(TCC_REQ[5])) - + TO_INT(TCC_REQ[6])) + TO_INT(TCC_REQ[7])) + TO_INT(TCC_REQ[8])) + TO_INT(TCC_REQ[9])) - + TO_INT(TCC_REQ[10])) + TO_INT(TCC_REQ[11])) + TO_INT(TCC_REQ[12])) + TO_INT(TCC_REQ[13])) - + TO_INT(TCC_REQ[14])) + TO_INT(TCC_REQ[15])) + TO_INT(TCC_REQ[16])) + TO_INT(TCC_REQ[17])) - + TO_INT(TCC_REQ[18])) + TO_INT(TCC_REQ[19])) + TO_INT(TCC_REQ[20])) + TO_INT(TCC_REQ[21])) - + TO_INT(TCC_REQ[22])) + TO_INT(TCC_REQ[23])) + TO_INT(TCC_REQ[24])) + TO_INT(TCC_REQ[25])) - + TO_INT(TCC_REQ[26])) + TO_INT(TCC_REQ[27])) + TO_INT(TCC_REQ[28])) + TO_INT(TCC_REQ[29])) - + TO_INT(TCC_REQ[30])) + TO_INT(TCC_REQ[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_REQ[0]) + TO_INT(TCC_REQ[1])) - + TO_INT(TCC_REQ[2])) + TO_INT(TCC_REQ[3])) + TO_INT(TCC_REQ[4])) + TO_INT(TCC_REQ[5])) - + TO_INT(TCC_REQ[6])) + TO_INT(TCC_REQ[7])) + TO_INT(TCC_REQ[8])) + TO_INT(TCC_REQ[9])) - + TO_INT(TCC_REQ[10])) + TO_INT(TCC_REQ[11])) + TO_INT(TCC_REQ[12])) + TO_INT(TCC_REQ[13])) - + TO_INT(TCC_REQ[14])) + TO_INT(TCC_REQ[15])) + TO_INT(TCC_REQ[16])) + TO_INT(TCC_REQ[17])) - + TO_INT(TCC_REQ[18])) + TO_INT(TCC_REQ[19])) + TO_INT(TCC_REQ[20])) + TO_INT(TCC_REQ[21])) - + TO_INT(TCC_REQ[22])) + TO_INT(TCC_REQ[23])) + TO_INT(TCC_REQ[24])) + TO_INT(TCC_REQ[25])) - + TO_INT(TCC_REQ[26])) + TO_INT(TCC_REQ[27])) + TO_INT(TCC_REQ[28])) + TO_INT(TCC_REQ[29])) - + TO_INT(TCC_REQ[30])) + TO_INT(TCC_REQ[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_REQ[0]) + TO_INT(TCC_REQ[1])) - + TO_INT(TCC_REQ[2])) + TO_INT(TCC_REQ[3])) + TO_INT(TCC_REQ[4])) + TO_INT(TCC_REQ[5])) - + TO_INT(TCC_REQ[6])) + TO_INT(TCC_REQ[7])) + TO_INT(TCC_REQ[8])) + TO_INT(TCC_REQ[9])) - + TO_INT(TCC_REQ[10])) + TO_INT(TCC_REQ[11])) + TO_INT(TCC_REQ[12])) + TO_INT(TCC_REQ[13])) - + TO_INT(TCC_REQ[14])) + TO_INT(TCC_REQ[15])) + TO_INT(TCC_REQ[16])) + TO_INT(TCC_REQ[17])) - + TO_INT(TCC_REQ[18])) + TO_INT(TCC_REQ[19])) + TO_INT(TCC_REQ[20])) + TO_INT(TCC_REQ[21])) - + TO_INT(TCC_REQ[22])) + TO_INT(TCC_REQ[23])) + TO_INT(TCC_REQ[24])) + TO_INT(TCC_REQ[25])) - + TO_INT(TCC_REQ[26])) + TO_INT(TCC_REQ[27])) + TO_INT(TCC_REQ[28])) + TO_INT(TCC_REQ[29])) - + TO_INT(TCC_REQ[30])) + TO_INT(TCC_REQ[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_REQ[0]) + TO_INT(TCC_REQ[1])) - + TO_INT(TCC_REQ[2])) + TO_INT(TCC_REQ[3])) + TO_INT(TCC_REQ[4])) + TO_INT(TCC_REQ[5])) - + TO_INT(TCC_REQ[6])) + TO_INT(TCC_REQ[7])) + TO_INT(TCC_REQ[8])) + TO_INT(TCC_REQ[9])) - + TO_INT(TCC_REQ[10])) + TO_INT(TCC_REQ[11])) + TO_INT(TCC_REQ[12])) + TO_INT(TCC_REQ[13])) - + TO_INT(TCC_REQ[14])) + TO_INT(TCC_REQ[15])) + TO_INT(TCC_REQ[16])) + TO_INT(TCC_REQ[17])) - + TO_INT(TCC_REQ[18])) + TO_INT(TCC_REQ[19])) + TO_INT(TCC_REQ[20])) + TO_INT(TCC_REQ[21])) - + TO_INT(TCC_REQ[22])) + TO_INT(TCC_REQ[23])) + TO_INT(TCC_REQ[24])) + TO_INT(TCC_REQ[25])) - + TO_INT(TCC_REQ[26])) + TO_INT(TCC_REQ[27])) + TO_INT(TCC_REQ[28])) + TO_INT(TCC_REQ[29])) - + TO_INT(TCC_REQ[30])) + TO_INT(TCC_REQ[31])) / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L1 - L2 Read Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_READ[0]) + TO_INT(TCC_READ[1])) - + TO_INT(TCC_READ[2])) + TO_INT(TCC_READ[3])) + TO_INT(TCC_READ[4])) + TO_INT(TCC_READ[5])) - + TO_INT(TCC_READ[6])) + TO_INT(TCC_READ[7])) + TO_INT(TCC_READ[8])) + TO_INT(TCC_READ[9])) - + TO_INT(TCC_READ[10])) + TO_INT(TCC_READ[11])) + TO_INT(TCC_READ[12])) + - TO_INT(TCC_READ[13])) + TO_INT(TCC_READ[14])) + TO_INT(TCC_READ[15])) + TO_INT(TCC_READ[16])) - + TO_INT(TCC_READ[17])) + TO_INT(TCC_READ[18])) + TO_INT(TCC_READ[19])) + - TO_INT(TCC_READ[20])) + TO_INT(TCC_READ[21])) + TO_INT(TCC_READ[22])) + TO_INT(TCC_READ[23])) - + TO_INT(TCC_READ[24])) + TO_INT(TCC_READ[25])) + TO_INT(TCC_READ[26])) + - TO_INT(TCC_READ[27])) + TO_INT(TCC_READ[28])) + TO_INT(TCC_READ[29])) + TO_INT(TCC_READ[30])) - + TO_INT(TCC_READ[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_READ[0]) + TO_INT(TCC_READ[1])) - + TO_INT(TCC_READ[2])) + TO_INT(TCC_READ[3])) + TO_INT(TCC_READ[4])) + TO_INT(TCC_READ[5])) - + TO_INT(TCC_READ[6])) + TO_INT(TCC_READ[7])) + TO_INT(TCC_READ[8])) + TO_INT(TCC_READ[9])) - + TO_INT(TCC_READ[10])) + TO_INT(TCC_READ[11])) + TO_INT(TCC_READ[12])) + - TO_INT(TCC_READ[13])) + TO_INT(TCC_READ[14])) + TO_INT(TCC_READ[15])) + TO_INT(TCC_READ[16])) - + TO_INT(TCC_READ[17])) + TO_INT(TCC_READ[18])) + TO_INT(TCC_READ[19])) + - TO_INT(TCC_READ[20])) + TO_INT(TCC_READ[21])) + TO_INT(TCC_READ[22])) + TO_INT(TCC_READ[23])) - + TO_INT(TCC_READ[24])) + TO_INT(TCC_READ[25])) + TO_INT(TCC_READ[26])) + - TO_INT(TCC_READ[27])) + TO_INT(TCC_READ[28])) + TO_INT(TCC_READ[29])) + TO_INT(TCC_READ[30])) - + TO_INT(TCC_READ[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_READ[0]) + TO_INT(TCC_READ[1])) - + TO_INT(TCC_READ[2])) + TO_INT(TCC_READ[3])) + TO_INT(TCC_READ[4])) + TO_INT(TCC_READ[5])) - + TO_INT(TCC_READ[6])) + TO_INT(TCC_READ[7])) + TO_INT(TCC_READ[8])) + TO_INT(TCC_READ[9])) - + TO_INT(TCC_READ[10])) + TO_INT(TCC_READ[11])) + TO_INT(TCC_READ[12])) + - TO_INT(TCC_READ[13])) + TO_INT(TCC_READ[14])) + TO_INT(TCC_READ[15])) + TO_INT(TCC_READ[16])) - + TO_INT(TCC_READ[17])) + TO_INT(TCC_READ[18])) + TO_INT(TCC_READ[19])) + - TO_INT(TCC_READ[20])) + TO_INT(TCC_READ[21])) + TO_INT(TCC_READ[22])) + TO_INT(TCC_READ[23])) - + TO_INT(TCC_READ[24])) + TO_INT(TCC_READ[25])) + TO_INT(TCC_READ[26])) + - TO_INT(TCC_READ[27])) + TO_INT(TCC_READ[28])) + TO_INT(TCC_READ[29])) + TO_INT(TCC_READ[30])) - + TO_INT(TCC_READ[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_READ[0]) + TO_INT(TCC_READ[1])) - + TO_INT(TCC_READ[2])) + TO_INT(TCC_READ[3])) + TO_INT(TCC_READ[4])) + TO_INT(TCC_READ[5])) - + TO_INT(TCC_READ[6])) + TO_INT(TCC_READ[7])) + TO_INT(TCC_READ[8])) + TO_INT(TCC_READ[9])) - + TO_INT(TCC_READ[10])) + TO_INT(TCC_READ[11])) + TO_INT(TCC_READ[12])) + - TO_INT(TCC_READ[13])) + TO_INT(TCC_READ[14])) + TO_INT(TCC_READ[15])) + TO_INT(TCC_READ[16])) - + TO_INT(TCC_READ[17])) + TO_INT(TCC_READ[18])) + TO_INT(TCC_READ[19])) + - TO_INT(TCC_READ[20])) + TO_INT(TCC_READ[21])) + TO_INT(TCC_READ[22])) + TO_INT(TCC_READ[23])) - + TO_INT(TCC_READ[24])) + TO_INT(TCC_READ[25])) + TO_INT(TCC_READ[26])) + - TO_INT(TCC_READ[27])) + TO_INT(TCC_READ[28])) + TO_INT(TCC_READ[29])) + TO_INT(TCC_READ[30])) - + TO_INT(TCC_READ[31])) / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L1 - L2 Write Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_WRITE[0]) + TO_INT(TCC_WRITE[1])) - + TO_INT(TCC_WRITE[2])) + TO_INT(TCC_WRITE[3])) + TO_INT(TCC_WRITE[4])) + - TO_INT(TCC_WRITE[5])) + TO_INT(TCC_WRITE[6])) + TO_INT(TCC_WRITE[7])) + TO_INT(TCC_WRITE[8])) - + TO_INT(TCC_WRITE[9])) + TO_INT(TCC_WRITE[10])) + TO_INT(TCC_WRITE[11])) - + TO_INT(TCC_WRITE[12])) + TO_INT(TCC_WRITE[13])) + TO_INT(TCC_WRITE[14])) - + TO_INT(TCC_WRITE[15])) + TO_INT(TCC_WRITE[16])) + TO_INT(TCC_WRITE[17])) - + TO_INT(TCC_WRITE[18])) + TO_INT(TCC_WRITE[19])) + TO_INT(TCC_WRITE[20])) - + TO_INT(TCC_WRITE[21])) + TO_INT(TCC_WRITE[22])) + TO_INT(TCC_WRITE[23])) - + TO_INT(TCC_WRITE[24])) + TO_INT(TCC_WRITE[25])) + TO_INT(TCC_WRITE[26])) - + TO_INT(TCC_WRITE[27])) + TO_INT(TCC_WRITE[28])) + TO_INT(TCC_WRITE[29])) - + TO_INT(TCC_WRITE[30])) + TO_INT(TCC_WRITE[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_WRITE[0]) + TO_INT(TCC_WRITE[1])) - + TO_INT(TCC_WRITE[2])) + TO_INT(TCC_WRITE[3])) + TO_INT(TCC_WRITE[4])) + - TO_INT(TCC_WRITE[5])) + TO_INT(TCC_WRITE[6])) + TO_INT(TCC_WRITE[7])) + TO_INT(TCC_WRITE[8])) - + TO_INT(TCC_WRITE[9])) + TO_INT(TCC_WRITE[10])) + TO_INT(TCC_WRITE[11])) - + TO_INT(TCC_WRITE[12])) + TO_INT(TCC_WRITE[13])) + TO_INT(TCC_WRITE[14])) - + TO_INT(TCC_WRITE[15])) + TO_INT(TCC_WRITE[16])) + TO_INT(TCC_WRITE[17])) - + TO_INT(TCC_WRITE[18])) + TO_INT(TCC_WRITE[19])) + TO_INT(TCC_WRITE[20])) - + TO_INT(TCC_WRITE[21])) + TO_INT(TCC_WRITE[22])) + TO_INT(TCC_WRITE[23])) - + TO_INT(TCC_WRITE[24])) + TO_INT(TCC_WRITE[25])) + TO_INT(TCC_WRITE[26])) - + TO_INT(TCC_WRITE[27])) + TO_INT(TCC_WRITE[28])) + TO_INT(TCC_WRITE[29])) - + TO_INT(TCC_WRITE[30])) + TO_INT(TCC_WRITE[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_WRITE[0]) + TO_INT(TCC_WRITE[1])) - + TO_INT(TCC_WRITE[2])) + TO_INT(TCC_WRITE[3])) + TO_INT(TCC_WRITE[4])) + - TO_INT(TCC_WRITE[5])) + TO_INT(TCC_WRITE[6])) + TO_INT(TCC_WRITE[7])) + TO_INT(TCC_WRITE[8])) - + TO_INT(TCC_WRITE[9])) + TO_INT(TCC_WRITE[10])) + TO_INT(TCC_WRITE[11])) - + TO_INT(TCC_WRITE[12])) + TO_INT(TCC_WRITE[13])) + TO_INT(TCC_WRITE[14])) - + TO_INT(TCC_WRITE[15])) + TO_INT(TCC_WRITE[16])) + TO_INT(TCC_WRITE[17])) - + TO_INT(TCC_WRITE[18])) + TO_INT(TCC_WRITE[19])) + TO_INT(TCC_WRITE[20])) - + TO_INT(TCC_WRITE[21])) + TO_INT(TCC_WRITE[22])) + TO_INT(TCC_WRITE[23])) - + TO_INT(TCC_WRITE[24])) + TO_INT(TCC_WRITE[25])) + TO_INT(TCC_WRITE[26])) - + TO_INT(TCC_WRITE[27])) + TO_INT(TCC_WRITE[28])) + TO_INT(TCC_WRITE[29])) - + TO_INT(TCC_WRITE[30])) + TO_INT(TCC_WRITE[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_WRITE[0]) + TO_INT(TCC_WRITE[1])) - + TO_INT(TCC_WRITE[2])) + TO_INT(TCC_WRITE[3])) + TO_INT(TCC_WRITE[4])) + - TO_INT(TCC_WRITE[5])) + TO_INT(TCC_WRITE[6])) + TO_INT(TCC_WRITE[7])) + TO_INT(TCC_WRITE[8])) - + TO_INT(TCC_WRITE[9])) + TO_INT(TCC_WRITE[10])) + TO_INT(TCC_WRITE[11])) - + TO_INT(TCC_WRITE[12])) + TO_INT(TCC_WRITE[13])) + TO_INT(TCC_WRITE[14])) - + TO_INT(TCC_WRITE[15])) + TO_INT(TCC_WRITE[16])) + TO_INT(TCC_WRITE[17])) - + TO_INT(TCC_WRITE[18])) + TO_INT(TCC_WRITE[19])) + TO_INT(TCC_WRITE[20])) - + TO_INT(TCC_WRITE[21])) + TO_INT(TCC_WRITE[22])) + TO_INT(TCC_WRITE[23])) - + TO_INT(TCC_WRITE[24])) + TO_INT(TCC_WRITE[25])) + TO_INT(TCC_WRITE[26])) - + TO_INT(TCC_WRITE[27])) + TO_INT(TCC_WRITE[28])) + TO_INT(TCC_WRITE[29])) - + TO_INT(TCC_WRITE[30])) + TO_INT(TCC_WRITE[31])) / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L1 - L2 Atomic Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_ATOMIC[0]) + TO_INT(TCC_ATOMIC[1])) - + TO_INT(TCC_ATOMIC[2])) + TO_INT(TCC_ATOMIC[3])) + TO_INT(TCC_ATOMIC[4])) - + TO_INT(TCC_ATOMIC[5])) + TO_INT(TCC_ATOMIC[6])) + TO_INT(TCC_ATOMIC[7])) - + TO_INT(TCC_ATOMIC[8])) + TO_INT(TCC_ATOMIC[9])) + TO_INT(TCC_ATOMIC[10])) - + TO_INT(TCC_ATOMIC[11])) + TO_INT(TCC_ATOMIC[12])) + TO_INT(TCC_ATOMIC[13])) - + TO_INT(TCC_ATOMIC[14])) + TO_INT(TCC_ATOMIC[15])) + TO_INT(TCC_ATOMIC[16])) - + TO_INT(TCC_ATOMIC[17])) + TO_INT(TCC_ATOMIC[18])) + TO_INT(TCC_ATOMIC[19])) - + TO_INT(TCC_ATOMIC[20])) + TO_INT(TCC_ATOMIC[21])) + TO_INT(TCC_ATOMIC[22])) - + TO_INT(TCC_ATOMIC[23])) + TO_INT(TCC_ATOMIC[24])) + TO_INT(TCC_ATOMIC[25])) - + TO_INT(TCC_ATOMIC[26])) + TO_INT(TCC_ATOMIC[27])) + TO_INT(TCC_ATOMIC[28])) - + TO_INT(TCC_ATOMIC[29])) + TO_INT(TCC_ATOMIC[30])) + TO_INT(TCC_ATOMIC[31])) - / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_ATOMIC[0]) + TO_INT(TCC_ATOMIC[1])) - + TO_INT(TCC_ATOMIC[2])) + TO_INT(TCC_ATOMIC[3])) + TO_INT(TCC_ATOMIC[4])) - + TO_INT(TCC_ATOMIC[5])) + TO_INT(TCC_ATOMIC[6])) + TO_INT(TCC_ATOMIC[7])) - + TO_INT(TCC_ATOMIC[8])) + TO_INT(TCC_ATOMIC[9])) + TO_INT(TCC_ATOMIC[10])) - + TO_INT(TCC_ATOMIC[11])) + TO_INT(TCC_ATOMIC[12])) + TO_INT(TCC_ATOMIC[13])) - + TO_INT(TCC_ATOMIC[14])) + TO_INT(TCC_ATOMIC[15])) + TO_INT(TCC_ATOMIC[16])) - + TO_INT(TCC_ATOMIC[17])) + TO_INT(TCC_ATOMIC[18])) + TO_INT(TCC_ATOMIC[19])) - + TO_INT(TCC_ATOMIC[20])) + TO_INT(TCC_ATOMIC[21])) + TO_INT(TCC_ATOMIC[22])) - + TO_INT(TCC_ATOMIC[23])) + TO_INT(TCC_ATOMIC[24])) + TO_INT(TCC_ATOMIC[25])) - + TO_INT(TCC_ATOMIC[26])) + TO_INT(TCC_ATOMIC[27])) + TO_INT(TCC_ATOMIC[28])) - + TO_INT(TCC_ATOMIC[29])) + TO_INT(TCC_ATOMIC[30])) + TO_INT(TCC_ATOMIC[31])) - / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_ATOMIC[0]) + TO_INT(TCC_ATOMIC[1])) - + TO_INT(TCC_ATOMIC[2])) + TO_INT(TCC_ATOMIC[3])) + TO_INT(TCC_ATOMIC[4])) - + TO_INT(TCC_ATOMIC[5])) + TO_INT(TCC_ATOMIC[6])) + TO_INT(TCC_ATOMIC[7])) - + TO_INT(TCC_ATOMIC[8])) + TO_INT(TCC_ATOMIC[9])) + TO_INT(TCC_ATOMIC[10])) - + TO_INT(TCC_ATOMIC[11])) + TO_INT(TCC_ATOMIC[12])) + TO_INT(TCC_ATOMIC[13])) - + TO_INT(TCC_ATOMIC[14])) + TO_INT(TCC_ATOMIC[15])) + TO_INT(TCC_ATOMIC[16])) - + TO_INT(TCC_ATOMIC[17])) + TO_INT(TCC_ATOMIC[18])) + TO_INT(TCC_ATOMIC[19])) - + TO_INT(TCC_ATOMIC[20])) + TO_INT(TCC_ATOMIC[21])) + TO_INT(TCC_ATOMIC[22])) - + TO_INT(TCC_ATOMIC[23])) + TO_INT(TCC_ATOMIC[24])) + TO_INT(TCC_ATOMIC[25])) - + TO_INT(TCC_ATOMIC[26])) + TO_INT(TCC_ATOMIC[27])) + TO_INT(TCC_ATOMIC[28])) - + TO_INT(TCC_ATOMIC[29])) + TO_INT(TCC_ATOMIC[30])) + TO_INT(TCC_ATOMIC[31])) - / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_ATOMIC[0]) + TO_INT(TCC_ATOMIC[1])) - + TO_INT(TCC_ATOMIC[2])) + TO_INT(TCC_ATOMIC[3])) + TO_INT(TCC_ATOMIC[4])) - + TO_INT(TCC_ATOMIC[5])) + TO_INT(TCC_ATOMIC[6])) + TO_INT(TCC_ATOMIC[7])) - + TO_INT(TCC_ATOMIC[8])) + TO_INT(TCC_ATOMIC[9])) + TO_INT(TCC_ATOMIC[10])) - + TO_INT(TCC_ATOMIC[11])) + TO_INT(TCC_ATOMIC[12])) + TO_INT(TCC_ATOMIC[13])) - + TO_INT(TCC_ATOMIC[14])) + TO_INT(TCC_ATOMIC[15])) + TO_INT(TCC_ATOMIC[16])) - + TO_INT(TCC_ATOMIC[17])) + TO_INT(TCC_ATOMIC[18])) + TO_INT(TCC_ATOMIC[19])) - + TO_INT(TCC_ATOMIC[20])) + TO_INT(TCC_ATOMIC[21])) + TO_INT(TCC_ATOMIC[22])) - + TO_INT(TCC_ATOMIC[23])) + TO_INT(TCC_ATOMIC[24])) + TO_INT(TCC_ATOMIC[25])) - + TO_INT(TCC_ATOMIC[26])) + TO_INT(TCC_ATOMIC[27])) + TO_INT(TCC_ATOMIC[28])) - + TO_INT(TCC_ATOMIC[29])) + TO_INT(TCC_ATOMIC[30])) + TO_INT(TCC_ATOMIC[31])) - / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L2 - EA Read Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ[0]) + TO_INT(TCC_EA_RDREQ[1])) - + TO_INT(TCC_EA_RDREQ[2])) + TO_INT(TCC_EA_RDREQ[3])) + TO_INT(TCC_EA_RDREQ[4])) - + TO_INT(TCC_EA_RDREQ[5])) + TO_INT(TCC_EA_RDREQ[6])) + TO_INT(TCC_EA_RDREQ[7])) - + TO_INT(TCC_EA_RDREQ[8])) + TO_INT(TCC_EA_RDREQ[9])) + TO_INT(TCC_EA_RDREQ[10])) - + TO_INT(TCC_EA_RDREQ[11])) + TO_INT(TCC_EA_RDREQ[12])) + TO_INT(TCC_EA_RDREQ[13])) - + TO_INT(TCC_EA_RDREQ[14])) + TO_INT(TCC_EA_RDREQ[15])) + TO_INT(TCC_EA_RDREQ[16])) - + TO_INT(TCC_EA_RDREQ[17])) + TO_INT(TCC_EA_RDREQ[18])) + TO_INT(TCC_EA_RDREQ[19])) - + TO_INT(TCC_EA_RDREQ[20])) + TO_INT(TCC_EA_RDREQ[21])) + TO_INT(TCC_EA_RDREQ[22])) - + TO_INT(TCC_EA_RDREQ[23])) + TO_INT(TCC_EA_RDREQ[24])) + TO_INT(TCC_EA_RDREQ[25])) - + TO_INT(TCC_EA_RDREQ[26])) + TO_INT(TCC_EA_RDREQ[27])) + TO_INT(TCC_EA_RDREQ[28])) - + TO_INT(TCC_EA_RDREQ[29])) + TO_INT(TCC_EA_RDREQ[30])) + TO_INT(TCC_EA_RDREQ[31])) - / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ[0]) + TO_INT(TCC_EA_RDREQ[1])) - + TO_INT(TCC_EA_RDREQ[2])) + TO_INT(TCC_EA_RDREQ[3])) + TO_INT(TCC_EA_RDREQ[4])) - + TO_INT(TCC_EA_RDREQ[5])) + TO_INT(TCC_EA_RDREQ[6])) + TO_INT(TCC_EA_RDREQ[7])) - + TO_INT(TCC_EA_RDREQ[8])) + TO_INT(TCC_EA_RDREQ[9])) + TO_INT(TCC_EA_RDREQ[10])) - + TO_INT(TCC_EA_RDREQ[11])) + TO_INT(TCC_EA_RDREQ[12])) + TO_INT(TCC_EA_RDREQ[13])) - + TO_INT(TCC_EA_RDREQ[14])) + TO_INT(TCC_EA_RDREQ[15])) + TO_INT(TCC_EA_RDREQ[16])) - + TO_INT(TCC_EA_RDREQ[17])) + TO_INT(TCC_EA_RDREQ[18])) + TO_INT(TCC_EA_RDREQ[19])) - + TO_INT(TCC_EA_RDREQ[20])) + TO_INT(TCC_EA_RDREQ[21])) + TO_INT(TCC_EA_RDREQ[22])) - + TO_INT(TCC_EA_RDREQ[23])) + TO_INT(TCC_EA_RDREQ[24])) + TO_INT(TCC_EA_RDREQ[25])) - + TO_INT(TCC_EA_RDREQ[26])) + TO_INT(TCC_EA_RDREQ[27])) + TO_INT(TCC_EA_RDREQ[28])) - + TO_INT(TCC_EA_RDREQ[29])) + TO_INT(TCC_EA_RDREQ[30])) + TO_INT(TCC_EA_RDREQ[31])) - / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ[0]) + TO_INT(TCC_EA_RDREQ[1])) - + TO_INT(TCC_EA_RDREQ[2])) + TO_INT(TCC_EA_RDREQ[3])) + TO_INT(TCC_EA_RDREQ[4])) - + TO_INT(TCC_EA_RDREQ[5])) + TO_INT(TCC_EA_RDREQ[6])) + TO_INT(TCC_EA_RDREQ[7])) - + TO_INT(TCC_EA_RDREQ[8])) + TO_INT(TCC_EA_RDREQ[9])) + TO_INT(TCC_EA_RDREQ[10])) - + TO_INT(TCC_EA_RDREQ[11])) + TO_INT(TCC_EA_RDREQ[12])) + TO_INT(TCC_EA_RDREQ[13])) - + TO_INT(TCC_EA_RDREQ[14])) + TO_INT(TCC_EA_RDREQ[15])) + TO_INT(TCC_EA_RDREQ[16])) - + TO_INT(TCC_EA_RDREQ[17])) + TO_INT(TCC_EA_RDREQ[18])) + TO_INT(TCC_EA_RDREQ[19])) - + TO_INT(TCC_EA_RDREQ[20])) + TO_INT(TCC_EA_RDREQ[21])) + TO_INT(TCC_EA_RDREQ[22])) - + TO_INT(TCC_EA_RDREQ[23])) + TO_INT(TCC_EA_RDREQ[24])) + TO_INT(TCC_EA_RDREQ[25])) - + TO_INT(TCC_EA_RDREQ[26])) + TO_INT(TCC_EA_RDREQ[27])) + TO_INT(TCC_EA_RDREQ[28])) - + TO_INT(TCC_EA_RDREQ[29])) + TO_INT(TCC_EA_RDREQ[30])) + TO_INT(TCC_EA_RDREQ[31])) - / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ[0]) + TO_INT(TCC_EA_RDREQ[1])) - + TO_INT(TCC_EA_RDREQ[2])) + TO_INT(TCC_EA_RDREQ[3])) + TO_INT(TCC_EA_RDREQ[4])) - + TO_INT(TCC_EA_RDREQ[5])) + TO_INT(TCC_EA_RDREQ[6])) + TO_INT(TCC_EA_RDREQ[7])) - + TO_INT(TCC_EA_RDREQ[8])) + TO_INT(TCC_EA_RDREQ[9])) + TO_INT(TCC_EA_RDREQ[10])) - + TO_INT(TCC_EA_RDREQ[11])) + TO_INT(TCC_EA_RDREQ[12])) + TO_INT(TCC_EA_RDREQ[13])) - + TO_INT(TCC_EA_RDREQ[14])) + TO_INT(TCC_EA_RDREQ[15])) + TO_INT(TCC_EA_RDREQ[16])) - + TO_INT(TCC_EA_RDREQ[17])) + TO_INT(TCC_EA_RDREQ[18])) + TO_INT(TCC_EA_RDREQ[19])) - + TO_INT(TCC_EA_RDREQ[20])) + TO_INT(TCC_EA_RDREQ[21])) + TO_INT(TCC_EA_RDREQ[22])) - + TO_INT(TCC_EA_RDREQ[23])) + TO_INT(TCC_EA_RDREQ[24])) + TO_INT(TCC_EA_RDREQ[25])) - + TO_INT(TCC_EA_RDREQ[26])) + TO_INT(TCC_EA_RDREQ[27])) + TO_INT(TCC_EA_RDREQ[28])) - + TO_INT(TCC_EA_RDREQ[29])) + TO_INT(TCC_EA_RDREQ[30])) + TO_INT(TCC_EA_RDREQ[31])) - / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L2 - EA Write Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ[0]) + TO_INT(TCC_EA_WRREQ[1])) - + TO_INT(TCC_EA_WRREQ[2])) + TO_INT(TCC_EA_WRREQ[3])) + TO_INT(TCC_EA_WRREQ[4])) - + TO_INT(TCC_EA_WRREQ[5])) + TO_INT(TCC_EA_WRREQ[6])) + TO_INT(TCC_EA_WRREQ[7])) - + TO_INT(TCC_EA_WRREQ[8])) + TO_INT(TCC_EA_WRREQ[9])) + TO_INT(TCC_EA_WRREQ[10])) - + TO_INT(TCC_EA_WRREQ[11])) + TO_INT(TCC_EA_WRREQ[12])) + TO_INT(TCC_EA_WRREQ[13])) - + TO_INT(TCC_EA_WRREQ[14])) + TO_INT(TCC_EA_WRREQ[15])) + TO_INT(TCC_EA_WRREQ[16])) - + TO_INT(TCC_EA_WRREQ[17])) + TO_INT(TCC_EA_WRREQ[18])) + TO_INT(TCC_EA_WRREQ[19])) - + TO_INT(TCC_EA_WRREQ[20])) + TO_INT(TCC_EA_WRREQ[21])) + TO_INT(TCC_EA_WRREQ[22])) - + TO_INT(TCC_EA_WRREQ[23])) + TO_INT(TCC_EA_WRREQ[24])) + TO_INT(TCC_EA_WRREQ[25])) - + TO_INT(TCC_EA_WRREQ[26])) + TO_INT(TCC_EA_WRREQ[27])) + TO_INT(TCC_EA_WRREQ[28])) - + TO_INT(TCC_EA_WRREQ[29])) + TO_INT(TCC_EA_WRREQ[30])) + TO_INT(TCC_EA_WRREQ[31])) - / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ[0]) + TO_INT(TCC_EA_WRREQ[1])) - + TO_INT(TCC_EA_WRREQ[2])) + TO_INT(TCC_EA_WRREQ[3])) + TO_INT(TCC_EA_WRREQ[4])) - + TO_INT(TCC_EA_WRREQ[5])) + TO_INT(TCC_EA_WRREQ[6])) + TO_INT(TCC_EA_WRREQ[7])) - + TO_INT(TCC_EA_WRREQ[8])) + TO_INT(TCC_EA_WRREQ[9])) + TO_INT(TCC_EA_WRREQ[10])) - + TO_INT(TCC_EA_WRREQ[11])) + TO_INT(TCC_EA_WRREQ[12])) + TO_INT(TCC_EA_WRREQ[13])) - + TO_INT(TCC_EA_WRREQ[14])) + TO_INT(TCC_EA_WRREQ[15])) + TO_INT(TCC_EA_WRREQ[16])) - + TO_INT(TCC_EA_WRREQ[17])) + TO_INT(TCC_EA_WRREQ[18])) + TO_INT(TCC_EA_WRREQ[19])) - + TO_INT(TCC_EA_WRREQ[20])) + TO_INT(TCC_EA_WRREQ[21])) + TO_INT(TCC_EA_WRREQ[22])) - + TO_INT(TCC_EA_WRREQ[23])) + TO_INT(TCC_EA_WRREQ[24])) + TO_INT(TCC_EA_WRREQ[25])) - + TO_INT(TCC_EA_WRREQ[26])) + TO_INT(TCC_EA_WRREQ[27])) + TO_INT(TCC_EA_WRREQ[28])) - + TO_INT(TCC_EA_WRREQ[29])) + TO_INT(TCC_EA_WRREQ[30])) + TO_INT(TCC_EA_WRREQ[31])) - / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ[0]) + TO_INT(TCC_EA_WRREQ[1])) - + TO_INT(TCC_EA_WRREQ[2])) + TO_INT(TCC_EA_WRREQ[3])) + TO_INT(TCC_EA_WRREQ[4])) - + TO_INT(TCC_EA_WRREQ[5])) + TO_INT(TCC_EA_WRREQ[6])) + TO_INT(TCC_EA_WRREQ[7])) - + TO_INT(TCC_EA_WRREQ[8])) + TO_INT(TCC_EA_WRREQ[9])) + TO_INT(TCC_EA_WRREQ[10])) - + TO_INT(TCC_EA_WRREQ[11])) + TO_INT(TCC_EA_WRREQ[12])) + TO_INT(TCC_EA_WRREQ[13])) - + TO_INT(TCC_EA_WRREQ[14])) + TO_INT(TCC_EA_WRREQ[15])) + TO_INT(TCC_EA_WRREQ[16])) - + TO_INT(TCC_EA_WRREQ[17])) + TO_INT(TCC_EA_WRREQ[18])) + TO_INT(TCC_EA_WRREQ[19])) - + TO_INT(TCC_EA_WRREQ[20])) + TO_INT(TCC_EA_WRREQ[21])) + TO_INT(TCC_EA_WRREQ[22])) - + TO_INT(TCC_EA_WRREQ[23])) + TO_INT(TCC_EA_WRREQ[24])) + TO_INT(TCC_EA_WRREQ[25])) - + TO_INT(TCC_EA_WRREQ[26])) + TO_INT(TCC_EA_WRREQ[27])) + TO_INT(TCC_EA_WRREQ[28])) - + TO_INT(TCC_EA_WRREQ[29])) + TO_INT(TCC_EA_WRREQ[30])) + TO_INT(TCC_EA_WRREQ[31])) - / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ[0]) + TO_INT(TCC_EA_WRREQ[1])) - + TO_INT(TCC_EA_WRREQ[2])) + TO_INT(TCC_EA_WRREQ[3])) + TO_INT(TCC_EA_WRREQ[4])) - + TO_INT(TCC_EA_WRREQ[5])) + TO_INT(TCC_EA_WRREQ[6])) + TO_INT(TCC_EA_WRREQ[7])) - + TO_INT(TCC_EA_WRREQ[8])) + TO_INT(TCC_EA_WRREQ[9])) + TO_INT(TCC_EA_WRREQ[10])) - + TO_INT(TCC_EA_WRREQ[11])) + TO_INT(TCC_EA_WRREQ[12])) + TO_INT(TCC_EA_WRREQ[13])) - + TO_INT(TCC_EA_WRREQ[14])) + TO_INT(TCC_EA_WRREQ[15])) + TO_INT(TCC_EA_WRREQ[16])) - + TO_INT(TCC_EA_WRREQ[17])) + TO_INT(TCC_EA_WRREQ[18])) + TO_INT(TCC_EA_WRREQ[19])) - + TO_INT(TCC_EA_WRREQ[20])) + TO_INT(TCC_EA_WRREQ[21])) + TO_INT(TCC_EA_WRREQ[22])) - + TO_INT(TCC_EA_WRREQ[23])) + TO_INT(TCC_EA_WRREQ[24])) + TO_INT(TCC_EA_WRREQ[25])) - + TO_INT(TCC_EA_WRREQ[26])) + TO_INT(TCC_EA_WRREQ[27])) + TO_INT(TCC_EA_WRREQ[28])) - + TO_INT(TCC_EA_WRREQ[29])) + TO_INT(TCC_EA_WRREQ[30])) + TO_INT(TCC_EA_WRREQ[31])) - / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L2 - EA Atomic Req: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_ATOMIC[0]) + TO_INT(TCC_EA_ATOMIC[1])) - + TO_INT(TCC_EA_ATOMIC[2])) + TO_INT(TCC_EA_ATOMIC[3])) + TO_INT(TCC_EA_ATOMIC[4])) - + TO_INT(TCC_EA_ATOMIC[5])) + TO_INT(TCC_EA_ATOMIC[6])) + TO_INT(TCC_EA_ATOMIC[7])) - + TO_INT(TCC_EA_ATOMIC[8])) + TO_INT(TCC_EA_ATOMIC[9])) + TO_INT(TCC_EA_ATOMIC[10])) - + TO_INT(TCC_EA_ATOMIC[11])) + TO_INT(TCC_EA_ATOMIC[12])) + TO_INT(TCC_EA_ATOMIC[13])) - + TO_INT(TCC_EA_ATOMIC[14])) + TO_INT(TCC_EA_ATOMIC[15])) + TO_INT(TCC_EA_ATOMIC[16])) - + TO_INT(TCC_EA_ATOMIC[17])) + TO_INT(TCC_EA_ATOMIC[18])) + TO_INT(TCC_EA_ATOMIC[19])) - + TO_INT(TCC_EA_ATOMIC[20])) + TO_INT(TCC_EA_ATOMIC[21])) + TO_INT(TCC_EA_ATOMIC[22])) - + TO_INT(TCC_EA_ATOMIC[23])) + TO_INT(TCC_EA_ATOMIC[24])) + TO_INT(TCC_EA_ATOMIC[25])) - + TO_INT(TCC_EA_ATOMIC[26])) + TO_INT(TCC_EA_ATOMIC[27])) + TO_INT(TCC_EA_ATOMIC[28])) - + TO_INT(TCC_EA_ATOMIC[29])) + TO_INT(TCC_EA_ATOMIC[30])) + TO_INT(TCC_EA_ATOMIC[31])) - / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_ATOMIC[0]) + TO_INT(TCC_EA_ATOMIC[1])) - + TO_INT(TCC_EA_ATOMIC[2])) + TO_INT(TCC_EA_ATOMIC[3])) + TO_INT(TCC_EA_ATOMIC[4])) - + TO_INT(TCC_EA_ATOMIC[5])) + TO_INT(TCC_EA_ATOMIC[6])) + TO_INT(TCC_EA_ATOMIC[7])) - + TO_INT(TCC_EA_ATOMIC[8])) + TO_INT(TCC_EA_ATOMIC[9])) + TO_INT(TCC_EA_ATOMIC[10])) - + TO_INT(TCC_EA_ATOMIC[11])) + TO_INT(TCC_EA_ATOMIC[12])) + TO_INT(TCC_EA_ATOMIC[13])) - + TO_INT(TCC_EA_ATOMIC[14])) + TO_INT(TCC_EA_ATOMIC[15])) + TO_INT(TCC_EA_ATOMIC[16])) - + TO_INT(TCC_EA_ATOMIC[17])) + TO_INT(TCC_EA_ATOMIC[18])) + TO_INT(TCC_EA_ATOMIC[19])) - + TO_INT(TCC_EA_ATOMIC[20])) + TO_INT(TCC_EA_ATOMIC[21])) + TO_INT(TCC_EA_ATOMIC[22])) - + TO_INT(TCC_EA_ATOMIC[23])) + TO_INT(TCC_EA_ATOMIC[24])) + TO_INT(TCC_EA_ATOMIC[25])) - + TO_INT(TCC_EA_ATOMIC[26])) + TO_INT(TCC_EA_ATOMIC[27])) + TO_INT(TCC_EA_ATOMIC[28])) - + TO_INT(TCC_EA_ATOMIC[29])) + TO_INT(TCC_EA_ATOMIC[30])) + TO_INT(TCC_EA_ATOMIC[31])) - / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_ATOMIC[0]) + TO_INT(TCC_EA_ATOMIC[1])) - + TO_INT(TCC_EA_ATOMIC[2])) + TO_INT(TCC_EA_ATOMIC[3])) + TO_INT(TCC_EA_ATOMIC[4])) - + TO_INT(TCC_EA_ATOMIC[5])) + TO_INT(TCC_EA_ATOMIC[6])) + TO_INT(TCC_EA_ATOMIC[7])) - + TO_INT(TCC_EA_ATOMIC[8])) + TO_INT(TCC_EA_ATOMIC[9])) + TO_INT(TCC_EA_ATOMIC[10])) - + TO_INT(TCC_EA_ATOMIC[11])) + TO_INT(TCC_EA_ATOMIC[12])) + TO_INT(TCC_EA_ATOMIC[13])) - + TO_INT(TCC_EA_ATOMIC[14])) + TO_INT(TCC_EA_ATOMIC[15])) + TO_INT(TCC_EA_ATOMIC[16])) - + TO_INT(TCC_EA_ATOMIC[17])) + TO_INT(TCC_EA_ATOMIC[18])) + TO_INT(TCC_EA_ATOMIC[19])) - + TO_INT(TCC_EA_ATOMIC[20])) + TO_INT(TCC_EA_ATOMIC[21])) + TO_INT(TCC_EA_ATOMIC[22])) - + TO_INT(TCC_EA_ATOMIC[23])) + TO_INT(TCC_EA_ATOMIC[24])) + TO_INT(TCC_EA_ATOMIC[25])) - + TO_INT(TCC_EA_ATOMIC[26])) + TO_INT(TCC_EA_ATOMIC[27])) + TO_INT(TCC_EA_ATOMIC[28])) - + TO_INT(TCC_EA_ATOMIC[29])) + TO_INT(TCC_EA_ATOMIC[30])) + TO_INT(TCC_EA_ATOMIC[31])) - / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_ATOMIC[0]) + TO_INT(TCC_EA_ATOMIC[1])) - + TO_INT(TCC_EA_ATOMIC[2])) + TO_INT(TCC_EA_ATOMIC[3])) + TO_INT(TCC_EA_ATOMIC[4])) - + TO_INT(TCC_EA_ATOMIC[5])) + TO_INT(TCC_EA_ATOMIC[6])) + TO_INT(TCC_EA_ATOMIC[7])) - + TO_INT(TCC_EA_ATOMIC[8])) + TO_INT(TCC_EA_ATOMIC[9])) + TO_INT(TCC_EA_ATOMIC[10])) - + TO_INT(TCC_EA_ATOMIC[11])) + TO_INT(TCC_EA_ATOMIC[12])) + TO_INT(TCC_EA_ATOMIC[13])) - + TO_INT(TCC_EA_ATOMIC[14])) + TO_INT(TCC_EA_ATOMIC[15])) + TO_INT(TCC_EA_ATOMIC[16])) - + TO_INT(TCC_EA_ATOMIC[17])) + TO_INT(TCC_EA_ATOMIC[18])) + TO_INT(TCC_EA_ATOMIC[19])) - + TO_INT(TCC_EA_ATOMIC[20])) + TO_INT(TCC_EA_ATOMIC[21])) + TO_INT(TCC_EA_ATOMIC[22])) - + TO_INT(TCC_EA_ATOMIC[23])) + TO_INT(TCC_EA_ATOMIC[24])) + TO_INT(TCC_EA_ATOMIC[25])) - + TO_INT(TCC_EA_ATOMIC[26])) + TO_INT(TCC_EA_ATOMIC[27])) + TO_INT(TCC_EA_ATOMIC[28])) - + TO_INT(TCC_EA_ATOMIC[29])) + TO_INT(TCC_EA_ATOMIC[30])) + TO_INT(TCC_EA_ATOMIC[31])) - / 32) / $denom)) - unit: (Req + $normUnit) - tips: - L2 - EA Read Lat: - avg: AVG((((((((((((((((((((((((((((((((((TCC_EA_RDREQ_LEVEL[0] + TCC_EA_RDREQ_LEVEL[1]) - + TCC_EA_RDREQ_LEVEL[2]) + TCC_EA_RDREQ_LEVEL[3]) + TCC_EA_RDREQ_LEVEL[4]) - + TCC_EA_RDREQ_LEVEL[5]) + TCC_EA_RDREQ_LEVEL[6]) + TCC_EA_RDREQ_LEVEL[7]) - + TCC_EA_RDREQ_LEVEL[8]) + TCC_EA_RDREQ_LEVEL[9]) + TCC_EA_RDREQ_LEVEL[10]) - + TCC_EA_RDREQ_LEVEL[11]) + TCC_EA_RDREQ_LEVEL[12]) + TCC_EA_RDREQ_LEVEL[13]) - + TCC_EA_RDREQ_LEVEL[14]) + TCC_EA_RDREQ_LEVEL[15]) + TCC_EA_RDREQ_LEVEL[16]) - + TCC_EA_RDREQ_LEVEL[17]) + TCC_EA_RDREQ_LEVEL[18]) + TCC_EA_RDREQ_LEVEL[19]) - + TCC_EA_RDREQ_LEVEL[20]) + TCC_EA_RDREQ_LEVEL[21]) + TCC_EA_RDREQ_LEVEL[22]) - + TCC_EA_RDREQ_LEVEL[23]) + TCC_EA_RDREQ_LEVEL[24]) + TCC_EA_RDREQ_LEVEL[25]) - + TCC_EA_RDREQ_LEVEL[26]) + TCC_EA_RDREQ_LEVEL[27]) + TCC_EA_RDREQ_LEVEL[28]) - + TCC_EA_RDREQ_LEVEL[29]) + TCC_EA_RDREQ_LEVEL[30]) + TCC_EA_RDREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) - + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) - + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) - + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) - + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) - + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) - + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) - + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) - + TCC_EA_RDREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + - TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) - + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) - + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) - + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) - + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) - + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) - + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) - + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) + TCC_EA_RDREQ[31]) != 0) else None)) - std dev: STD((((((((((((((((((((((((((((((((((TCC_EA_RDREQ_LEVEL[0] + TCC_EA_RDREQ_LEVEL[1]) - + TCC_EA_RDREQ_LEVEL[2]) + TCC_EA_RDREQ_LEVEL[3]) + TCC_EA_RDREQ_LEVEL[4]) - + TCC_EA_RDREQ_LEVEL[5]) + TCC_EA_RDREQ_LEVEL[6]) + TCC_EA_RDREQ_LEVEL[7]) - + TCC_EA_RDREQ_LEVEL[8]) + TCC_EA_RDREQ_LEVEL[9]) + TCC_EA_RDREQ_LEVEL[10]) - + TCC_EA_RDREQ_LEVEL[11]) + TCC_EA_RDREQ_LEVEL[12]) + TCC_EA_RDREQ_LEVEL[13]) - + TCC_EA_RDREQ_LEVEL[14]) + TCC_EA_RDREQ_LEVEL[15]) + TCC_EA_RDREQ_LEVEL[16]) - + TCC_EA_RDREQ_LEVEL[17]) + TCC_EA_RDREQ_LEVEL[18]) + TCC_EA_RDREQ_LEVEL[19]) - + TCC_EA_RDREQ_LEVEL[20]) + TCC_EA_RDREQ_LEVEL[21]) + TCC_EA_RDREQ_LEVEL[22]) - + TCC_EA_RDREQ_LEVEL[23]) + TCC_EA_RDREQ_LEVEL[24]) + TCC_EA_RDREQ_LEVEL[25]) - + TCC_EA_RDREQ_LEVEL[26]) + TCC_EA_RDREQ_LEVEL[27]) + TCC_EA_RDREQ_LEVEL[28]) - + TCC_EA_RDREQ_LEVEL[29]) + TCC_EA_RDREQ_LEVEL[30]) + TCC_EA_RDREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) - + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) - + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) - + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) - + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) - + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) - + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) - + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) - + TCC_EA_RDREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + - TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) - + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) - + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) - + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) - + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) - + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) - + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) - + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) + TCC_EA_RDREQ[31]) != 0) else None)) - min: MIN((((((((((((((((((((((((((((((((((TCC_EA_RDREQ_LEVEL[0] + TCC_EA_RDREQ_LEVEL[1]) - + TCC_EA_RDREQ_LEVEL[2]) + TCC_EA_RDREQ_LEVEL[3]) + TCC_EA_RDREQ_LEVEL[4]) - + TCC_EA_RDREQ_LEVEL[5]) + TCC_EA_RDREQ_LEVEL[6]) + TCC_EA_RDREQ_LEVEL[7]) - + TCC_EA_RDREQ_LEVEL[8]) + TCC_EA_RDREQ_LEVEL[9]) + TCC_EA_RDREQ_LEVEL[10]) - + TCC_EA_RDREQ_LEVEL[11]) + TCC_EA_RDREQ_LEVEL[12]) + TCC_EA_RDREQ_LEVEL[13]) - + TCC_EA_RDREQ_LEVEL[14]) + TCC_EA_RDREQ_LEVEL[15]) + TCC_EA_RDREQ_LEVEL[16]) - + TCC_EA_RDREQ_LEVEL[17]) + TCC_EA_RDREQ_LEVEL[18]) + TCC_EA_RDREQ_LEVEL[19]) - + TCC_EA_RDREQ_LEVEL[20]) + TCC_EA_RDREQ_LEVEL[21]) + TCC_EA_RDREQ_LEVEL[22]) - + TCC_EA_RDREQ_LEVEL[23]) + TCC_EA_RDREQ_LEVEL[24]) + TCC_EA_RDREQ_LEVEL[25]) - + TCC_EA_RDREQ_LEVEL[26]) + TCC_EA_RDREQ_LEVEL[27]) + TCC_EA_RDREQ_LEVEL[28]) - + TCC_EA_RDREQ_LEVEL[29]) + TCC_EA_RDREQ_LEVEL[30]) + TCC_EA_RDREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) - + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) - + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) - + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) - + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) - + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) - + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) - + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) - + TCC_EA_RDREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + - TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) - + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) - + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) - + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) - + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) - + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) - + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) - + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) + TCC_EA_RDREQ[31]) != 0) else None)) - max: MAX((((((((((((((((((((((((((((((((((TCC_EA_RDREQ_LEVEL[0] + TCC_EA_RDREQ_LEVEL[1]) - + TCC_EA_RDREQ_LEVEL[2]) + TCC_EA_RDREQ_LEVEL[3]) + TCC_EA_RDREQ_LEVEL[4]) - + TCC_EA_RDREQ_LEVEL[5]) + TCC_EA_RDREQ_LEVEL[6]) + TCC_EA_RDREQ_LEVEL[7]) - + TCC_EA_RDREQ_LEVEL[8]) + TCC_EA_RDREQ_LEVEL[9]) + TCC_EA_RDREQ_LEVEL[10]) - + TCC_EA_RDREQ_LEVEL[11]) + TCC_EA_RDREQ_LEVEL[12]) + TCC_EA_RDREQ_LEVEL[13]) - + TCC_EA_RDREQ_LEVEL[14]) + TCC_EA_RDREQ_LEVEL[15]) + TCC_EA_RDREQ_LEVEL[16]) - + TCC_EA_RDREQ_LEVEL[17]) + TCC_EA_RDREQ_LEVEL[18]) + TCC_EA_RDREQ_LEVEL[19]) - + TCC_EA_RDREQ_LEVEL[20]) + TCC_EA_RDREQ_LEVEL[21]) + TCC_EA_RDREQ_LEVEL[22]) - + TCC_EA_RDREQ_LEVEL[23]) + TCC_EA_RDREQ_LEVEL[24]) + TCC_EA_RDREQ_LEVEL[25]) - + TCC_EA_RDREQ_LEVEL[26]) + TCC_EA_RDREQ_LEVEL[27]) + TCC_EA_RDREQ_LEVEL[28]) - + TCC_EA_RDREQ_LEVEL[29]) + TCC_EA_RDREQ_LEVEL[30]) + TCC_EA_RDREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) - + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) - + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) - + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) - + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) - + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) - + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) - + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) - + TCC_EA_RDREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_RDREQ[0] + - TCC_EA_RDREQ[1]) + TCC_EA_RDREQ[2]) + TCC_EA_RDREQ[3]) + TCC_EA_RDREQ[4]) - + TCC_EA_RDREQ[5]) + TCC_EA_RDREQ[6]) + TCC_EA_RDREQ[7]) + TCC_EA_RDREQ[8]) - + TCC_EA_RDREQ[9]) + TCC_EA_RDREQ[10]) + TCC_EA_RDREQ[11]) + TCC_EA_RDREQ[12]) - + TCC_EA_RDREQ[13]) + TCC_EA_RDREQ[14]) + TCC_EA_RDREQ[15]) + TCC_EA_RDREQ[16]) - + TCC_EA_RDREQ[17]) + TCC_EA_RDREQ[18]) + TCC_EA_RDREQ[19]) + TCC_EA_RDREQ[20]) - + TCC_EA_RDREQ[21]) + TCC_EA_RDREQ[22]) + TCC_EA_RDREQ[23]) + TCC_EA_RDREQ[24]) - + TCC_EA_RDREQ[25]) + TCC_EA_RDREQ[26]) + TCC_EA_RDREQ[27]) + TCC_EA_RDREQ[28]) - + TCC_EA_RDREQ[29]) + TCC_EA_RDREQ[30]) + TCC_EA_RDREQ[31]) != 0) else None)) - unit: Cycles - tips: - L2 - EA Write Lat: - avg: AVG((((((((((((((((((((((((((((((((((TCC_EA_WRREQ_LEVEL[0] + TCC_EA_WRREQ_LEVEL[1]) - + TCC_EA_WRREQ_LEVEL[2]) + TCC_EA_WRREQ_LEVEL[3]) + TCC_EA_WRREQ_LEVEL[4]) - + TCC_EA_WRREQ_LEVEL[5]) + TCC_EA_WRREQ_LEVEL[6]) + TCC_EA_WRREQ_LEVEL[7]) - + TCC_EA_WRREQ_LEVEL[8]) + TCC_EA_WRREQ_LEVEL[9]) + TCC_EA_WRREQ_LEVEL[10]) - + TCC_EA_WRREQ_LEVEL[11]) + TCC_EA_WRREQ_LEVEL[12]) + TCC_EA_WRREQ_LEVEL[13]) - + TCC_EA_WRREQ_LEVEL[14]) + TCC_EA_WRREQ_LEVEL[15]) + TCC_EA_WRREQ_LEVEL[16]) - + TCC_EA_WRREQ_LEVEL[17]) + TCC_EA_WRREQ_LEVEL[18]) + TCC_EA_WRREQ_LEVEL[19]) - + TCC_EA_WRREQ_LEVEL[20]) + TCC_EA_WRREQ_LEVEL[21]) + TCC_EA_WRREQ_LEVEL[22]) - + TCC_EA_WRREQ_LEVEL[23]) + TCC_EA_WRREQ_LEVEL[24]) + TCC_EA_WRREQ_LEVEL[25]) - + TCC_EA_WRREQ_LEVEL[26]) + TCC_EA_WRREQ_LEVEL[27]) + TCC_EA_WRREQ_LEVEL[28]) - + TCC_EA_WRREQ_LEVEL[29]) + TCC_EA_WRREQ_LEVEL[30]) + TCC_EA_WRREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) - + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) - + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) - + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) - + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) - + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) - + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) - + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) - + TCC_EA_WRREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + - TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) - + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) - + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) - + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) - + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) - + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) - + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) - + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) + TCC_EA_WRREQ[31]) != 0) else None)) - std dev: STD((((((((((((((((((((((((((((((((((TCC_EA_WRREQ_LEVEL[0] + TCC_EA_WRREQ_LEVEL[1]) - + TCC_EA_WRREQ_LEVEL[2]) + TCC_EA_WRREQ_LEVEL[3]) + TCC_EA_WRREQ_LEVEL[4]) - + TCC_EA_WRREQ_LEVEL[5]) + TCC_EA_WRREQ_LEVEL[6]) + TCC_EA_WRREQ_LEVEL[7]) - + TCC_EA_WRREQ_LEVEL[8]) + TCC_EA_WRREQ_LEVEL[9]) + TCC_EA_WRREQ_LEVEL[10]) - + TCC_EA_WRREQ_LEVEL[11]) + TCC_EA_WRREQ_LEVEL[12]) + TCC_EA_WRREQ_LEVEL[13]) - + TCC_EA_WRREQ_LEVEL[14]) + TCC_EA_WRREQ_LEVEL[15]) + TCC_EA_WRREQ_LEVEL[16]) - + TCC_EA_WRREQ_LEVEL[17]) + TCC_EA_WRREQ_LEVEL[18]) + TCC_EA_WRREQ_LEVEL[19]) - + TCC_EA_WRREQ_LEVEL[20]) + TCC_EA_WRREQ_LEVEL[21]) + TCC_EA_WRREQ_LEVEL[22]) - + TCC_EA_WRREQ_LEVEL[23]) + TCC_EA_WRREQ_LEVEL[24]) + TCC_EA_WRREQ_LEVEL[25]) - + TCC_EA_WRREQ_LEVEL[26]) + TCC_EA_WRREQ_LEVEL[27]) + TCC_EA_WRREQ_LEVEL[28]) - + TCC_EA_WRREQ_LEVEL[29]) + TCC_EA_WRREQ_LEVEL[30]) + TCC_EA_WRREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) - + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) - + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) - + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) - + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) - + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) - + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) - + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) - + TCC_EA_WRREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + - TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) - + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) - + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) - + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) - + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) - + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) - + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) - + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) + TCC_EA_WRREQ[31]) != 0) else None)) - min: MIN((((((((((((((((((((((((((((((((((TCC_EA_WRREQ_LEVEL[0] + TCC_EA_WRREQ_LEVEL[1]) - + TCC_EA_WRREQ_LEVEL[2]) + TCC_EA_WRREQ_LEVEL[3]) + TCC_EA_WRREQ_LEVEL[4]) - + TCC_EA_WRREQ_LEVEL[5]) + TCC_EA_WRREQ_LEVEL[6]) + TCC_EA_WRREQ_LEVEL[7]) - + TCC_EA_WRREQ_LEVEL[8]) + TCC_EA_WRREQ_LEVEL[9]) + TCC_EA_WRREQ_LEVEL[10]) - + TCC_EA_WRREQ_LEVEL[11]) + TCC_EA_WRREQ_LEVEL[12]) + TCC_EA_WRREQ_LEVEL[13]) - + TCC_EA_WRREQ_LEVEL[14]) + TCC_EA_WRREQ_LEVEL[15]) + TCC_EA_WRREQ_LEVEL[16]) - + TCC_EA_WRREQ_LEVEL[17]) + TCC_EA_WRREQ_LEVEL[18]) + TCC_EA_WRREQ_LEVEL[19]) - + TCC_EA_WRREQ_LEVEL[20]) + TCC_EA_WRREQ_LEVEL[21]) + TCC_EA_WRREQ_LEVEL[22]) - + TCC_EA_WRREQ_LEVEL[23]) + TCC_EA_WRREQ_LEVEL[24]) + TCC_EA_WRREQ_LEVEL[25]) - + TCC_EA_WRREQ_LEVEL[26]) + TCC_EA_WRREQ_LEVEL[27]) + TCC_EA_WRREQ_LEVEL[28]) - + TCC_EA_WRREQ_LEVEL[29]) + TCC_EA_WRREQ_LEVEL[30]) + TCC_EA_WRREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) - + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) - + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) - + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) - + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) - + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) - + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) - + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) - + TCC_EA_WRREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + - TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) - + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) - + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) - + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) - + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) - + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) - + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) - + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) + TCC_EA_WRREQ[31]) != 0) else None)) - max: MAX((((((((((((((((((((((((((((((((((TCC_EA_WRREQ_LEVEL[0] + TCC_EA_WRREQ_LEVEL[1]) - + TCC_EA_WRREQ_LEVEL[2]) + TCC_EA_WRREQ_LEVEL[3]) + TCC_EA_WRREQ_LEVEL[4]) - + TCC_EA_WRREQ_LEVEL[5]) + TCC_EA_WRREQ_LEVEL[6]) + TCC_EA_WRREQ_LEVEL[7]) - + TCC_EA_WRREQ_LEVEL[8]) + TCC_EA_WRREQ_LEVEL[9]) + TCC_EA_WRREQ_LEVEL[10]) - + TCC_EA_WRREQ_LEVEL[11]) + TCC_EA_WRREQ_LEVEL[12]) + TCC_EA_WRREQ_LEVEL[13]) - + TCC_EA_WRREQ_LEVEL[14]) + TCC_EA_WRREQ_LEVEL[15]) + TCC_EA_WRREQ_LEVEL[16]) - + TCC_EA_WRREQ_LEVEL[17]) + TCC_EA_WRREQ_LEVEL[18]) + TCC_EA_WRREQ_LEVEL[19]) - + TCC_EA_WRREQ_LEVEL[20]) + TCC_EA_WRREQ_LEVEL[21]) + TCC_EA_WRREQ_LEVEL[22]) - + TCC_EA_WRREQ_LEVEL[23]) + TCC_EA_WRREQ_LEVEL[24]) + TCC_EA_WRREQ_LEVEL[25]) - + TCC_EA_WRREQ_LEVEL[26]) + TCC_EA_WRREQ_LEVEL[27]) + TCC_EA_WRREQ_LEVEL[28]) - + TCC_EA_WRREQ_LEVEL[29]) + TCC_EA_WRREQ_LEVEL[30]) + TCC_EA_WRREQ_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) - + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) - + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) - + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) - + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) - + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) - + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) - + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) - + TCC_EA_WRREQ[31])) if ((((((((((((((((((((((((((((((((TCC_EA_WRREQ[0] + - TCC_EA_WRREQ[1]) + TCC_EA_WRREQ[2]) + TCC_EA_WRREQ[3]) + TCC_EA_WRREQ[4]) - + TCC_EA_WRREQ[5]) + TCC_EA_WRREQ[6]) + TCC_EA_WRREQ[7]) + TCC_EA_WRREQ[8]) - + TCC_EA_WRREQ[9]) + TCC_EA_WRREQ[10]) + TCC_EA_WRREQ[11]) + TCC_EA_WRREQ[12]) - + TCC_EA_WRREQ[13]) + TCC_EA_WRREQ[14]) + TCC_EA_WRREQ[15]) + TCC_EA_WRREQ[16]) - + TCC_EA_WRREQ[17]) + TCC_EA_WRREQ[18]) + TCC_EA_WRREQ[19]) + TCC_EA_WRREQ[20]) - + TCC_EA_WRREQ[21]) + TCC_EA_WRREQ[22]) + TCC_EA_WRREQ[23]) + TCC_EA_WRREQ[24]) - + TCC_EA_WRREQ[25]) + TCC_EA_WRREQ[26]) + TCC_EA_WRREQ[27]) + TCC_EA_WRREQ[28]) - + TCC_EA_WRREQ[29]) + TCC_EA_WRREQ[30]) + TCC_EA_WRREQ[31]) != 0) else None)) - unit: Cycles - tips: - L2 - EA Atomic Lat: - avg: AVG((((((((((((((((((((((((((((((((((TCC_EA_ATOMIC_LEVEL[0] + TCC_EA_ATOMIC_LEVEL[1]) - + TCC_EA_ATOMIC_LEVEL[2]) + TCC_EA_ATOMIC_LEVEL[3]) + TCC_EA_ATOMIC_LEVEL[4]) - + TCC_EA_ATOMIC_LEVEL[5]) + TCC_EA_ATOMIC_LEVEL[6]) + TCC_EA_ATOMIC_LEVEL[7]) - + TCC_EA_ATOMIC_LEVEL[8]) + TCC_EA_ATOMIC_LEVEL[9]) + TCC_EA_ATOMIC_LEVEL[10]) - + TCC_EA_ATOMIC_LEVEL[11]) + TCC_EA_ATOMIC_LEVEL[12]) + TCC_EA_ATOMIC_LEVEL[13]) - + TCC_EA_ATOMIC_LEVEL[14]) + TCC_EA_ATOMIC_LEVEL[15]) + TCC_EA_ATOMIC_LEVEL[16]) - + TCC_EA_ATOMIC_LEVEL[17]) + TCC_EA_ATOMIC_LEVEL[18]) + TCC_EA_ATOMIC_LEVEL[19]) - + TCC_EA_ATOMIC_LEVEL[20]) + TCC_EA_ATOMIC_LEVEL[21]) + TCC_EA_ATOMIC_LEVEL[22]) - + TCC_EA_ATOMIC_LEVEL[23]) + TCC_EA_ATOMIC_LEVEL[24]) + TCC_EA_ATOMIC_LEVEL[25]) - + TCC_EA_ATOMIC_LEVEL[26]) + TCC_EA_ATOMIC_LEVEL[27]) + TCC_EA_ATOMIC_LEVEL[28]) - + TCC_EA_ATOMIC_LEVEL[29]) + TCC_EA_ATOMIC_LEVEL[30]) + TCC_EA_ATOMIC_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) - + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) - + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) - + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) - + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) - + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) - + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) - + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) - + TCC_EA_ATOMIC[31])) if ((((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] - + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) - + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) - + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) - + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) - + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) - + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) - + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) - + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) + TCC_EA_ATOMIC[31]) != 0) else - None)) - std dev: STD((((((((((((((((((((((((((((((((((TCC_EA_ATOMIC_LEVEL[0] + TCC_EA_ATOMIC_LEVEL[1]) - + TCC_EA_ATOMIC_LEVEL[2]) + TCC_EA_ATOMIC_LEVEL[3]) + TCC_EA_ATOMIC_LEVEL[4]) - + TCC_EA_ATOMIC_LEVEL[5]) + TCC_EA_ATOMIC_LEVEL[6]) + TCC_EA_ATOMIC_LEVEL[7]) - + TCC_EA_ATOMIC_LEVEL[8]) + TCC_EA_ATOMIC_LEVEL[9]) + TCC_EA_ATOMIC_LEVEL[10]) - + TCC_EA_ATOMIC_LEVEL[11]) + TCC_EA_ATOMIC_LEVEL[12]) + TCC_EA_ATOMIC_LEVEL[13]) - + TCC_EA_ATOMIC_LEVEL[14]) + TCC_EA_ATOMIC_LEVEL[15]) + TCC_EA_ATOMIC_LEVEL[16]) - + TCC_EA_ATOMIC_LEVEL[17]) + TCC_EA_ATOMIC_LEVEL[18]) + TCC_EA_ATOMIC_LEVEL[19]) - + TCC_EA_ATOMIC_LEVEL[20]) + TCC_EA_ATOMIC_LEVEL[21]) + TCC_EA_ATOMIC_LEVEL[22]) - + TCC_EA_ATOMIC_LEVEL[23]) + TCC_EA_ATOMIC_LEVEL[24]) + TCC_EA_ATOMIC_LEVEL[25]) - + TCC_EA_ATOMIC_LEVEL[26]) + TCC_EA_ATOMIC_LEVEL[27]) + TCC_EA_ATOMIC_LEVEL[28]) - + TCC_EA_ATOMIC_LEVEL[29]) + TCC_EA_ATOMIC_LEVEL[30]) + TCC_EA_ATOMIC_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) - + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) - + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) - + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) - + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) - + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) - + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) - + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) - + TCC_EA_ATOMIC[31])) if ((((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] - + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) - + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) - + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) - + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) - + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) - + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) - + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) - + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) + TCC_EA_ATOMIC[31]) != 0) else - None)) - min: MIN((((((((((((((((((((((((((((((((((TCC_EA_ATOMIC_LEVEL[0] + TCC_EA_ATOMIC_LEVEL[1]) - + TCC_EA_ATOMIC_LEVEL[2]) + TCC_EA_ATOMIC_LEVEL[3]) + TCC_EA_ATOMIC_LEVEL[4]) - + TCC_EA_ATOMIC_LEVEL[5]) + TCC_EA_ATOMIC_LEVEL[6]) + TCC_EA_ATOMIC_LEVEL[7]) - + TCC_EA_ATOMIC_LEVEL[8]) + TCC_EA_ATOMIC_LEVEL[9]) + TCC_EA_ATOMIC_LEVEL[10]) - + TCC_EA_ATOMIC_LEVEL[11]) + TCC_EA_ATOMIC_LEVEL[12]) + TCC_EA_ATOMIC_LEVEL[13]) - + TCC_EA_ATOMIC_LEVEL[14]) + TCC_EA_ATOMIC_LEVEL[15]) + TCC_EA_ATOMIC_LEVEL[16]) - + TCC_EA_ATOMIC_LEVEL[17]) + TCC_EA_ATOMIC_LEVEL[18]) + TCC_EA_ATOMIC_LEVEL[19]) - + TCC_EA_ATOMIC_LEVEL[20]) + TCC_EA_ATOMIC_LEVEL[21]) + TCC_EA_ATOMIC_LEVEL[22]) - + TCC_EA_ATOMIC_LEVEL[23]) + TCC_EA_ATOMIC_LEVEL[24]) + TCC_EA_ATOMIC_LEVEL[25]) - + TCC_EA_ATOMIC_LEVEL[26]) + TCC_EA_ATOMIC_LEVEL[27]) + TCC_EA_ATOMIC_LEVEL[28]) - + TCC_EA_ATOMIC_LEVEL[29]) + TCC_EA_ATOMIC_LEVEL[30]) + TCC_EA_ATOMIC_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) - + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) - + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) - + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) - + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) - + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) - + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) - + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) - + TCC_EA_ATOMIC[31])) if ((((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] - + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) - + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) - + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) - + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) - + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) - + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) - + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) - + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) + TCC_EA_ATOMIC[31]) != 0) else - None)) - max: MAX((((((((((((((((((((((((((((((((((TCC_EA_ATOMIC_LEVEL[0] + TCC_EA_ATOMIC_LEVEL[1]) - + TCC_EA_ATOMIC_LEVEL[2]) + TCC_EA_ATOMIC_LEVEL[3]) + TCC_EA_ATOMIC_LEVEL[4]) - + TCC_EA_ATOMIC_LEVEL[5]) + TCC_EA_ATOMIC_LEVEL[6]) + TCC_EA_ATOMIC_LEVEL[7]) - + TCC_EA_ATOMIC_LEVEL[8]) + TCC_EA_ATOMIC_LEVEL[9]) + TCC_EA_ATOMIC_LEVEL[10]) - + TCC_EA_ATOMIC_LEVEL[11]) + TCC_EA_ATOMIC_LEVEL[12]) + TCC_EA_ATOMIC_LEVEL[13]) - + TCC_EA_ATOMIC_LEVEL[14]) + TCC_EA_ATOMIC_LEVEL[15]) + TCC_EA_ATOMIC_LEVEL[16]) - + TCC_EA_ATOMIC_LEVEL[17]) + TCC_EA_ATOMIC_LEVEL[18]) + TCC_EA_ATOMIC_LEVEL[19]) - + TCC_EA_ATOMIC_LEVEL[20]) + TCC_EA_ATOMIC_LEVEL[21]) + TCC_EA_ATOMIC_LEVEL[22]) - + TCC_EA_ATOMIC_LEVEL[23]) + TCC_EA_ATOMIC_LEVEL[24]) + TCC_EA_ATOMIC_LEVEL[25]) - + TCC_EA_ATOMIC_LEVEL[26]) + TCC_EA_ATOMIC_LEVEL[27]) + TCC_EA_ATOMIC_LEVEL[28]) - + TCC_EA_ATOMIC_LEVEL[29]) + TCC_EA_ATOMIC_LEVEL[30]) + TCC_EA_ATOMIC_LEVEL[31]) - / (((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) - + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) - + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) - + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) - + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) - + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) - + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) - + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) - + TCC_EA_ATOMIC[31])) if ((((((((((((((((((((((((((((((((TCC_EA_ATOMIC[0] - + TCC_EA_ATOMIC[1]) + TCC_EA_ATOMIC[2]) + TCC_EA_ATOMIC[3]) + TCC_EA_ATOMIC[4]) - + TCC_EA_ATOMIC[5]) + TCC_EA_ATOMIC[6]) + TCC_EA_ATOMIC[7]) + TCC_EA_ATOMIC[8]) - + TCC_EA_ATOMIC[9]) + TCC_EA_ATOMIC[10]) + TCC_EA_ATOMIC[11]) + TCC_EA_ATOMIC[12]) - + TCC_EA_ATOMIC[13]) + TCC_EA_ATOMIC[14]) + TCC_EA_ATOMIC[15]) + TCC_EA_ATOMIC[16]) - + TCC_EA_ATOMIC[17]) + TCC_EA_ATOMIC[18]) + TCC_EA_ATOMIC[19]) + TCC_EA_ATOMIC[20]) - + TCC_EA_ATOMIC[21]) + TCC_EA_ATOMIC[22]) + TCC_EA_ATOMIC[23]) + TCC_EA_ATOMIC[24]) - + TCC_EA_ATOMIC[25]) + TCC_EA_ATOMIC[26]) + TCC_EA_ATOMIC[27]) + TCC_EA_ATOMIC[28]) - + TCC_EA_ATOMIC[29]) + TCC_EA_ATOMIC[30]) + TCC_EA_ATOMIC[31]) != 0) else - None)) - unit: Cycles - tips: - L2 - EA Read Stall (IO): - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[31])) / 32) / $denom)) - unit: (Cycles + $normUnit) - tips: - L2 - EA Read Stall (GMI): - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[31])) / 32) / $denom)) - unit: (Cycles + $normUnit) - tips: - L2 - EA Read Stall (DRAM): - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[0]) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[1])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[2])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[3])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[4])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[5])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[6])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[7])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[8])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[9])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[10])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[11])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[12])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[13])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[14])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[15])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[16])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[17])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[18])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[19])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[20])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[21])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[22])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[23])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[24])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[25])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[26])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[27])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[28])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[29])) + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[30])) - + TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[31])) / 32) / $denom)) - unit: (Cycles + $normUnit) - tips: - L2 - EA Write Stall (IO): - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[31])) / 32) / $denom)) - unit: (Cycles + $normUnit) - tips: - L2 - EA Write Stall (GMI): - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[31])) / 32) / $denom)) - unit: (Cycles + $normUnit) - tips: - L2 - EA Write Stall (DRAM): - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[0]) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[1])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[2])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[3])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[4])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[5])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[6])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[7])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[8])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[9])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[10])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[11])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[12])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[13])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[14])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[15])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[16])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[17])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[18])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[19])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[20])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[21])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[22])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[23])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[24])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[25])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[26])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[27])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[28])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[29])) + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[30])) - + TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[31])) / 32) / $denom)) - unit: (Cycles + $normUnit) - tips: - L2 - EA Write Starve: - avg: AVG((((((((((((((((((((((((((((((((((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[0]) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[1])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[2])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[3])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[4])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[5])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[6])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[7])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[8])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[9])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[10])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[11])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[12])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[13])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[14])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[15])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[16])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[17])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[18])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[19])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[20])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[21])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[22])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[23])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[24])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[25])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[26])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[27])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[28])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[29])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[30])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[31])) / 32) / $denom)) - std dev: STD((((((((((((((((((((((((((((((((((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[0]) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[1])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[2])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[3])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[4])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[5])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[6])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[7])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[8])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[9])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[10])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[11])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[12])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[13])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[14])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[15])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[16])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[17])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[18])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[19])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[20])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[21])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[22])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[23])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[24])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[25])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[26])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[27])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[28])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[29])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[30])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[31])) / 32) / $denom)) - min: MIN((((((((((((((((((((((((((((((((((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[0]) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[1])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[2])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[3])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[4])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[5])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[6])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[7])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[8])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[9])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[10])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[11])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[12])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[13])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[14])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[15])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[16])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[17])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[18])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[19])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[20])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[21])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[22])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[23])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[24])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[25])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[26])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[27])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[28])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[29])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[30])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[31])) / 32) / $denom)) - max: MAX((((((((((((((((((((((((((((((((((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[0]) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[1])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[2])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[3])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[4])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[5])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[6])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[7])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[8])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[9])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[10])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[11])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[12])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[13])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[14])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[15])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[16])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[17])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[18])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[19])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[20])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[21])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[22])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[23])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[24])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[25])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[26])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[27])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[28])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[29])) + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[30])) - + TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[31])) / 32) / $denom)) - unit: (Cycles + $normUnit) - tips: - - metric_table: - id: 1802 - title: Channel 0-15 - columnwise: True - header: - channel: Channel - hit rate: L2 Cache Hit Rate (%) - req: Requests (Requests) - read req: L1-L2 Read (Requests) - write req: L1-L2 Write (Requests) - atomic req: L1-L2 Atomic (Requests) - ea read req: L2-EA Read (Requests) - ea write req: L2-EA Write (Requests) - ea atomic req: L2-EA Atomic (Requests) - ea read lat - cycles: L2-EA Read Latency (Cycles) - ea write lat - cycles: L2-EA Write Latency (Cycles) - ea atomic lat - cycles: L2-EA Atomic Latency (Cycles) - ea read stall - io: L2-EA Read Stall - IO (Cycles per) - ea read stall - gmi: L2-EA Read Stall - GMI (Cycles per) - ea read stall - dram: L2-EA Read Stall - DRAM (Cycles per) - ea write stall - io: L2-EA Write Stall - IO (Cycles per) - ea write stall - gmi: L2-EA Write Stall - GMI (Cycles per) - ea write stall - dram: L2-EA Write Stall - DRAM (Cycles per) - ea write stall - starve: L2-EA Write Stall - Starve (Cycles per) - tips: Tips - metric: - '0': - hit rate: AVG((((100 * TCC_HIT[0]) / (TCC_HIT[0] + TCC_MISS[0])) if ((TCC_HIT[0] - + TCC_MISS[0]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[0]) / $denom)) - read req: AVG((TO_INT(TCC_READ[0]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[0]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[0]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[0]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[0]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[0]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[0] / TCC_EA_RDREQ[0]) if (TCC_EA_RDREQ[0] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[0] / TCC_EA_WRREQ[0]) if (TCC_EA_WRREQ[0] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[0] / TCC_EA_ATOMIC[0]) if - (TCC_EA_ATOMIC[0] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[0]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[0]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[0]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[0]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[0]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[0]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[0]) / $denom)) - tips: - '1': - hit rate: AVG((((100 * TCC_HIT[1]) / (TCC_HIT[1] + TCC_MISS[1])) if ((TCC_HIT[1] - + TCC_MISS[1]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[1]) / $denom)) - read req: AVG((TO_INT(TCC_READ[1]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[1]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[1]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[1]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[1]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[1]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[1] / TCC_EA_RDREQ[1]) if (TCC_EA_RDREQ[1] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[1] / TCC_EA_WRREQ[1]) if (TCC_EA_WRREQ[1] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[1] / TCC_EA_ATOMIC[1]) if - (TCC_EA_ATOMIC[1] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[1]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[1]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[1]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[1]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[1]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[1]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[1]) / $denom)) - tips: - '2': - hit rate: AVG((((100 * TCC_HIT[2]) / (TCC_HIT[2] + TCC_MISS[2])) if ((TCC_HIT[2] - + TCC_MISS[2]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[2]) / $denom)) - read req: AVG((TO_INT(TCC_READ[2]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[2]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[2]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[2]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[2]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[2]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[2] / TCC_EA_RDREQ[2]) if (TCC_EA_RDREQ[2] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[2] / TCC_EA_WRREQ[2]) if (TCC_EA_WRREQ[2] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[2] / TCC_EA_ATOMIC[2]) if - (TCC_EA_ATOMIC[2] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[2]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[2]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[2]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[2]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[2]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[2]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[2]) / $denom)) - tips: - '3': - hit rate: AVG((((100 * TCC_HIT[3]) / (TCC_HIT[3] + TCC_MISS[3])) if ((TCC_HIT[3] - + TCC_MISS[3]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[3]) / $denom)) - read req: AVG((TO_INT(TCC_READ[3]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[3]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[3]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[3]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[3]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[3]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[3] / TCC_EA_RDREQ[3]) if (TCC_EA_RDREQ[3] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[3] / TCC_EA_WRREQ[3]) if (TCC_EA_WRREQ[3] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[3] / TCC_EA_ATOMIC[3]) if - (TCC_EA_ATOMIC[3] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[3]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[3]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[3]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[3]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[3]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[3]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[3]) / $denom)) - tips: - '4': - hit rate: AVG((((100 * TCC_HIT[4]) / (TCC_HIT[4] + TCC_MISS[4])) if ((TCC_HIT[4] - + TCC_MISS[4]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[4]) / $denom)) - read req: AVG((TO_INT(TCC_READ[4]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[4]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[4]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[4]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[4]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[4]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[4] / TCC_EA_RDREQ[4]) if (TCC_EA_RDREQ[4] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[4] / TCC_EA_WRREQ[4]) if (TCC_EA_WRREQ[4] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[4] / TCC_EA_ATOMIC[4]) if - (TCC_EA_ATOMIC[4] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[4]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[4]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[4]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[4]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[4]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[4]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[4]) / $denom)) - tips: - '5': - hit rate: AVG((((100 * TCC_HIT[5]) / (TCC_HIT[5] + TCC_MISS[5])) if ((TCC_HIT[5] - + TCC_MISS[5]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[5]) / $denom)) - read req: AVG((TO_INT(TCC_READ[5]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[5]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[5]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[5]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[5]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[5]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[5] / TCC_EA_RDREQ[5]) if (TCC_EA_RDREQ[5] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[5] / TCC_EA_WRREQ[5]) if (TCC_EA_WRREQ[5] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[5] / TCC_EA_ATOMIC[5]) if - (TCC_EA_ATOMIC[5] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[5]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[5]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[5]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[5]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[5]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[5]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[5]) / $denom)) - tips: - '6': - hit rate: AVG((((100 * TCC_HIT[6]) / (TCC_HIT[6] + TCC_MISS[6])) if ((TCC_HIT[6] - + TCC_MISS[6]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[6]) / $denom)) - read req: AVG((TO_INT(TCC_READ[6]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[6]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[6]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[6]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[6]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[6]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[6] / TCC_EA_RDREQ[6]) if (TCC_EA_RDREQ[6] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[6] / TCC_EA_WRREQ[6]) if (TCC_EA_WRREQ[6] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[6] / TCC_EA_ATOMIC[6]) if - (TCC_EA_ATOMIC[6] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[6]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[6]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[6]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[6]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[6]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[6]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[6]) / $denom)) - tips: - '7': - hit rate: AVG((((100 * TCC_HIT[7]) / (TCC_HIT[7] + TCC_MISS[7])) if ((TCC_HIT[7] - + TCC_MISS[7]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[7]) / $denom)) - read req: AVG((TO_INT(TCC_READ[7]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[7]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[7]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[7]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[7]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[7]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[7] / TCC_EA_RDREQ[7]) if (TCC_EA_RDREQ[7] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[7] / TCC_EA_WRREQ[7]) if (TCC_EA_WRREQ[7] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[7] / TCC_EA_ATOMIC[7]) if - (TCC_EA_ATOMIC[7] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[7]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[7]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[7]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[7]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[7]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[7]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[7]) / $denom)) - tips: - '8': - hit rate: AVG((((100 * TCC_HIT[8]) / (TCC_HIT[8] + TCC_MISS[8])) if ((TCC_HIT[8] - + TCC_MISS[8]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[8]) / $denom)) - read req: AVG((TO_INT(TCC_READ[8]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[8]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[8]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[8]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[8]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[8]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[8] / TCC_EA_RDREQ[8]) if (TCC_EA_RDREQ[8] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[8] / TCC_EA_WRREQ[8]) if (TCC_EA_WRREQ[8] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[8] / TCC_EA_ATOMIC[8]) if - (TCC_EA_ATOMIC[8] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[8]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[8]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[8]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[8]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[8]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[8]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[8]) / $denom)) - tips: - '9': - hit rate: AVG((((100 * TCC_HIT[9]) / (TCC_HIT[9] + TCC_MISS[9])) if ((TCC_HIT[9] - + TCC_MISS[9]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[9]) / $denom)) - read req: AVG((TO_INT(TCC_READ[9]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[9]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[9]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[9]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[9]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[9]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[9] / TCC_EA_RDREQ[9]) if (TCC_EA_RDREQ[9] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[9] / TCC_EA_WRREQ[9]) if (TCC_EA_WRREQ[9] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[9] / TCC_EA_ATOMIC[9]) if - (TCC_EA_ATOMIC[9] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[9]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[9]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[9]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[9]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[9]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[9]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[9]) / $denom)) - tips: - '10': - hit rate: AVG((((100 * TCC_HIT[10]) / (TCC_HIT[10] + TCC_MISS[10])) if ((TCC_HIT[10] - + TCC_MISS[10]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[10]) / $denom)) - read req: AVG((TO_INT(TCC_READ[10]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[10]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[10]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[10]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[10]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[10]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[10] / TCC_EA_RDREQ[10]) if (TCC_EA_RDREQ[10] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[10] / TCC_EA_WRREQ[10]) if (TCC_EA_WRREQ[10] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[10] / TCC_EA_ATOMIC[10]) if - (TCC_EA_ATOMIC[10] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[10]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[10]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[10]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[10]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[10]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[10]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[10]) / $denom)) - tips: - '11': - hit rate: AVG((((100 * TCC_HIT[11]) / (TCC_HIT[11] + TCC_MISS[11])) if ((TCC_HIT[11] - + TCC_MISS[11]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[11]) / $denom)) - read req: AVG((TO_INT(TCC_READ[11]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[11]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[11]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[11]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[11]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[11]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[11] / TCC_EA_RDREQ[11]) if (TCC_EA_RDREQ[11] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[11] / TCC_EA_WRREQ[11]) if (TCC_EA_WRREQ[11] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[11] / TCC_EA_ATOMIC[11]) if - (TCC_EA_ATOMIC[11] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[11]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[11]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[11]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[11]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[11]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[11]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[11]) / $denom)) - tips: - '12': - hit rate: AVG((((100 * TCC_HIT[12]) / (TCC_HIT[12] + TCC_MISS[12])) if ((TCC_HIT[12] - + TCC_MISS[12]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[12]) / $denom)) - read req: AVG((TO_INT(TCC_READ[12]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[12]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[12]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[12]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[12]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[12]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[12] / TCC_EA_RDREQ[12]) if (TCC_EA_RDREQ[12] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[12] / TCC_EA_WRREQ[12]) if (TCC_EA_WRREQ[12] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[12] / TCC_EA_ATOMIC[12]) if - (TCC_EA_ATOMIC[12] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[12]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[12]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[12]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[12]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[12]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[12]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[12]) / $denom)) - tips: - '13': - hit rate: AVG((((100 * TCC_HIT[13]) / (TCC_HIT[13] + TCC_MISS[13])) if ((TCC_HIT[13] - + TCC_MISS[13]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[13]) / $denom)) - read req: AVG((TO_INT(TCC_READ[13]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[13]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[13]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[13]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[13]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[13]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[13] / TCC_EA_RDREQ[13]) if (TCC_EA_RDREQ[13] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[13] / TCC_EA_WRREQ[13]) if (TCC_EA_WRREQ[13] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[13] / TCC_EA_ATOMIC[13]) if - (TCC_EA_ATOMIC[13] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[13]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[13]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[13]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[13]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[13]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[13]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[13]) / $denom)) - tips: - '14': - hit rate: AVG((((100 * TCC_HIT[14]) / (TCC_HIT[14] + TCC_MISS[14])) if ((TCC_HIT[14] - + TCC_MISS[14]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[14]) / $denom)) - read req: AVG((TO_INT(TCC_READ[14]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[14]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[14]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[14]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[14]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[14]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[14] / TCC_EA_RDREQ[14]) if (TCC_EA_RDREQ[14] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[14] / TCC_EA_WRREQ[14]) if (TCC_EA_WRREQ[14] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[14] / TCC_EA_ATOMIC[14]) if - (TCC_EA_ATOMIC[14] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[14]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[14]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[14]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[14]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[14]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[14]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[14]) / $denom)) - tips: - '15': - hit rate: AVG((((100 * TCC_HIT[15]) / (TCC_HIT[15] + TCC_MISS[15])) if ((TCC_HIT[15] - + TCC_MISS[15]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[15]) / $denom)) - read req: AVG((TO_INT(TCC_READ[15]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[15]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[15]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[15]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[15]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[15]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[15] / TCC_EA_RDREQ[15]) if (TCC_EA_RDREQ[15] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[15] / TCC_EA_WRREQ[15]) if (TCC_EA_WRREQ[15] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[15] / TCC_EA_ATOMIC[15]) if - (TCC_EA_ATOMIC[15] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[15]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[15]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[15]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[15]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[15]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[15]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[15]) / $denom)) - tips: - - metric_table: - id: 1803 - title: Channel 16-31 - columnwise: True - header: - channel: Channel - hit rate: L2 Cache Hit Rate (%) - req: Requests (Requests) - read req: L1-L2 Read (Requests) - write req: L1-L2 Write (Requests) - atomic req: L1-L2 Atomic (Requests) - ea read req: L2-EA Read (Requests) - ea write req: L2-EA Write (Requests) - ea atomic req: L2-EA Atomic (Requests) - ea read lat - cycles: L2-EA Read Latency (Cycles) - ea write lat - cycles: L2-EA Write Latency (Cycles) - ea atomic lat - cycles: L2-EA Atomic Latency (Cycles) - ea read stall - io: L2-EA Read Stall - IO (Cycles per) - ea read stall - gmi: L2-EA Read Stall - GMI (Cycles per) - ea read stall - dram: L2-EA Read Stall - DRAM (Cycles per) - ea write stall - io: L2-EA Write Stall - IO (Cycles per) - ea write stall - gmi: L2-EA Write Stall - GMI (Cycles per) - ea write stall - dram: L2-EA Write Stall - DRAM (Cycles per) - ea write stall - starve: L2-EA Write Stall - Starve (Cycles per) - tips: Tips - metric: - '16': - hit rate: AVG((((100 * TCC_HIT[16]) / (TCC_HIT[16] + TCC_MISS[16])) if ((TCC_HIT[16] - + TCC_MISS[16]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[16]) / $denom)) - read req: AVG((TO_INT(TCC_READ[16]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[16]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[16]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[16]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[16]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[16]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[16] / TCC_EA_RDREQ[16]) if (TCC_EA_RDREQ[16] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[16] / TCC_EA_WRREQ[16]) if (TCC_EA_WRREQ[16] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[16] / TCC_EA_ATOMIC[16]) if - (TCC_EA_ATOMIC[16] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[16]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[16]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[16]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[16]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[16]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[16]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[16]) / $denom)) - tips: - '17': - hit rate: AVG((((100 * TCC_HIT[17]) / (TCC_HIT[17] + TCC_MISS[17])) if ((TCC_HIT[17] - + TCC_MISS[17]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[17]) / $denom)) - read req: AVG((TO_INT(TCC_READ[17]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[17]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[17]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[17]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[17]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[17]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[17] / TCC_EA_RDREQ[17]) if (TCC_EA_RDREQ[17] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[17] / TCC_EA_WRREQ[17]) if (TCC_EA_WRREQ[17] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[17] / TCC_EA_ATOMIC[17]) if - (TCC_EA_ATOMIC[17] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[17]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[17]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[17]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[17]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[17]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[17]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[17]) / $denom)) - tips: - '18': - hit rate: AVG((((100 * TCC_HIT[18]) / (TCC_HIT[18] + TCC_MISS[18])) if ((TCC_HIT[18] - + TCC_MISS[18]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[18]) / $denom)) - read req: AVG((TO_INT(TCC_READ[18]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[18]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[18]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[18]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[18]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[18]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[18] / TCC_EA_RDREQ[18]) if (TCC_EA_RDREQ[18] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[18] / TCC_EA_WRREQ[18]) if (TCC_EA_WRREQ[18] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[18] / TCC_EA_ATOMIC[18]) if - (TCC_EA_ATOMIC[18] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[18]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[18]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[18]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[18]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[18]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[18]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[18]) / $denom)) - tips: - '19': - hit rate: AVG((((100 * TCC_HIT[19]) / (TCC_HIT[19] + TCC_MISS[19])) if ((TCC_HIT[19] - + TCC_MISS[19]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[19]) / $denom)) - read req: AVG((TO_INT(TCC_READ[19]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[19]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[19]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[19]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[19]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[19]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[19] / TCC_EA_RDREQ[19]) if (TCC_EA_RDREQ[19] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[19] / TCC_EA_WRREQ[19]) if (TCC_EA_WRREQ[19] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[19] / TCC_EA_ATOMIC[19]) if - (TCC_EA_ATOMIC[19] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[19]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[19]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[19]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[19]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[19]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[19]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[19]) / $denom)) - tips: - '20': - hit rate: AVG((((100 * TCC_HIT[20]) / (TCC_HIT[20] + TCC_MISS[20])) if ((TCC_HIT[20] - + TCC_MISS[20]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[20]) / $denom)) - read req: AVG((TO_INT(TCC_READ[20]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[20]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[20]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[20]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[20]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[20]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[20] / TCC_EA_RDREQ[20]) if (TCC_EA_RDREQ[20] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[20] / TCC_EA_WRREQ[20]) if (TCC_EA_WRREQ[20] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[20] / TCC_EA_ATOMIC[20]) if - (TCC_EA_ATOMIC[20] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[20]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[20]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[20]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[20]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[20]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[20]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[20]) / $denom)) - tips: - '21': - hit rate: AVG((((100 * TCC_HIT[21]) / (TCC_HIT[21] + TCC_MISS[21])) if ((TCC_HIT[21] - + TCC_MISS[21]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[21]) / $denom)) - read req: AVG((TO_INT(TCC_READ[21]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[21]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[21]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[21]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[21]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[21]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[21] / TCC_EA_RDREQ[21]) if (TCC_EA_RDREQ[21] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[21] / TCC_EA_WRREQ[21]) if (TCC_EA_WRREQ[21] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[21] / TCC_EA_ATOMIC[21]) if - (TCC_EA_ATOMIC[21] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[21]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[21]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[21]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[21]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[21]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[21]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[21]) / $denom)) - tips: - '22': - hit rate: AVG((((100 * TCC_HIT[22]) / (TCC_HIT[22] + TCC_MISS[22])) if ((TCC_HIT[22] - + TCC_MISS[22]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[22]) / $denom)) - read req: AVG((TO_INT(TCC_READ[22]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[22]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[22]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[22]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[22]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[22]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[22] / TCC_EA_RDREQ[22]) if (TCC_EA_RDREQ[22] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[22] / TCC_EA_WRREQ[22]) if (TCC_EA_WRREQ[22] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[22] / TCC_EA_ATOMIC[22]) if - (TCC_EA_ATOMIC[22] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[22]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[22]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[22]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[22]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[22]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[22]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[22]) / $denom)) - tips: - '23': - hit rate: AVG((((100 * TCC_HIT[23]) / (TCC_HIT[23] + TCC_MISS[23])) if ((TCC_HIT[23] - + TCC_MISS[23]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[23]) / $denom)) - read req: AVG((TO_INT(TCC_READ[23]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[23]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[23]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[23]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[23]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[23]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[23] / TCC_EA_RDREQ[23]) if (TCC_EA_RDREQ[23] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[23] / TCC_EA_WRREQ[23]) if (TCC_EA_WRREQ[23] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[23] / TCC_EA_ATOMIC[23]) if - (TCC_EA_ATOMIC[23] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[23]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[23]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[23]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[23]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[23]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[23]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[23]) / $denom)) - tips: - '24': - hit rate: AVG((((100 * TCC_HIT[24]) / (TCC_HIT[24] + TCC_MISS[24])) if ((TCC_HIT[24] - + TCC_MISS[24]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[24]) / $denom)) - read req: AVG((TO_INT(TCC_READ[24]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[24]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[24]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[24]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[24]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[24]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[24] / TCC_EA_RDREQ[24]) if (TCC_EA_RDREQ[24] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[24] / TCC_EA_WRREQ[24]) if (TCC_EA_WRREQ[24] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[24] / TCC_EA_ATOMIC[24]) if - (TCC_EA_ATOMIC[24] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[24]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[24]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[24]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[24]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[24]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[24]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[24]) / $denom)) - tips: - '25': - hit rate: AVG((((100 * TCC_HIT[25]) / (TCC_HIT[25] + TCC_MISS[25])) if ((TCC_HIT[25] - + TCC_MISS[25]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[25]) / $denom)) - read req: AVG((TO_INT(TCC_READ[25]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[25]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[25]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[25]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[25]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[25]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[25] / TCC_EA_RDREQ[25]) if (TCC_EA_RDREQ[25] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[25] / TCC_EA_WRREQ[25]) if (TCC_EA_WRREQ[25] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[25] / TCC_EA_ATOMIC[25]) if - (TCC_EA_ATOMIC[25] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[25]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[25]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[25]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[25]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[25]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[25]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[25]) / $denom)) - tips: - '26': - hit rate: AVG((((100 * TCC_HIT[26]) / (TCC_HIT[26] + TCC_MISS[26])) if ((TCC_HIT[26] - + TCC_MISS[26]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[26]) / $denom)) - read req: AVG((TO_INT(TCC_READ[26]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[26]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[26]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[26]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[26]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[26]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[26] / TCC_EA_RDREQ[26]) if (TCC_EA_RDREQ[26] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[26] / TCC_EA_WRREQ[26]) if (TCC_EA_WRREQ[26] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[26] / TCC_EA_ATOMIC[26]) if - (TCC_EA_ATOMIC[26] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[26]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[26]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[26]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[26]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[26]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[26]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[26]) / $denom)) - tips: - '27': - hit rate: AVG((((100 * TCC_HIT[27]) / (TCC_HIT[27] + TCC_MISS[27])) if ((TCC_HIT[27] - + TCC_MISS[27]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[27]) / $denom)) - read req: AVG((TO_INT(TCC_READ[27]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[27]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[27]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[27]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[27]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[27]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[27] / TCC_EA_RDREQ[27]) if (TCC_EA_RDREQ[27] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[27] / TCC_EA_WRREQ[27]) if (TCC_EA_WRREQ[27] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[27] / TCC_EA_ATOMIC[27]) if - (TCC_EA_ATOMIC[27] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[27]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[27]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[27]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[27]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[27]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[27]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[27]) / $denom)) - tips: - '28': - hit rate: AVG((((100 * TCC_HIT[28]) / (TCC_HIT[28] + TCC_MISS[28])) if ((TCC_HIT[28] - + TCC_MISS[28]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[28]) / $denom)) - read req: AVG((TO_INT(TCC_READ[28]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[28]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[28]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[28]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[28]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[28]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[28] / TCC_EA_RDREQ[28]) if (TCC_EA_RDREQ[28] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[28] / TCC_EA_WRREQ[28]) if (TCC_EA_WRREQ[28] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[28] / TCC_EA_ATOMIC[28]) if - (TCC_EA_ATOMIC[28] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[28]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[28]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[28]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[28]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[28]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[28]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[28]) / $denom)) - tips: - '29': - hit rate: AVG((((100 * TCC_HIT[29]) / (TCC_HIT[29] + TCC_MISS[29])) if ((TCC_HIT[29] - + TCC_MISS[29]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[29]) / $denom)) - read req: AVG((TO_INT(TCC_READ[29]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[29]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[29]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[29]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[29]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[29]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[29] / TCC_EA_RDREQ[29]) if (TCC_EA_RDREQ[29] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[29] / TCC_EA_WRREQ[29]) if (TCC_EA_WRREQ[29] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[29] / TCC_EA_ATOMIC[29]) if - (TCC_EA_ATOMIC[29] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[29]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[29]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[29]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[29]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[29]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[29]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[29]) / $denom)) - tips: - '30': - hit rate: AVG((((100 * TCC_HIT[30]) / (TCC_HIT[30] + TCC_MISS[30])) if ((TCC_HIT[30] - + TCC_MISS[30]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[30]) / $denom)) - read req: AVG((TO_INT(TCC_READ[30]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[30]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[30]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[30]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[30]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[30]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[30] / TCC_EA_RDREQ[30]) if (TCC_EA_RDREQ[30] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[30] / TCC_EA_WRREQ[30]) if (TCC_EA_WRREQ[30] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[30] / TCC_EA_ATOMIC[30]) if - (TCC_EA_ATOMIC[30] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[30]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[30]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[30]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[30]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[30]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[30]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[30]) / $denom)) - tips: - '31': - hit rate: AVG((((100 * TCC_HIT[31]) / (TCC_HIT[31] + TCC_MISS[31])) if ((TCC_HIT[31] - + TCC_MISS[31]) != 0) else None)) - req: AVG((TO_INT(TCC_REQ[31]) / $denom)) - read req: AVG((TO_INT(TCC_READ[31]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[31]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[31]) / $denom)) - ea read req: AVG((TO_INT(TCC_EA_RDREQ[31]) / $denom)) - ea write req: AVG((TO_INT(TCC_EA_WRREQ[31]) / $denom)) - ea atomic req: AVG((TO_INT(TCC_EA_ATOMIC[31]) / $denom)) - ea read lat - cycles: AVG(((TCC_EA_RDREQ_LEVEL[31] / TCC_EA_RDREQ[31]) if (TCC_EA_RDREQ[31] - != 0) else None)) - ea write lat - cycles: AVG(((TCC_EA_WRREQ_LEVEL[31] / TCC_EA_WRREQ[31]) if (TCC_EA_WRREQ[31] - != 0) else None)) - ea atomic lat - cycles: AVG(((TCC_EA_ATOMIC_LEVEL[31] / TCC_EA_ATOMIC[31]) if - (TCC_EA_ATOMIC[31] != 0) else None)) - ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[31]) / $denom)) - ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[31]) / $denom)) - ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[31]) / $denom)) - ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[31]) / $denom)) - ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[31]) / $denom)) - ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[31]) / $denom)) - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[31]) / $denom)) - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1900_memory_chart.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/1900_memory_chart.yaml deleted file mode 100644 index c0d086f121..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/1900_memory_chart.yaml +++ /dev/null @@ -1,259 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 1900 - title: Memory Chart Analysis - data source: - - metric_table: - id: 1901 - title: # subtitle for this table(optional) - header: - metric: Metric - value: Value - alias: Alias - tips: Tips - metric: - Wave Life: - value: ROUND(AVG(((4 * (SQ_WAVE_CYCLES / SQ_WAVES)) if (SQ_WAVES != 0) else - None)), 0) - alias: wave_life_ - tips: - Active CUs: - value: CONCAT(CONCAT($numActiveCUs, "/"), $numCU) - alias: active_cu_ - tips: - SALU: - value: ROUND(AVG((SQ_INSTS_SALU / $denom)), 0) - alias: salu_ - tips: - SMEM: - value: ROUND(AVG((SQ_INSTS_SMEM / $denom)), 0) - alias: smem_ - tips: - VALU: - value: ROUND(AVG((SQ_INSTS_VALU / $denom)), 0) - alias: valu_ - tips: - MFMA: - value: ROUND(AVG((SQ_INSTS_MFMA / $denom)), 0) - alias: mfma_ - tips: - VMEM: - value: ROUND(AVG((SQ_INSTS_VMEM / $denom)), 0) - alias: vmem_ - tips: - LDS: - value: ROUND(AVG((SQ_INSTS_LDS / $denom)), 0) - alias: lds_ - tips: - GWS: - value: ROUND(AVG((SQ_INSTS_GDS / $denom)), 0) - alias: gws_ - tips: - BR: - value: ROUND(AVG((SQ_INSTS_BRANCH / $denom)), 0) - alias: br_ - tips: - VGPR: - value: ROUND(AVG(vgpr), 0) - alias: vgpr_ - tips: - SGPR: - value: ROUND(AVG(sgpr), 0) - alias: sgpr_ - tips: - LDS Allocation: - value: ROUND(AVG(lds), 0) - alias: lds_alloc_ - tips: - Scratch Allocation: - value: ROUND(AVG(scr), 0) - alias: scratch_alloc_ - tips: - Wavefronts: - value: ROUND(AVG(SPI_CSN_WAVE), 0) - alias: wavefronts_ - tips: - Workgroups: - value: ROUND(AVG(SPI_CSN_NUM_THREADGROUPS), 0) - alias: workgroups_ - tips: - LDS Req: - value: ROUND(AVG((SQ_INSTS_LDS / $denom)), 0) - alias: lds_req_ - tips: - IL1 Fetch: - value: ROUND(AVG((SQC_ICACHE_REQ / $denom)), 0) - alias: il1_fetch_ - tips: - IL1 Hit: - value: ROUND((AVG((SQC_ICACHE_HITS / SQC_ICACHE_REQ)) * 100), 0) - alias: il1_hit_ - tips: - IL1_L2 Rd: - value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0) - alias: il1_l2_req_ - tips: - vL1D Rd: - value: ROUND(AVG((SQC_DCACHE_REQ / $denom)), 0) - alias: sl1_rd_ - tips: - vL1D Hit: - value: ROUND((AVG(((SQC_DCACHE_HITS / SQC_DCACHE_REQ) if (SQC_DCACHE_REQ != - 0) else None)) * 100), 0) - alias: sl1_hit_ - tips: - vL1D_L2 Rd: - value: ROUND(AVG((SQC_TC_DATA_READ_REQ / $denom)), 0) - alias: sl1_l2_rd_ - tips: - vL1D_L2 Wr: - value: ROUND(AVG((SQC_TC_DATA_WRITE_REQ / $denom)), 0) - alias: sl1_l2_wr_ - tips: - vL1D_L2 Atomic: - value: ROUND(AVG((SQC_TC_DATA_ATOMIC_REQ / $denom)), 0) - alias: sl1_l2_atom_ - tips: - VL1 Rd: - value: ROUND(AVG((TCP_TOTAL_READ_sum / $denom)), 0) - alias: vl1_rd_ - tips: - VL1 Wr: - value: ROUND(AVG((TCP_TOTAL_WRITE_sum / $denom)), 0) - alias: vl1_wr_ - tips: - VL1 Atomic: - value: ROUND(AVG(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) - / $denom)), 0) - alias: vl1_atom_ - tips: - VL1 Hit: - value: ROUND(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)) - / TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)), 0) - alias: vl1_hit_ - tips: - VL1 Lat: - value: ROUND(AVG(((TCP_TCP_LATENCY_sum / TCP_TA_TCP_STATE_READ_sum) if (TCP_TA_TCP_STATE_READ_sum - != 0) else None)), 0) - alias: vl1_lat_ - tips: - VL1_L2 Rd: - value: ROUND(AVG((TCP_TCC_READ_REQ_sum / $denom)), 0) - alias: vl1_l2_rd_ - tips: - VL1_L2 Wr: - value: ROUND(AVG((TCP_TCC_WRITE_REQ_sum / $denom)), 0) - alias: vl1_l2_wr_ - tips: - vL1_L2 Atomic: - value: ROUND(AVG(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - / $denom)), 0) - alias: vl1_l2_atom_ - tips: - L2 Rd: - value: ROUND(AVG((TCC_READ_sum / $denom)), 0) - alias: l2_rd_ - tips: - L2 Wr: - value: ROUND(AVG((TCC_WRITE_sum / $denom)), 0) - alias: l2_wr_ - tips: - L2 Atomic: - value: ROUND(AVG((TCC_ATOMIC_sum / $denom)), 0) - alias: l2_atom_ - tips: - L2 Hit: - value: ROUND(AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)), 0) - alias: l2_hit_ - tips: - L2 Rd Lat: - value: ROUND(AVG(((TCP_TCC_READ_REQ_LATENCY_sum / (TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)) - if ((TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) != 0) else None)), - 0) - alias: l2_rd_lat_ - tips: - L2 Wr Lat: - value: ROUND(AVG(((TCP_TCC_WRITE_REQ_LATENCY_sum / (TCP_TCC_WRITE_REQ_sum + - TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) if ((TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - != 0) else None)), 0) - alias: l2_wr_lat_ - tips: - Fabric Rd Lat: - value: ROUND(AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum - != 0) else None)), 0) - alias: fabric_rd_lat_ - tips: - Fabric Wr Lat: - value: ROUND(AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum - != 0) else None)), 0) - alias: fabric_wr_lat_ - tips: - Fabric Atomic Lat: - value: ROUND(AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum - != 0) else None)), 0) - alias: fabric_atom_lat_ - tips: - Fabric_L2 Rd: - value: ROUND(AVG((TCC_EA_RDREQ_sum / $denom)), 0) - alias: l2_fabric_rd_ - tips: - Fabric_L2 Wr: - value: ROUND(AVG((TCC_EA_WRREQ_sum / $denom)), 0) - alias: l2_fabric_wr_ - tips: - Fabric_l2 Atomic: - value: ROUND(AVG((TCC_EA_ATOMIC_sum / $denom)), 0) - alias: l2_fabric_atom_ - tips: - HBM Rd: - value: ROUND(AVG((TCC_EA_RDREQ_DRAM_sum / $denom)), 0) - alias: hbm_rd_ - tips: - HBM Wr: - value: ROUND(AVG((TCC_EA_WRREQ_DRAM_sum / $denom)), 0) - alias: hbm_wr_ - tips: - LDS Util: - value: ROUND(AVG(((100 * SQ_LDS_IDX_ACTIVE) / (GRBM_GUI_ACTIVE * $numCU))), - 0) - alias: lds_util_ - tips: - VL1 Coalesce: - value: ROUND(AVG(((((TA_TOTAL_WAVEFRONTS_sum * 64) * 100) / (TCP_TOTAL_ACCESSES_sum - * 4)) if (TCP_TOTAL_ACCESSES_sum != 0) else 0)), 0) - alias: vl1_coales_ - tips: - VL1 Stall: - value: ROUND(AVG((((100 * TCP_TCR_TCP_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None)), 0) - alias: vl1_stall_ - tips: - LDS Lat: - value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) - if (SQ_INSTS_LDS != 0) else None)), 0) - alias: lds_lat_ - coll_level: SQ_INST_LEVEL_LDS - tips: - vL1D Lat: - value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / SQC_DCACHE_REQ) - if (SQC_DCACHE_REQ != 0) else None)), 0) - alias: sl1_lat_ - tips: - IL1 Lat: - value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) - if (SQC_ICACHE_REQ != 0) else None)), 0) - alias: il1_lat_ - tips: - Wave Occupancy: - value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE) / $numActiveCUs)), 0) - alias: wave_occ_ - coll_level: SQ_LEVEL_WAVES - tips: diff --git a/projects/rocprofiler-compute/src/metric_configs/gfx90a/2000_kernels.yaml b/projects/rocprofiler-compute/src/metric_configs/gfx90a/2000_kernels.yaml deleted file mode 100644 index ed566f75a2..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/gfx90a/2000_kernels.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -Panel Config: - id: 2000 - title: Kernels - data source: - - raw_csv_table: - id: 2001 - source: pmc_dispatch_info.csv diff --git a/projects/rocprofiler-compute/src/metric_configs/panel_config_template.yaml b/projects/rocprofiler-compute/src/metric_configs/panel_config_template.yaml deleted file mode 100644 index e241896b40..0000000000 --- a/projects/rocprofiler-compute/src/metric_configs/panel_config_template.yaml +++ /dev/null @@ -1,51 +0,0 @@ ---- -# -# Rules to define a panel and its data sources: -# - Each panel has its own yaml file. -# - Each yaml file has 2 sections: (1) Description Details. (2) Panel Config. -# - id for each panel/ data_source has to be unique. -# - The data source of panel support only: raw_csv_table and metric_table for now. -# - For raw_csv_table, data will be loaded from the specified csv file directly, -# and may be sorted. -# - For metric_table, the number of entries of each metric must match of -# the number of entries of table header. The metric can be raw pmc counters -# or an expression derived from them. The key keyword of the metric has to be -# one defined in parser.supported_field, i.e. "Value", "Min", "Max", "Avg" etc. -# - -Metric Description: - METRIC01: &METRIC01_anchor Scalar Arithmetic Logic Unit - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 800 - title: # define panel title to display - data source: - # Metric table sample - - metric_table: - id: 801 - title: # subtitle for this table(optional) - header: - metric: Metric - value: Value - unit: Unit - peak: Peak - pop: PoP - tips: Tips - metric: - METRIC01: - value: AVG(100 * SQ_ACTIVE_INST_SCA / ( GRBM_GUI_ACTIVE * $numCU )) - unit: pct - peak: 100 - pop: AVG(100* SQ_ACTIVE_INST_SCA/(GRBM_GUI_ACTIVE*$numCU)) - tips: *METRIC01_anchor - METRIC02: - value: AVG(100 * SQ_ACTIVE_INST_VALU / ( GRBM_GUI_ACTIVE * $numCU)) - unit: pct - peak: 100 - pop: AVG(100* SQ_ACTIVE_INST_VALU/(GRBM_GUI_ACTIVE*$numCU)) - tips: - # CSV table sample - - raw_csv_table: - id: 802 - source: abc.csv diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/analysis_base.py b/projects/rocprofiler-compute/src/omniperf_analyze/analysis_base.py index fc8a0a976d..545372fb0e 100644 --- a/projects/rocprofiler-compute/src/omniperf_analyze/analysis_base.py +++ b/projects/rocprofiler-compute/src/omniperf_analyze/analysis_base.py @@ -37,13 +37,18 @@ from tabulate import tabulate class OmniAnalyze_Base(): def __init__(self,args,supported_archs): self.__args = args - self._runs = OrderedDict() #NB: I made this public so children can modify/add to obj properties - self._arch_configs = {} #NB: I made this public so children can modify/add to obj properties + self._runs = OrderedDict() + self._arch_configs = {} self.__supported_archs = supported_archs - self._output = None #NB: I made this public so children can modify/add to obj properties + self._output = None + self.__socs = None # available OmniSoC objs def get_args(self): return self.__args + def set_soc(self, omni_socs): + self.__socs = omni_socs + def get_socs(self): + return self.__socs @demarcate def generate_configs(self, arch, config_dir, list_kernels, filter_metrics): @@ -107,7 +112,7 @@ class OmniAnalyze_Base(): error("Error: the number of --filter-kernels doesn't match the number of --dir.") @demarcate - def initalize_runs(self, avail_socs, normalization_filter=None): + def initalize_runs(self, normalization_filter=None): if self.__args.list_metrics: self.list_metrics() @@ -127,7 +132,7 @@ class OmniAnalyze_Base(): arch = w.sys_info.iloc[0]["gpu_soc"] w.dfs = copy.deepcopy(self._arch_configs[arch].dfs) w.dfs_type = self._arch_configs[arch].dfs_type - w.soc_spec = avail_socs[arch].get_soc_param() + w.soc_spec = self.get_socs()[arch].get_soc_param() self._runs[d[0]] = w return self._runs @@ -162,7 +167,7 @@ class OmniAnalyze_Base(): self._output = open(self.__args.output_file, "w+") if self.__args.output_file else sys.stdout # initalize runs - self._runs = self.initalize_runs(omni_socs) + self._runs = self.initalize_runs() # set filters if self.__args.gpu_kernel: diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/analysis_cli.py b/projects/rocprofiler-compute/src/omniperf_analyze/analysis_cli.py index cdc3b96e05..7015660462 100644 --- a/projects/rocprofiler-compute/src/omniperf_analyze/analysis_cli.py +++ b/projects/rocprofiler-compute/src/omniperf_analyze/analysis_cli.py @@ -36,7 +36,7 @@ class cli_analysis(OmniAnalyze_Base): def pre_processing(self, omni_soc): """Perform any pre-processing steps prior to analysis. """ - super().pre_processing(omni_soc) + super().pre_processing() if self.get_args().random_port: error("--gui flag is required to enable --random-port") for d in self.get_args().path: @@ -44,20 +44,23 @@ class cli_analysis(OmniAnalyze_Base): kernel_name_shortener(d[0], self.get_args().kernel_verbose) file_io.create_df_kernel_top_stats( - d[0], - self._runs[d[0]].filter_gpu_ids, - self._runs[d[0]].filter_dispatch_ids, - self.get_args().time_unit, - self.get_args().max_kernel_num + raw_data_dir=d[0], + filter_gpu_ids=self._runs[d[0]].filter_gpu_ids, + filter_dispatch_ids=self._runs[d[0]].filter_dispatch_ids, + time_unit=self.get_args().time_unit, + max_kerenel_num=self.get_args().max_kernel_num ) # create 'mega dataframe' self._runs[d[0]].raw_pmc = file_io.create_df_pmc( d[0], self.get_args().verbose ) - is_gui = False # create the loaded table parser.load_table_data( - self._runs[d[0]], d[0], is_gui, self.get_args().g, self.get_args().verbose + workload=self._runs[d[0]], + dir=d[0], + is_gui=False, + debug=self.get_args().debug, + verbose=self.get_args().verbose ) @@ -65,6 +68,7 @@ class cli_analysis(OmniAnalyze_Base): def run_analysis(self): """Run CLI analysis. """ + super().run_analysis() if self.get_args().list_kernels: tty.show_kernels( self.get_args(), diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/analysis_webui.py b/projects/rocprofiler-compute/src/omniperf_analyze/analysis_webui.py index c145e62fcc..422927e3f1 100644 --- a/projects/rocprofiler-compute/src/omniperf_analyze/analysis_webui.py +++ b/projects/rocprofiler-compute/src/omniperf_analyze/analysis_webui.py @@ -22,11 +22,241 @@ # SOFTWARE. ##############################################################################el -import logging from omniperf_analyze.analysis_base import OmniAnalyze_Base from utils.utils import demarcate +from utils import file_io, parser +from utils.gui import build_bar_chart, build_table_chart + +import os +import logging +import random +import copy +import dash +import dash_bootstrap_components as dbc +from dash import html +from dash import dcc +from dash.dependencies import Input, Output, State + class webui_analysis(OmniAnalyze_Base): + def __init__(self, args, supported_archs): + super().__init__(args, supported_archs) + self.app = dash.Dash(__name__, external_stylesheets=[dbc.themes.CYBORG]) + self.dest_dir = os.path.abspath(args.path[0][0]) + self.arch = None + + self.__hidden_sections = ["Memory Chart Analysis", "Kernels"] + self.__hidden_columns = ["Tips", "coll_level"] + # define different types of bar charts + self.__barchart_elements = { + "instr_mix": [1001, 1002], + "multi_bar": [1604, 1704], + "sol": [1101, 1201, 1301, 1401, 1601, 1701], + "l2_cache_per_chan": [1802, 1803] + } + # define any elements which will have full width + self.__full_width_elements = {1801} + + + @demarcate + def build_layout( + self, + input_filters, + arch_configs + ): + """ + Build gui layout + """ + from utils.gui_components.header import get_header + from utils.gui_components.memchart import get_memchart + + comparable_columns = parser.build_comparable_columns(self.get_args().time_unit) + base_run, base_data = next(iter(self._runs.items())) + self.app.layout = html.Div(style={"backgroundColor": "rgb(50, 50, 50)"}) + + filt_kernel_names = [] + kernel_top_df = base_data.dfs[1] + for kernel_id in base_data.filter_kernel_ids: + filt_kernel_names.append(kernel_top_df.loc[kernel_id, "KernelName"]) + + self.app.layout.children = html.Div( + children=[ + dbc.Spinner( + children=[ + get_header(base_data.raw_pmc, input_filters, filt_kernel_names), + html.Div(id="container", children=[]), + ], + fullscreen=True, + color="primary", + spinner_style={"width": "6rem", "height": "6rem"}, + ) + ] + ) + + @self.app.callback( + Output("container", "children"), + [Input("disp-filt", "value")], + [Input("kernel-filt", "value")], + [Input("gcd-filt", "value")], + [Input("norm-filt", "value")], + [Input("top-n-filt", "value")], + [State("container", "children")], + ) + def generate_from_filter( + disp_filt, kernel_filter, gcd_filter, norm_filt, top_n_filt, div_children + ): + logging.debug("[analysis] gui normalization is ", norm_filt) + + base_data = self.initalize_runs() # Re-initalizes everything + panel_configs = copy.deepcopy(arch_configs.panel_configs) + # Generate original raw df + base_data[base_run].raw_pmc = file_io.create_df_pmc(self.dest_dir, self.get_args().verbose) + logging.debug("[analysis] gui dispatch filter is ", disp_filt) + logging.debug("[analysis] gui kernel filter is ", kernel_filter) + logging.debug("[analysis] gui gpu filter is ", gcd_filter) + logging.debug("[analysis] gui top-n filter is ", top_n_filt) + base_data[base_run].filter_kernel_ids = kernel_filter + base_data[base_run].filter_gpu_ids = gcd_filter + base_data[base_run].filter_dispatch_ids = disp_filt + base_data[base_run].filter_top_n = top_n_filt + + # Reload the pmc_kernel_top.csv for Top Stats panel + file_io.create_df_kernel_top_stats( + raw_data_dir=str(self.dest_dir), + filter_gpu_ids=base_data[base_run].filter_gpu_ids, + filter_dispatch_ids=base_data[base_run].filter_dispatch_ids, + time_unit=self.get_args().time_unit, + max_kernel_num=base_data[base_run].filter_top_n, + ) + # Only display basic metrics if no filters are applied + if not (disp_filt or kernel_filter or gcd_filter): + temp = {} + keep = [1, 201, 101, 1901] + for key in base_data[base_run].dfs: + if keep.count(key) != 0: + temp[key] = base_data[base_run].dfs[key] + + base_data[base_run].dfs = temp + temp = {} + keep = [0, 100, 200, 1900] + for key in panel_configs: + if keep.count(key) != 0: + temp[key] = panel_configs[key] + panel_configs = temp + # All filtering will occur here + parser.load_table_data( + workload=base_data[base_run], + dir=self.dest_dir, + is_gui=True, + debug=self.get_args().debug, + verbose=self.get_args().verbose, + ) + + # ~~~~~~~~~~~~~~~~~~~~~~~ + # Generate GUI content + # ~~~~~~~~~~~~~~~~~~~~~~~ + div_children = [] + + # Append memory chart and roofline + div_children.append( + get_memchart(panel_configs[1900]["data source"], base_data[base_run]) + ) + has_roofline = os.path.isfile(os.path.join(self.dest_dir, "roofline.csv")) + if has_roofline and hasattr(self.get_socs()[self.arch], "roofline_obj"): + # update roofline for visualization in GUI + self.get_socs()[self.arch].analysis_setup( + roofline_parameters={ + 'path_to_dir': self.dest_dir, + 'device_id': 0, + 'sort_type': 'kernels', + 'mem_level': 'ALL', + 'include_kernel_names': False, + 'is_standalone': False + } + ) + roof_obj = self.get_socs()[self.arch].roofline_obj + div_children.append( + roof_obj.empirical_roofline( + ret_df=parser.apply_filters(workload=base_data[base_run], is_gui=True, debug=self.get_args().debug) + ) + ) + + # Iterate over each section as defined in panel configs + for panel_id, panel in panel_configs.items(): + title = str(panel_id // 100) + ". " + panel["title"] + section_title = ( + panel["title"] + .replace("(", "") + .replace(")", "") + .replace("/", "") + .replace(" ", "_") + .lower() + ) + html_section = [] + + if panel["title"] not in self.__hidden_sections: + # Iterate over each table per section + for data_source in panel["data source"]: + for t_type, table_config in data_source.items(): + original_df = base_data[base_run].dfs[table_config["id"]] + # The sys info table need to add index back + if t_type == "raw_csv_table" and "Info" in original_df.keys(): + original_df.reset_index(inplace=True) + + content = determine_chart_type( + original_df=original_df, + table_config=table_config, + hidden_columns=self.__hidden_columns, + barchart_elements=self.__barchart_elements, + norm_filt=norm_filt, + comparable_columns=comparable_columns, + decimal=self.get_args().decimal + ) + + # Update content for this section + if table_config["id"] in self.__full_width_elements: + # Optionally override default (50%) width + html_section.append( + html.Div( + className="float-child", + children=content, + style={"width": "100%"}, + ) + ) + else: + html_section.append( + html.Div(className="float-child", children=content) + ) + + # Append the new section with all of it's contents + div_children.append( + html.Section( + id=section_title, + children=[ + html.H3( + children=title, + style={"color": "white"}, + ), + html.Div(className="float-container", children=html_section), + ], + ) + ) + + # Display pop-up message if no filters are applied + if not (disp_filt or kernel_filter or gcd_filter): + div_children.append( + html.Section( + id="popup", + children=[ + html.Div( + children="To dive deeper, use the top drop down menus to isolate particular kernel(s) or dispatch(s). You will then see the web page update with additional low-level metrics specific to the filter you've applied.", + ), + ], + ) + ) + + return div_children + #----------------------- # Required child methods @@ -35,10 +265,136 @@ class webui_analysis(OmniAnalyze_Base): def pre_processing(self): """Perform any pre-processing steps prior to analysis. """ - logging.debug("[analysis] prepping to do some analysis") + super().pre_processing() + if len(self._runs) == 1: + args = self.get_args() + file_io.create_df_kernel_top_stats( + raw_data_dir=self.dest_dir, + filter_gpu_ids=self._runs[self.dest_dir].filter_gpu_ids, + filter_dispatch_ids=self._runs[self.dest_dir].filter_dispatch_ids, + time_unit=args.time_unit, + max_kernel_num=args.max_kernel_num, + ) + # create 'mega dataframe' + self._runs[self.dest_dir].raw_pmc = file_io.create_df_pmc( + self.dest_dir, args.verbose + ) + # create the loaded kernel stats + parser.load_kernel_top(self._runs[self.dest_dir], self.dest_dir) + # set architecture + self.arch = self._runs[self.dest_dir].sys_info.iloc[0]['gpu_soc'] + + else: + self.error("Multiple runs not yet supported in GUI. Retry without --gui flag.") + @demarcate def run_analysis(self): """Run CLI analysis. """ - logging.debug("[analysis] would you like to check out a groovy profiling web site?") + super().run_analysis() + args = self.get_args() + input_filters = { + "kernel": self._runs[self.dest_dir].filter_kernel_ids, + "gpu": self._runs[self.dest_dir].filter_gpu_ids, + "dispatch": self._runs[self.dest_dir].filter_dispatch_ids, + "normalization": args.normal_unit, + "top_n": args.max_kernel_num, + } + + self.build_layout( + input_filters, + self._arch_configs[self.arch], + ) + if args.random_port: + self.app.run_server(debug=False, host="0.0.0.0", port=random.randint(1024, 49151)) + else: + self.app.run_server(debug=False, host="0.0.0.0", port=args.gui) + + +@demarcate +def determine_chart_type( + original_df, + table_config, + hidden_columns, + barchart_elements, + norm_filt, + comparable_columns, + decimal + ): + content = [] + + display_columns = original_df.columns.values.tolist().copy() + # Remove hidden columns. Better way to do it? + for col in hidden_columns: + if col in display_columns: + display_columns.remove(col) + display_df = original_df[display_columns] + + # Determine chart type: + # a) Barchart + if table_config["id"] in [ + x for i in barchart_elements.values() for x in i + ]: + d_figs = build_bar_chart(display_df, table_config, barchart_elements, norm_filt) + # Smaller formatting if barchart yeilds several graphs + if ( + len(d_figs) > 2 + and not table_config["id"] + in barchart_elements["l2_cache_per_chan"] + ): + temp_obj = [] + for fig in d_figs: + temp_obj.append( + html.Div( + className="float-child", + children=[ + dcc.Graph( + figure=fig, style={"margin": "2%"} + ) + ], + ) + ) + content.append( + html.Div( + className="float-container", children=temp_obj + ) + ) + # Normal formatting if < 2 graphs + else: + for fig in d_figs: + content.append( + dcc.Graph(figure=fig, style={"margin": "2%"}) + ) + # B) Tablechart + else: + d_figs = build_table_chart( + display_df, + table_config, + original_df, + display_columns, + comparable_columns, + decimal, + ) + for fig in d_figs: + content.append(html.Div([fig], style={"margin": "2%"})) + + # subtitle for each table in a panel if existing + if "title" in table_config and table_config["title"]: + subtitle = ( + str(table_config["id"] // 100) + + "." + + str(table_config["id"] % 100) + + " " + + table_config["title"] + + "\n" + ) + + content.insert( + 0, + html.H4( + children=subtitle, + style={"color": "white"}, + ), + ) + return content \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/default.css b/projects/rocprofiler-compute/src/omniperf_analyze/assets/default.css new file mode 100644 index 0000000000..6949b0d958 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/default.css @@ -0,0 +1,569 @@ +/* +===================================================================== +* Ceevee v1.0 Default Stylesheet +* url: styleshout.com +* license: https://www.styleshout.com/template-license/ +* 03-17-2014 +===================================================================== + +TOC: +a. Webfonts and Icon fonts +b. Reset +c. Default Styles + 1. Basic + 2. Typography + 3. Links + 4. Images + 5. Buttons + 6. Forms +d. Grid +e. Others + 1. Clearing + 2. Misc + +===================================================================== */ + +/* ------------------------------------------------------------------ */ +/* a. Webfonts and Icon fonts + ------------------------------------------------------------------ */ + +@import url("fonts.css"); +@import url("fontello/css/fontello.css"); +@import url("font-awesome/css/font-awesome.min.css"); + +/* ------------------------------------------------------------------ +/* b. Reset + Adapted from: + Normalize.css - https://github.com/necolas/normalize.css/ + HTML5 Doctor Reset - html5doctor.com/html-5-reset-stylesheet/ +/* ------------------------------------------------------------------ */ + +html, body, div, span, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +abbr, address, cite, code, +del, dfn, em, img, ins, kbd, q, samp, +small, strong, sub, sup, var, +b, i, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, figcaption, figure, +footer, header, hgroup, menu, nav, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-size: 100%; + vertical-align: baseline; + background: transparent; +} + +article,aside,details,figcaption,figure, +footer,header,hgroup,menu,nav,section { + display: block; +} + +audio, +canvas, +video { + display: inline-block; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +[hidden] { display: none; } + +code, kbd, pre, samp { + font-family: monospace, serif; + font-size: 1em; +} + +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +blockquote, q { quotes: “ “ } + +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} + +ins { + background-color: #ff9; + color: #000; + text-decoration: none; +} + +mark { + background-color: #A7F4F6; + color: #555; +} + +del { text-decoration: line-through; } + +abbr[title], dfn[title] { + border-bottom: 1px dotted; + cursor: help; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + + +/* ------------------------------------------------------------------ */ +/* c. Default and Basic Styles + Adapted from: + Skeleton CSS Framework - http://www.getskeleton.com/ + Typeplate Typographic Starter Kit - http://typeplate.com/ + Typeplate License File - https://github.com/typeplate/starter-kit/blob/master/license.txt +/* ------------------------------------------------------------------ */ + +/* 1. Basic ------------------------------------------------------- */ + +*, +*:before, +*:after { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +html { + font-size: 62.5%; + -webkit-font-smoothing: antialiased; +} + +body { + background: #fff; + font-family: 'opensans-regular', sans-serif; + font-weight: normal; + font-size: 15px; + line-height: 30px; + color: #838C95; + + -webkit-font-smoothing: antialiased; /* Fix for webkit rendering */ + -webkit-text-size-adjust: 100%; +} + +/* 2. Typography + Vertical rhythm with leading derived from 6 +--------------------------------------------------------------------- */ + +h1, h2, h3, h4, h5, h6 { + color: #313131; + font-family: 'opensans-bold', sans-serif; + font-weight: normal; +} +h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; } +h1 { font-size: 38px; line-height: 42px; margin-bottom: 12px; letter-spacing: -1px; } +h2 { font-size: 28px; line-height: 36px; margin-bottom: 6px; } +h3 { font-size: 22px; line-height: 30px; margin-bottom: 12px; } +h4 { font-size: 20px; line-height: 30px; margin-bottom: 6px; } +h5 { font-size: 18px; line-height: 30px; } +h6 { font-size: 14px; line-height: 30px; } +.subheader { } + +p { margin: 0 0 30px 0; } +p img { margin: 0; } +p.lead { + font: 19px/36px 'opensans-light', sans-serif; + margin-bottom: 18px; +} + +/* for 'em' and 'strong' tags, font-size and line-height should be same with +the body tag due to rendering problems in some browsers */ +em { font: 15px/30px 'opensans-italic', sans-serif; } +strong, b { font: 15px/30px 'opensans-bold', sans-serif; } +small { font-size: 11px; line-height: inherit; } + +/* Blockquotes */ +blockquote { + margin: 30px 0px; + padding-left: 40px; + position: relative; +} +blockquote:before { + content: "\201C"; + opacity: 0.45; + font-size: 80px; + line-height: 0px; + margin: 0; + font-family: arial, sans-serif; + + position: absolute; + top: 30px; + left: 0; +} +blockquote p { + font-family: 'librebaskerville-italic', serif; + padding: 0; + font-size: 18px; + line-height: 36px; +} +blockquote cite { + display: block; + font-size: 12px; + font-style: normal; + line-height: 18px; +} +blockquote cite:before { content: "\2014 \0020"; } +blockquote cite a, +blockquote cite a:visited { color: #8B9798; border: none } + +/* --------------------------------------------------------------------- +/* Pull Quotes Markup +/* + +/* +/* --------------------------------------------------------------------- */ +.pull-quote { + position: relative; + padding: 18px 30px 18px 0px; +} +.pull-quote:before, +.pull-quote:after { + height: 1em; + opacity: 0.45; + position: absolute; + font-size: 80px; + font-family: Arial, Sans-Serif; +} +.pull-quote:before { + content: "\201C"; + top: 33px; + left: 0; +} +.pull-quote:after { + content: '\201D'; + bottom: -33px; + right: 0; +} +.pull-quote blockquote { + margin: 0; +} +.pull-quote blockquote:before { + content: none; +} + +/* Abbreviations */ +abbr { + font-family: 'opensans-bold', sans-serif; + font-variant: small-caps; + text-transform: lowercase; + letter-spacing: .5px; + color: gray; +} +abbr:hover { cursor: help; } + +/* drop cap */ +.drop-cap:first-letter { + float: left; + margin: 0; + padding: 14px 6px 0 0; + font-size: 84px; + font-family: /* Copperplate */ 'opensans-bold', sans-serif; + line-height: 60px; + text-indent: 0; + background: transparent; + color: inherit; +} + +hr { border: solid #E3E3E3; border-width: 1px 0 0; clear: both; margin: 11px 0 30px; height: 0; } + + +/* 3. Links ------------------------------------------------------- */ + +a, a:visited { + text-decoration: none; + outline: 0; + color: #11ABB0; + + -webkit-transition: color .3s ease-in-out; + -moz-transition: color .3s ease-in-out; + -o-transition: color .3s ease-in-out; + transition: color .3s ease-in-out; +} +a:hover, a:focus { color: #313131; } +p a, p a:visited { line-height: inherit; } + + +/* 4. List --------------------------------------------------------- */ + +ul, ol { margin-bottom: 24px; margin-top: 12px; } +ul { list-style: none outside; } +ol { list-style: decimal; } +ol, ul.square, ul.circle, ul.disc { margin-left: 30px; } +ul.square { list-style: square outside; } +ul.circle { list-style: circle outside; } +ul.disc { list-style: disc outside; } +ul ul, ul ol, +ol ol, ol ul { margin: 6px 0 6px 30px; } +ul ul li, ul ol li, +ol ol li, ol ul li { margin-bottom: 6px; } +li { line-height: 18px; margin-bottom: 12px; } +ul.large li { } +li p { } + +/* --------------------------------------------------------------------- +/* Stats Tab Markup + + + + Extend this object into your markup. +/* +/* --------------------------------------------------------------------- */ +.stats-tabs { + padding: 0; + margin: 24px 0; +} +.stats-tabs li { + display: inline-block; + margin: 0 10px 18px 0; + padding: 0 10px 0 0; + border-right: 1px solid #ccc; +} +.stats-tabs li:last-child { + margin: 0; + padding: 0; + border: none; +} +.stats-tabs li a { + display: inline-block; + font-size: 22px; + font-family: 'opensans-bold', sans-serif; + border: none; + color: #313131; +} +.stats-tabs li a:hover { + color:#11ABB0; +} +.stats-tabs li a b { + display: block; + margin: 6px 0 0 0; + font-size: 13px; + font-family: 'opensans-regular', sans-serif; + color: #8B9798; +} + +/* definition list */ +dl { margin: 12px 0; } +dt { margin: 0; color:#11ABB0; } +dd { margin: 0 0 0 20px; } + +/* Lining Definition Style Markup */ +.lining dt, +.lining dd { + display: inline; + margin: 0; +} +.lining dt + dt:before, +.lining dd + dt:before { + content: "\A"; + white-space: pre; +} +.lining dd + dd:before { + content: ", "; +} +.lining dd:before { + content: ": "; + margin-left: -0.2em; +} + +/* Dictionary Definition Style Markup */ +.dictionary-style dt { + display: inline; + counter-reset: definitions; +} +.dictionary-style dt + dt:before { + content: ", "; + margin-left: -0.2em; +} +.dictionary-style dd { + display: block; + counter-increment: definitions; +} +.dictionary-style dd:before { + content: counter(definitions, decimal) ". "; +} + +/* Pagination */ +.pagination { + margin: 36px auto; + text-align: center; +} +.pagination ul li { + display: inline-block; + margin: 0; + padding: 0; +} +.pagination .page-numbers { + font: 15px/18px 'opensans-bold', sans-serif; + display: inline-block; + padding: 6px 10px; + margin-right: 3px; + margin-bottom: 6px; + color: #6E757C; + background-color: #E6E8EB; + + -webkit-transition: all 200ms ease-in-out; + -moz-transition: all 200ms ease-in-out; + -o-transition: all 200ms ease-in-out; + -ms-transition: all 200ms ease-in-out; + transition: all 200ms ease-in-out; + + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + -khtml-border-radius: 3px; + border-radius: 3px; +} +.pagination .page-numbers:hover { + background: #838A91; + color: #fff; +} +.pagination .current, +.pagination .current:hover { + background-color: #11ABB0; + color: #fff; +} +.pagination .inactive, +.pagination .inactive:hover { + background-color: #E6E8EB; + color: #A9ADB2; +} +.pagination .prev, .pagination .next {} + +/* 5. Images --------------------------------------------------------- */ + +img { + max-width: 100%; + height: auto; +} +img.pull-right { margin: 12px 0px 0px 18px; } +img.pull-left { margin: 12px 18px 0px 0px; } + + + +/* 7. Forms --------------------------------------------------------- */ + +form { margin-bottom: 24px; } +fieldset { margin-bottom: 24px; } + +input[type="text"], +input[type="password"], +input[type="email"], +textarea, +select { + display: block; + padding: 18px 15px; + margin: 0 0 24px 0; + border: 0; + outline: none; + vertical-align: middle; + min-width: 225px; + max-width: 100%; + font-size: 15px; + line-height: 24px; + color: #647373; + background: #D3D9D9; + +} + +/* select { padding: 0; + width: 220px; + } */ + +input[type="text"]:focus, +input[type="password"]:focus, +input[type="email"]:focus, +textarea:focus { + color: #B3B7BC; + background-color: #3d4145; +} + +textarea { min-height: 220px; } + +label, +legend { + font: 16px/24px 'opensans-bold', sans-serif; + margin: 12px 0; + color: #3d4145; + display: block; +} +label span, +legend span { + color: #8B9798; + font: 14px/24px 'opensans-regular', sans-serif; +} + +input[type="checkbox"], +input[type="radio"] { + font-size: 15px; + color: #737373; +} + +input[type="checkbox"] { display: inline; } + +/* ------------------------------------------------------------------ */ +/* d. Grid +--------------------------------------------------------------------- + gutter = 40px. +/* ------------------------------------------------------------------ */ + +/* default +--------------------------------------------------------------- */ + + +/* ------------------------------------------------------------------ */ +/* e. Others +/* ------------------------------------------------------------------ */ + +/* 1. Clearing + (http://nicolasgallagher.com/micro-clearfix-hack/ +--------------------------------------------------------------------- */ + +.cf:before, +.cf:after { + content: " "; + display: table; +} +.cf:after { + clear: both; +} + +/* 2. Misc -------------------------------------------------------- */ + +.remove-bottom { margin-bottom: 0 !important; } +.half-bottom { margin-bottom: 12px !important; } +.add-bottom { margin-bottom: 24px !important; } +.no-border { border: none; } + +.text-center { text-align: center !important; } +.text-left { text-align: left !important; } +.text-right { text-align: right !important; } +.pull-left { float: left !important; } +.pull-right { float: right !important; } +.align-center { + margin-left: auto !important; + margin-right: auto !important; + text-align: center !important; +} + + + + diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/css/font-awesome.css b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/css/font-awesome.css new file mode 100644 index 0000000000..048cff9739 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/css/font-awesome.css @@ -0,0 +1,1338 @@ +/*! + * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.0.3'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font-family: FontAwesome; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.3333333333333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.2857142857142858em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.142857142857143em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.142857142857143em; + width: 2.142857142857143em; + top: 0.14285714285714285em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.8571428571428572em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: spin 2s infinite linear; + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; +} +@-moz-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + } + 100% { + -moz-transform: rotate(359deg); + } +} +@-webkit-keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + } +} +@-o-keyframes spin { + 0% { + -o-transform: rotate(0deg); + } + 100% { + -o-transform: rotate(359deg); + } +} +@-ms-keyframes spin { + 0% { + -ms-transform: rotate(0deg); + } + 100% { + -ms-transform: rotate(359deg); + } +} +@keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -ms-transform: rotate(90deg); + -o-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -ms-transform: rotate(180deg); + -o-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -moz-transform: rotate(270deg); + -ms-transform: rotate(270deg); + -o-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -moz-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + -o-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -moz-transform: scale(1, -1); + -ms-transform: scale(1, -1); + -o-transform: scale(1, -1); + transform: scale(1, -1); +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-asc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-desc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-reply-all:before { + content: "\f122"; +} +.fa-mail-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/css/font-awesome.min.css b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/css/font-awesome.min.css new file mode 100644 index 0000000000..449d6ac551 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.0.3');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.3333333333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.2857142857142858em;text-align:center}.fa-ul{padding-left:0;margin-left:2.142857142857143em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;top:.14285714285714285em;text-align:center}.fa-li.fa-lg{left:-1.8571428571428572em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1);-webkit-transform:scale(-1,1);-moz-transform:scale(-1,1);-ms-transform:scale(-1,1);-o-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1);-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-asc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-desc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-reply-all:before{content:"\f122"}.fa-mail-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"} \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/fonts/FontAwesome.otf b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/fonts/FontAwesome.otf new file mode 100644 index 0000000000..8b0f54e47e Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/fonts/FontAwesome.otf differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.eot b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000..7c79c6a6bc Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.eot differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.svg b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000000..45fdf33830 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.svg @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.ttf b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000..e89738de5e Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.ttf differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.woff b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000000..8c1748aab7 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.woff differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/bordered-pulled.less b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/bordered-pulled.less new file mode 100644 index 0000000000..0c90eb5672 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/bordered-pulled.less @@ -0,0 +1,16 @@ +// Bordered & Pulled +// ------------------------- + +.@{fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em @fa-border-color; + border-radius: .1em; +} + +.pull-right { float: right; } +.pull-left { float: left; } + +.@{fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/core.less b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/core.less new file mode 100644 index 0000000000..6d223bc2f0 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/core.less @@ -0,0 +1,12 @@ +// Base Class Definition +// ------------------------- + +.@{fa-css-prefix} { + display: inline-block; + font-family: FontAwesome; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/fixed-width.less b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/fixed-width.less new file mode 100644 index 0000000000..110289f2f4 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/fixed-width.less @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.@{fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/font-awesome.less b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/font-awesome.less new file mode 100644 index 0000000000..96d2f22254 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/font-awesome.less @@ -0,0 +1,17 @@ +/*! + * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@import "variables"; +@import "mixins"; +@import "path"; +@import "core"; +@import "larger"; +@import "fixed-width"; +@import "list"; +@import "bordered-pulled"; +@import "spinning"; +@import "rotated-flipped"; +@import "stacked"; +@import "icons"; diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/icons.less b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/icons.less new file mode 100644 index 0000000000..bf0f856fcb --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/icons.less @@ -0,0 +1,412 @@ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ + +.@{fa-css-prefix}-glass:before { content: @fa-var-glass; } +.@{fa-css-prefix}-music:before { content: @fa-var-music; } +.@{fa-css-prefix}-search:before { content: @fa-var-search; } +.@{fa-css-prefix}-envelope-o:before { content: @fa-var-envelope-o; } +.@{fa-css-prefix}-heart:before { content: @fa-var-heart; } +.@{fa-css-prefix}-star:before { content: @fa-var-star; } +.@{fa-css-prefix}-star-o:before { content: @fa-var-star-o; } +.@{fa-css-prefix}-user:before { content: @fa-var-user; } +.@{fa-css-prefix}-film:before { content: @fa-var-film; } +.@{fa-css-prefix}-th-large:before { content: @fa-var-th-large; } +.@{fa-css-prefix}-th:before { content: @fa-var-th; } +.@{fa-css-prefix}-th-list:before { content: @fa-var-th-list; } +.@{fa-css-prefix}-check:before { content: @fa-var-check; } +.@{fa-css-prefix}-times:before { content: @fa-var-times; } +.@{fa-css-prefix}-search-plus:before { content: @fa-var-search-plus; } +.@{fa-css-prefix}-search-minus:before { content: @fa-var-search-minus; } +.@{fa-css-prefix}-power-off:before { content: @fa-var-power-off; } +.@{fa-css-prefix}-signal:before { content: @fa-var-signal; } +.@{fa-css-prefix}-gear:before, +.@{fa-css-prefix}-cog:before { content: @fa-var-cog; } +.@{fa-css-prefix}-trash-o:before { content: @fa-var-trash-o; } +.@{fa-css-prefix}-home:before { content: @fa-var-home; } +.@{fa-css-prefix}-file-o:before { content: @fa-var-file-o; } +.@{fa-css-prefix}-clock-o:before { content: @fa-var-clock-o; } +.@{fa-css-prefix}-road:before { content: @fa-var-road; } +.@{fa-css-prefix}-download:before { content: @fa-var-download; } +.@{fa-css-prefix}-arrow-circle-o-down:before { content: @fa-var-arrow-circle-o-down; } +.@{fa-css-prefix}-arrow-circle-o-up:before { content: @fa-var-arrow-circle-o-up; } +.@{fa-css-prefix}-inbox:before { content: @fa-var-inbox; } +.@{fa-css-prefix}-play-circle-o:before { content: @fa-var-play-circle-o; } +.@{fa-css-prefix}-rotate-right:before, +.@{fa-css-prefix}-repeat:before { content: @fa-var-repeat; } +.@{fa-css-prefix}-refresh:before { content: @fa-var-refresh; } +.@{fa-css-prefix}-list-alt:before { content: @fa-var-list-alt; } +.@{fa-css-prefix}-lock:before { content: @fa-var-lock; } +.@{fa-css-prefix}-flag:before { content: @fa-var-flag; } +.@{fa-css-prefix}-headphones:before { content: @fa-var-headphones; } +.@{fa-css-prefix}-volume-off:before { content: @fa-var-volume-off; } +.@{fa-css-prefix}-volume-down:before { content: @fa-var-volume-down; } +.@{fa-css-prefix}-volume-up:before { content: @fa-var-volume-up; } +.@{fa-css-prefix}-qrcode:before { content: @fa-var-qrcode; } +.@{fa-css-prefix}-barcode:before { content: @fa-var-barcode; } +.@{fa-css-prefix}-tag:before { content: @fa-var-tag; } +.@{fa-css-prefix}-tags:before { content: @fa-var-tags; } +.@{fa-css-prefix}-book:before { content: @fa-var-book; } +.@{fa-css-prefix}-bookmark:before { content: @fa-var-bookmark; } +.@{fa-css-prefix}-print:before { content: @fa-var-print; } +.@{fa-css-prefix}-camera:before { content: @fa-var-camera; } +.@{fa-css-prefix}-font:before { content: @fa-var-font; } +.@{fa-css-prefix}-bold:before { content: @fa-var-bold; } +.@{fa-css-prefix}-italic:before { content: @fa-var-italic; } +.@{fa-css-prefix}-text-height:before { content: @fa-var-text-height; } +.@{fa-css-prefix}-text-width:before { content: @fa-var-text-width; } +.@{fa-css-prefix}-align-left:before { content: @fa-var-align-left; } +.@{fa-css-prefix}-align-center:before { content: @fa-var-align-center; } +.@{fa-css-prefix}-align-right:before { content: @fa-var-align-right; } +.@{fa-css-prefix}-align-justify:before { content: @fa-var-align-justify; } +.@{fa-css-prefix}-list:before { content: @fa-var-list; } +.@{fa-css-prefix}-dedent:before, +.@{fa-css-prefix}-outdent:before { content: @fa-var-outdent; } +.@{fa-css-prefix}-indent:before { content: @fa-var-indent; } +.@{fa-css-prefix}-video-camera:before { content: @fa-var-video-camera; } +.@{fa-css-prefix}-picture-o:before { content: @fa-var-picture-o; } +.@{fa-css-prefix}-pencil:before { content: @fa-var-pencil; } +.@{fa-css-prefix}-map-marker:before { content: @fa-var-map-marker; } +.@{fa-css-prefix}-adjust:before { content: @fa-var-adjust; } +.@{fa-css-prefix}-tint:before { content: @fa-var-tint; } +.@{fa-css-prefix}-edit:before, +.@{fa-css-prefix}-pencil-square-o:before { content: @fa-var-pencil-square-o; } +.@{fa-css-prefix}-share-square-o:before { content: @fa-var-share-square-o; } +.@{fa-css-prefix}-check-square-o:before { content: @fa-var-check-square-o; } +.@{fa-css-prefix}-arrows:before { content: @fa-var-arrows; } +.@{fa-css-prefix}-step-backward:before { content: @fa-var-step-backward; } +.@{fa-css-prefix}-fast-backward:before { content: @fa-var-fast-backward; } +.@{fa-css-prefix}-backward:before { content: @fa-var-backward; } +.@{fa-css-prefix}-play:before { content: @fa-var-play; } +.@{fa-css-prefix}-pause:before { content: @fa-var-pause; } +.@{fa-css-prefix}-stop:before { content: @fa-var-stop; } +.@{fa-css-prefix}-forward:before { content: @fa-var-forward; } +.@{fa-css-prefix}-fast-forward:before { content: @fa-var-fast-forward; } +.@{fa-css-prefix}-step-forward:before { content: @fa-var-step-forward; } +.@{fa-css-prefix}-eject:before { content: @fa-var-eject; } +.@{fa-css-prefix}-chevron-left:before { content: @fa-var-chevron-left; } +.@{fa-css-prefix}-chevron-right:before { content: @fa-var-chevron-right; } +.@{fa-css-prefix}-plus-circle:before { content: @fa-var-plus-circle; } +.@{fa-css-prefix}-minus-circle:before { content: @fa-var-minus-circle; } +.@{fa-css-prefix}-times-circle:before { content: @fa-var-times-circle; } +.@{fa-css-prefix}-check-circle:before { content: @fa-var-check-circle; } +.@{fa-css-prefix}-question-circle:before { content: @fa-var-question-circle; } +.@{fa-css-prefix}-info-circle:before { content: @fa-var-info-circle; } +.@{fa-css-prefix}-crosshairs:before { content: @fa-var-crosshairs; } +.@{fa-css-prefix}-times-circle-o:before { content: @fa-var-times-circle-o; } +.@{fa-css-prefix}-check-circle-o:before { content: @fa-var-check-circle-o; } +.@{fa-css-prefix}-ban:before { content: @fa-var-ban; } +.@{fa-css-prefix}-arrow-left:before { content: @fa-var-arrow-left; } +.@{fa-css-prefix}-arrow-right:before { content: @fa-var-arrow-right; } +.@{fa-css-prefix}-arrow-up:before { content: @fa-var-arrow-up; } +.@{fa-css-prefix}-arrow-down:before { content: @fa-var-arrow-down; } +.@{fa-css-prefix}-mail-forward:before, +.@{fa-css-prefix}-share:before { content: @fa-var-share; } +.@{fa-css-prefix}-expand:before { content: @fa-var-expand; } +.@{fa-css-prefix}-compress:before { content: @fa-var-compress; } +.@{fa-css-prefix}-plus:before { content: @fa-var-plus; } +.@{fa-css-prefix}-minus:before { content: @fa-var-minus; } +.@{fa-css-prefix}-asterisk:before { content: @fa-var-asterisk; } +.@{fa-css-prefix}-exclamation-circle:before { content: @fa-var-exclamation-circle; } +.@{fa-css-prefix}-gift:before { content: @fa-var-gift; } +.@{fa-css-prefix}-leaf:before { content: @fa-var-leaf; } +.@{fa-css-prefix}-fire:before { content: @fa-var-fire; } +.@{fa-css-prefix}-eye:before { content: @fa-var-eye; } +.@{fa-css-prefix}-eye-slash:before { content: @fa-var-eye-slash; } +.@{fa-css-prefix}-warning:before, +.@{fa-css-prefix}-exclamation-triangle:before { content: @fa-var-exclamation-triangle; } +.@{fa-css-prefix}-plane:before { content: @fa-var-plane; } +.@{fa-css-prefix}-calendar:before { content: @fa-var-calendar; } +.@{fa-css-prefix}-random:before { content: @fa-var-random; } +.@{fa-css-prefix}-comment:before { content: @fa-var-comment; } +.@{fa-css-prefix}-magnet:before { content: @fa-var-magnet; } +.@{fa-css-prefix}-chevron-up:before { content: @fa-var-chevron-up; } +.@{fa-css-prefix}-chevron-down:before { content: @fa-var-chevron-down; } +.@{fa-css-prefix}-retweet:before { content: @fa-var-retweet; } +.@{fa-css-prefix}-shopping-cart:before { content: @fa-var-shopping-cart; } +.@{fa-css-prefix}-folder:before { content: @fa-var-folder; } +.@{fa-css-prefix}-folder-open:before { content: @fa-var-folder-open; } +.@{fa-css-prefix}-arrows-v:before { content: @fa-var-arrows-v; } +.@{fa-css-prefix}-arrows-h:before { content: @fa-var-arrows-h; } +.@{fa-css-prefix}-bar-chart-o:before { content: @fa-var-bar-chart-o; } +.@{fa-css-prefix}-twitter-square:before { content: @fa-var-twitter-square; } +.@{fa-css-prefix}-facebook-square:before { content: @fa-var-facebook-square; } +.@{fa-css-prefix}-camera-retro:before { content: @fa-var-camera-retro; } +.@{fa-css-prefix}-key:before { content: @fa-var-key; } +.@{fa-css-prefix}-gears:before, +.@{fa-css-prefix}-cogs:before { content: @fa-var-cogs; } +.@{fa-css-prefix}-comments:before { content: @fa-var-comments; } +.@{fa-css-prefix}-thumbs-o-up:before { content: @fa-var-thumbs-o-up; } +.@{fa-css-prefix}-thumbs-o-down:before { content: @fa-var-thumbs-o-down; } +.@{fa-css-prefix}-star-half:before { content: @fa-var-star-half; } +.@{fa-css-prefix}-heart-o:before { content: @fa-var-heart-o; } +.@{fa-css-prefix}-sign-out:before { content: @fa-var-sign-out; } +.@{fa-css-prefix}-linkedin-square:before { content: @fa-var-linkedin-square; } +.@{fa-css-prefix}-thumb-tack:before { content: @fa-var-thumb-tack; } +.@{fa-css-prefix}-external-link:before { content: @fa-var-external-link; } +.@{fa-css-prefix}-sign-in:before { content: @fa-var-sign-in; } +.@{fa-css-prefix}-trophy:before { content: @fa-var-trophy; } +.@{fa-css-prefix}-github-square:before { content: @fa-var-github-square; } +.@{fa-css-prefix}-upload:before { content: @fa-var-upload; } +.@{fa-css-prefix}-lemon-o:before { content: @fa-var-lemon-o; } +.@{fa-css-prefix}-phone:before { content: @fa-var-phone; } +.@{fa-css-prefix}-square-o:before { content: @fa-var-square-o; } +.@{fa-css-prefix}-bookmark-o:before { content: @fa-var-bookmark-o; } +.@{fa-css-prefix}-phone-square:before { content: @fa-var-phone-square; } +.@{fa-css-prefix}-twitter:before { content: @fa-var-twitter; } +.@{fa-css-prefix}-facebook:before { content: @fa-var-facebook; } +.@{fa-css-prefix}-github:before { content: @fa-var-github; } +.@{fa-css-prefix}-unlock:before { content: @fa-var-unlock; } +.@{fa-css-prefix}-credit-card:before { content: @fa-var-credit-card; } +.@{fa-css-prefix}-rss:before { content: @fa-var-rss; } +.@{fa-css-prefix}-hdd-o:before { content: @fa-var-hdd-o; } +.@{fa-css-prefix}-bullhorn:before { content: @fa-var-bullhorn; } +.@{fa-css-prefix}-bell:before { content: @fa-var-bell; } +.@{fa-css-prefix}-certificate:before { content: @fa-var-certificate; } +.@{fa-css-prefix}-hand-o-right:before { content: @fa-var-hand-o-right; } +.@{fa-css-prefix}-hand-o-left:before { content: @fa-var-hand-o-left; } +.@{fa-css-prefix}-hand-o-up:before { content: @fa-var-hand-o-up; } +.@{fa-css-prefix}-hand-o-down:before { content: @fa-var-hand-o-down; } +.@{fa-css-prefix}-arrow-circle-left:before { content: @fa-var-arrow-circle-left; } +.@{fa-css-prefix}-arrow-circle-right:before { content: @fa-var-arrow-circle-right; } +.@{fa-css-prefix}-arrow-circle-up:before { content: @fa-var-arrow-circle-up; } +.@{fa-css-prefix}-arrow-circle-down:before { content: @fa-var-arrow-circle-down; } +.@{fa-css-prefix}-globe:before { content: @fa-var-globe; } +.@{fa-css-prefix}-wrench:before { content: @fa-var-wrench; } +.@{fa-css-prefix}-tasks:before { content: @fa-var-tasks; } +.@{fa-css-prefix}-filter:before { content: @fa-var-filter; } +.@{fa-css-prefix}-briefcase:before { content: @fa-var-briefcase; } +.@{fa-css-prefix}-arrows-alt:before { content: @fa-var-arrows-alt; } +.@{fa-css-prefix}-group:before, +.@{fa-css-prefix}-users:before { content: @fa-var-users; } +.@{fa-css-prefix}-chain:before, +.@{fa-css-prefix}-link:before { content: @fa-var-link; } +.@{fa-css-prefix}-cloud:before { content: @fa-var-cloud; } +.@{fa-css-prefix}-flask:before { content: @fa-var-flask; } +.@{fa-css-prefix}-cut:before, +.@{fa-css-prefix}-scissors:before { content: @fa-var-scissors; } +.@{fa-css-prefix}-copy:before, +.@{fa-css-prefix}-files-o:before { content: @fa-var-files-o; } +.@{fa-css-prefix}-paperclip:before { content: @fa-var-paperclip; } +.@{fa-css-prefix}-save:before, +.@{fa-css-prefix}-floppy-o:before { content: @fa-var-floppy-o; } +.@{fa-css-prefix}-square:before { content: @fa-var-square; } +.@{fa-css-prefix}-bars:before { content: @fa-var-bars; } +.@{fa-css-prefix}-list-ul:before { content: @fa-var-list-ul; } +.@{fa-css-prefix}-list-ol:before { content: @fa-var-list-ol; } +.@{fa-css-prefix}-strikethrough:before { content: @fa-var-strikethrough; } +.@{fa-css-prefix}-underline:before { content: @fa-var-underline; } +.@{fa-css-prefix}-table:before { content: @fa-var-table; } +.@{fa-css-prefix}-magic:before { content: @fa-var-magic; } +.@{fa-css-prefix}-truck:before { content: @fa-var-truck; } +.@{fa-css-prefix}-pinterest:before { content: @fa-var-pinterest; } +.@{fa-css-prefix}-pinterest-square:before { content: @fa-var-pinterest-square; } +.@{fa-css-prefix}-google-plus-square:before { content: @fa-var-google-plus-square; } +.@{fa-css-prefix}-google-plus:before { content: @fa-var-google-plus; } +.@{fa-css-prefix}-money:before { content: @fa-var-money; } +.@{fa-css-prefix}-caret-down:before { content: @fa-var-caret-down; } +.@{fa-css-prefix}-caret-up:before { content: @fa-var-caret-up; } +.@{fa-css-prefix}-caret-left:before { content: @fa-var-caret-left; } +.@{fa-css-prefix}-caret-right:before { content: @fa-var-caret-right; } +.@{fa-css-prefix}-columns:before { content: @fa-var-columns; } +.@{fa-css-prefix}-unsorted:before, +.@{fa-css-prefix}-sort:before { content: @fa-var-sort; } +.@{fa-css-prefix}-sort-down:before, +.@{fa-css-prefix}-sort-asc:before { content: @fa-var-sort-asc; } +.@{fa-css-prefix}-sort-up:before, +.@{fa-css-prefix}-sort-desc:before { content: @fa-var-sort-desc; } +.@{fa-css-prefix}-envelope:before { content: @fa-var-envelope; } +.@{fa-css-prefix}-linkedin:before { content: @fa-var-linkedin; } +.@{fa-css-prefix}-rotate-left:before, +.@{fa-css-prefix}-undo:before { content: @fa-var-undo; } +.@{fa-css-prefix}-legal:before, +.@{fa-css-prefix}-gavel:before { content: @fa-var-gavel; } +.@{fa-css-prefix}-dashboard:before, +.@{fa-css-prefix}-tachometer:before { content: @fa-var-tachometer; } +.@{fa-css-prefix}-comment-o:before { content: @fa-var-comment-o; } +.@{fa-css-prefix}-comments-o:before { content: @fa-var-comments-o; } +.@{fa-css-prefix}-flash:before, +.@{fa-css-prefix}-bolt:before { content: @fa-var-bolt; } +.@{fa-css-prefix}-sitemap:before { content: @fa-var-sitemap; } +.@{fa-css-prefix}-umbrella:before { content: @fa-var-umbrella; } +.@{fa-css-prefix}-paste:before, +.@{fa-css-prefix}-clipboard:before { content: @fa-var-clipboard; } +.@{fa-css-prefix}-lightbulb-o:before { content: @fa-var-lightbulb-o; } +.@{fa-css-prefix}-exchange:before { content: @fa-var-exchange; } +.@{fa-css-prefix}-cloud-download:before { content: @fa-var-cloud-download; } +.@{fa-css-prefix}-cloud-upload:before { content: @fa-var-cloud-upload; } +.@{fa-css-prefix}-user-md:before { content: @fa-var-user-md; } +.@{fa-css-prefix}-stethoscope:before { content: @fa-var-stethoscope; } +.@{fa-css-prefix}-suitcase:before { content: @fa-var-suitcase; } +.@{fa-css-prefix}-bell-o:before { content: @fa-var-bell-o; } +.@{fa-css-prefix}-coffee:before { content: @fa-var-coffee; } +.@{fa-css-prefix}-cutlery:before { content: @fa-var-cutlery; } +.@{fa-css-prefix}-file-text-o:before { content: @fa-var-file-text-o; } +.@{fa-css-prefix}-building-o:before { content: @fa-var-building-o; } +.@{fa-css-prefix}-hospital-o:before { content: @fa-var-hospital-o; } +.@{fa-css-prefix}-ambulance:before { content: @fa-var-ambulance; } +.@{fa-css-prefix}-medkit:before { content: @fa-var-medkit; } +.@{fa-css-prefix}-fighter-jet:before { content: @fa-var-fighter-jet; } +.@{fa-css-prefix}-beer:before { content: @fa-var-beer; } +.@{fa-css-prefix}-h-square:before { content: @fa-var-h-square; } +.@{fa-css-prefix}-plus-square:before { content: @fa-var-plus-square; } +.@{fa-css-prefix}-angle-double-left:before { content: @fa-var-angle-double-left; } +.@{fa-css-prefix}-angle-double-right:before { content: @fa-var-angle-double-right; } +.@{fa-css-prefix}-angle-double-up:before { content: @fa-var-angle-double-up; } +.@{fa-css-prefix}-angle-double-down:before { content: @fa-var-angle-double-down; } +.@{fa-css-prefix}-angle-left:before { content: @fa-var-angle-left; } +.@{fa-css-prefix}-angle-right:before { content: @fa-var-angle-right; } +.@{fa-css-prefix}-angle-up:before { content: @fa-var-angle-up; } +.@{fa-css-prefix}-angle-down:before { content: @fa-var-angle-down; } +.@{fa-css-prefix}-desktop:before { content: @fa-var-desktop; } +.@{fa-css-prefix}-laptop:before { content: @fa-var-laptop; } +.@{fa-css-prefix}-tablet:before { content: @fa-var-tablet; } +.@{fa-css-prefix}-mobile-phone:before, +.@{fa-css-prefix}-mobile:before { content: @fa-var-mobile; } +.@{fa-css-prefix}-circle-o:before { content: @fa-var-circle-o; } +.@{fa-css-prefix}-quote-left:before { content: @fa-var-quote-left; } +.@{fa-css-prefix}-quote-right:before { content: @fa-var-quote-right; } +.@{fa-css-prefix}-spinner:before { content: @fa-var-spinner; } +.@{fa-css-prefix}-circle:before { content: @fa-var-circle; } +.@{fa-css-prefix}-mail-reply:before, +.@{fa-css-prefix}-reply:before { content: @fa-var-reply; } +.@{fa-css-prefix}-github-alt:before { content: @fa-var-github-alt; } +.@{fa-css-prefix}-folder-o:before { content: @fa-var-folder-o; } +.@{fa-css-prefix}-folder-open-o:before { content: @fa-var-folder-open-o; } +.@{fa-css-prefix}-smile-o:before { content: @fa-var-smile-o; } +.@{fa-css-prefix}-frown-o:before { content: @fa-var-frown-o; } +.@{fa-css-prefix}-meh-o:before { content: @fa-var-meh-o; } +.@{fa-css-prefix}-gamepad:before { content: @fa-var-gamepad; } +.@{fa-css-prefix}-keyboard-o:before { content: @fa-var-keyboard-o; } +.@{fa-css-prefix}-flag-o:before { content: @fa-var-flag-o; } +.@{fa-css-prefix}-flag-checkered:before { content: @fa-var-flag-checkered; } +.@{fa-css-prefix}-terminal:before { content: @fa-var-terminal; } +.@{fa-css-prefix}-code:before { content: @fa-var-code; } +.@{fa-css-prefix}-reply-all:before { content: @fa-var-reply-all; } +.@{fa-css-prefix}-mail-reply-all:before { content: @fa-var-mail-reply-all; } +.@{fa-css-prefix}-star-half-empty:before, +.@{fa-css-prefix}-star-half-full:before, +.@{fa-css-prefix}-star-half-o:before { content: @fa-var-star-half-o; } +.@{fa-css-prefix}-location-arrow:before { content: @fa-var-location-arrow; } +.@{fa-css-prefix}-crop:before { content: @fa-var-crop; } +.@{fa-css-prefix}-code-fork:before { content: @fa-var-code-fork; } +.@{fa-css-prefix}-unlink:before, +.@{fa-css-prefix}-chain-broken:before { content: @fa-var-chain-broken; } +.@{fa-css-prefix}-question:before { content: @fa-var-question; } +.@{fa-css-prefix}-info:before { content: @fa-var-info; } +.@{fa-css-prefix}-exclamation:before { content: @fa-var-exclamation; } +.@{fa-css-prefix}-superscript:before { content: @fa-var-superscript; } +.@{fa-css-prefix}-subscript:before { content: @fa-var-subscript; } +.@{fa-css-prefix}-eraser:before { content: @fa-var-eraser; } +.@{fa-css-prefix}-puzzle-piece:before { content: @fa-var-puzzle-piece; } +.@{fa-css-prefix}-microphone:before { content: @fa-var-microphone; } +.@{fa-css-prefix}-microphone-slash:before { content: @fa-var-microphone-slash; } +.@{fa-css-prefix}-shield:before { content: @fa-var-shield; } +.@{fa-css-prefix}-calendar-o:before { content: @fa-var-calendar-o; } +.@{fa-css-prefix}-fire-extinguisher:before { content: @fa-var-fire-extinguisher; } +.@{fa-css-prefix}-rocket:before { content: @fa-var-rocket; } +.@{fa-css-prefix}-maxcdn:before { content: @fa-var-maxcdn; } +.@{fa-css-prefix}-chevron-circle-left:before { content: @fa-var-chevron-circle-left; } +.@{fa-css-prefix}-chevron-circle-right:before { content: @fa-var-chevron-circle-right; } +.@{fa-css-prefix}-chevron-circle-up:before { content: @fa-var-chevron-circle-up; } +.@{fa-css-prefix}-chevron-circle-down:before { content: @fa-var-chevron-circle-down; } +.@{fa-css-prefix}-html5:before { content: @fa-var-html5; } +.@{fa-css-prefix}-css3:before { content: @fa-var-css3; } +.@{fa-css-prefix}-anchor:before { content: @fa-var-anchor; } +.@{fa-css-prefix}-unlock-alt:before { content: @fa-var-unlock-alt; } +.@{fa-css-prefix}-bullseye:before { content: @fa-var-bullseye; } +.@{fa-css-prefix}-ellipsis-h:before { content: @fa-var-ellipsis-h; } +.@{fa-css-prefix}-ellipsis-v:before { content: @fa-var-ellipsis-v; } +.@{fa-css-prefix}-rss-square:before { content: @fa-var-rss-square; } +.@{fa-css-prefix}-play-circle:before { content: @fa-var-play-circle; } +.@{fa-css-prefix}-ticket:before { content: @fa-var-ticket; } +.@{fa-css-prefix}-minus-square:before { content: @fa-var-minus-square; } +.@{fa-css-prefix}-minus-square-o:before { content: @fa-var-minus-square-o; } +.@{fa-css-prefix}-level-up:before { content: @fa-var-level-up; } +.@{fa-css-prefix}-level-down:before { content: @fa-var-level-down; } +.@{fa-css-prefix}-check-square:before { content: @fa-var-check-square; } +.@{fa-css-prefix}-pencil-square:before { content: @fa-var-pencil-square; } +.@{fa-css-prefix}-external-link-square:before { content: @fa-var-external-link-square; } +.@{fa-css-prefix}-share-square:before { content: @fa-var-share-square; } +.@{fa-css-prefix}-compass:before { content: @fa-var-compass; } +.@{fa-css-prefix}-toggle-down:before, +.@{fa-css-prefix}-caret-square-o-down:before { content: @fa-var-caret-square-o-down; } +.@{fa-css-prefix}-toggle-up:before, +.@{fa-css-prefix}-caret-square-o-up:before { content: @fa-var-caret-square-o-up; } +.@{fa-css-prefix}-toggle-right:before, +.@{fa-css-prefix}-caret-square-o-right:before { content: @fa-var-caret-square-o-right; } +.@{fa-css-prefix}-euro:before, +.@{fa-css-prefix}-eur:before { content: @fa-var-eur; } +.@{fa-css-prefix}-gbp:before { content: @fa-var-gbp; } +.@{fa-css-prefix}-dollar:before, +.@{fa-css-prefix}-usd:before { content: @fa-var-usd; } +.@{fa-css-prefix}-rupee:before, +.@{fa-css-prefix}-inr:before { content: @fa-var-inr; } +.@{fa-css-prefix}-cny:before, +.@{fa-css-prefix}-rmb:before, +.@{fa-css-prefix}-yen:before, +.@{fa-css-prefix}-jpy:before { content: @fa-var-jpy; } +.@{fa-css-prefix}-ruble:before, +.@{fa-css-prefix}-rouble:before, +.@{fa-css-prefix}-rub:before { content: @fa-var-rub; } +.@{fa-css-prefix}-won:before, +.@{fa-css-prefix}-krw:before { content: @fa-var-krw; } +.@{fa-css-prefix}-bitcoin:before, +.@{fa-css-prefix}-btc:before { content: @fa-var-btc; } +.@{fa-css-prefix}-file:before { content: @fa-var-file; } +.@{fa-css-prefix}-file-text:before { content: @fa-var-file-text; } +.@{fa-css-prefix}-sort-alpha-asc:before { content: @fa-var-sort-alpha-asc; } +.@{fa-css-prefix}-sort-alpha-desc:before { content: @fa-var-sort-alpha-desc; } +.@{fa-css-prefix}-sort-amount-asc:before { content: @fa-var-sort-amount-asc; } +.@{fa-css-prefix}-sort-amount-desc:before { content: @fa-var-sort-amount-desc; } +.@{fa-css-prefix}-sort-numeric-asc:before { content: @fa-var-sort-numeric-asc; } +.@{fa-css-prefix}-sort-numeric-desc:before { content: @fa-var-sort-numeric-desc; } +.@{fa-css-prefix}-thumbs-up:before { content: @fa-var-thumbs-up; } +.@{fa-css-prefix}-thumbs-down:before { content: @fa-var-thumbs-down; } +.@{fa-css-prefix}-youtube-square:before { content: @fa-var-youtube-square; } +.@{fa-css-prefix}-youtube:before { content: @fa-var-youtube; } +.@{fa-css-prefix}-xing:before { content: @fa-var-xing; } +.@{fa-css-prefix}-xing-square:before { content: @fa-var-xing-square; } +.@{fa-css-prefix}-youtube-play:before { content: @fa-var-youtube-play; } +.@{fa-css-prefix}-dropbox:before { content: @fa-var-dropbox; } +.@{fa-css-prefix}-stack-overflow:before { content: @fa-var-stack-overflow; } +.@{fa-css-prefix}-instagram:before { content: @fa-var-instagram; } +.@{fa-css-prefix}-flickr:before { content: @fa-var-flickr; } +.@{fa-css-prefix}-adn:before { content: @fa-var-adn; } +.@{fa-css-prefix}-bitbucket:before { content: @fa-var-bitbucket; } +.@{fa-css-prefix}-bitbucket-square:before { content: @fa-var-bitbucket-square; } +.@{fa-css-prefix}-tumblr:before { content: @fa-var-tumblr; } +.@{fa-css-prefix}-tumblr-square:before { content: @fa-var-tumblr-square; } +.@{fa-css-prefix}-long-arrow-down:before { content: @fa-var-long-arrow-down; } +.@{fa-css-prefix}-long-arrow-up:before { content: @fa-var-long-arrow-up; } +.@{fa-css-prefix}-long-arrow-left:before { content: @fa-var-long-arrow-left; } +.@{fa-css-prefix}-long-arrow-right:before { content: @fa-var-long-arrow-right; } +.@{fa-css-prefix}-apple:before { content: @fa-var-apple; } +.@{fa-css-prefix}-windows:before { content: @fa-var-windows; } +.@{fa-css-prefix}-android:before { content: @fa-var-android; } +.@{fa-css-prefix}-linux:before { content: @fa-var-linux; } +.@{fa-css-prefix}-dribbble:before { content: @fa-var-dribbble; } +.@{fa-css-prefix}-skype:before { content: @fa-var-skype; } +.@{fa-css-prefix}-foursquare:before { content: @fa-var-foursquare; } +.@{fa-css-prefix}-trello:before { content: @fa-var-trello; } +.@{fa-css-prefix}-female:before { content: @fa-var-female; } +.@{fa-css-prefix}-male:before { content: @fa-var-male; } +.@{fa-css-prefix}-gittip:before { content: @fa-var-gittip; } +.@{fa-css-prefix}-sun-o:before { content: @fa-var-sun-o; } +.@{fa-css-prefix}-moon-o:before { content: @fa-var-moon-o; } +.@{fa-css-prefix}-archive:before { content: @fa-var-archive; } +.@{fa-css-prefix}-bug:before { content: @fa-var-bug; } +.@{fa-css-prefix}-vk:before { content: @fa-var-vk; } +.@{fa-css-prefix}-weibo:before { content: @fa-var-weibo; } +.@{fa-css-prefix}-renren:before { content: @fa-var-renren; } +.@{fa-css-prefix}-pagelines:before { content: @fa-var-pagelines; } +.@{fa-css-prefix}-stack-exchange:before { content: @fa-var-stack-exchange; } +.@{fa-css-prefix}-arrow-circle-o-right:before { content: @fa-var-arrow-circle-o-right; } +.@{fa-css-prefix}-arrow-circle-o-left:before { content: @fa-var-arrow-circle-o-left; } +.@{fa-css-prefix}-toggle-left:before, +.@{fa-css-prefix}-caret-square-o-left:before { content: @fa-var-caret-square-o-left; } +.@{fa-css-prefix}-dot-circle-o:before { content: @fa-var-dot-circle-o; } +.@{fa-css-prefix}-wheelchair:before { content: @fa-var-wheelchair; } +.@{fa-css-prefix}-vimeo-square:before { content: @fa-var-vimeo-square; } +.@{fa-css-prefix}-turkish-lira:before, +.@{fa-css-prefix}-try:before { content: @fa-var-try; } +.@{fa-css-prefix}-plus-square-o:before { content: @fa-var-plus-square-o; } diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/larger.less b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/larger.less new file mode 100644 index 0000000000..c9d646770e --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/larger.less @@ -0,0 +1,13 @@ +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.@{fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.@{fa-css-prefix}-2x { font-size: 2em; } +.@{fa-css-prefix}-3x { font-size: 3em; } +.@{fa-css-prefix}-4x { font-size: 4em; } +.@{fa-css-prefix}-5x { font-size: 5em; } diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/list.less b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/list.less new file mode 100644 index 0000000000..eed9340515 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/list.less @@ -0,0 +1,19 @@ +// List Icons +// ------------------------- + +.@{fa-css-prefix}-ul { + padding-left: 0; + margin-left: @fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.@{fa-css-prefix}-li { + position: absolute; + left: -@fa-li-width; + width: @fa-li-width; + top: (2em / 14); + text-align: center; + &.@{fa-css-prefix}-lg { + left: -@fa-li-width + (4em / 14); + } +} diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/mixins.less b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/mixins.less new file mode 100644 index 0000000000..19e5a6457b --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/mixins.less @@ -0,0 +1,20 @@ +// Mixins +// -------------------------- + +.fa-icon-rotate(@degrees, @rotation) { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); + -webkit-transform: rotate(@degrees); + -moz-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); + -o-transform: rotate(@degrees); + transform: rotate(@degrees); +} + +.fa-icon-flip(@horiz, @vert, @rotation) { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); + -webkit-transform: scale(@horiz, @vert); + -moz-transform: scale(@horiz, @vert); + -ms-transform: scale(@horiz, @vert); + -o-transform: scale(@horiz, @vert); + transform: scale(@horiz, @vert); +} diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/path.less b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/path.less new file mode 100644 index 0000000000..c5a691246d --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/path.less @@ -0,0 +1,14 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: 'FontAwesome'; + src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); + src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), + url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), + url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), + url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); +// src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/rotated-flipped.less b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/rotated-flipped.less new file mode 100644 index 0000000000..8fff3a6c41 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/rotated-flipped.less @@ -0,0 +1,9 @@ +// Rotated & Flipped Icons +// ------------------------- + +.@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } +.@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } +.@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } + +.@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } +.@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/spinning.less b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/spinning.less new file mode 100644 index 0000000000..60828fe5c0 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/spinning.less @@ -0,0 +1,30 @@ +// Spinning Icons +// -------------------------- + +.@{fa-css-prefix}-spin { + -webkit-animation: spin 2s infinite linear; + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; +} + +@-moz-keyframes spin { + 0% { -moz-transform: rotate(0deg); } + 100% { -moz-transform: rotate(359deg); } +} +@-webkit-keyframes spin { + 0% { -webkit-transform: rotate(0deg); } + 100% { -webkit-transform: rotate(359deg); } +} +@-o-keyframes spin { + 0% { -o-transform: rotate(0deg); } + 100% { -o-transform: rotate(359deg); } +} +@-ms-keyframes spin { + 0% { -ms-transform: rotate(0deg); } + 100% { -ms-transform: rotate(359deg); } +} +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(359deg); } +} diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/stacked.less b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/stacked.less new file mode 100644 index 0000000000..fc53fb0e7a --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/stacked.less @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.@{fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.@{fa-css-prefix}-stack-1x { line-height: inherit; } +.@{fa-css-prefix}-stack-2x { font-size: 2em; } +.@{fa-css-prefix}-inverse { color: @fa-inverse; } diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/variables.less b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/variables.less new file mode 100644 index 0000000000..f40a555f09 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/less/variables.less @@ -0,0 +1,381 @@ +// Variables +// -------------------------- + +@fa-font-path: "../fonts"; +//@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.0.3/fonts"; // for referencing Bootstrap CDN font files directly +@fa-css-prefix: fa; +@fa-version: "4.0.3"; +@fa-border-color: #eee; +@fa-inverse: #fff; +@fa-li-width: (30em / 14); + +@fa-var-glass: "\f000"; +@fa-var-music: "\f001"; +@fa-var-search: "\f002"; +@fa-var-envelope-o: "\f003"; +@fa-var-heart: "\f004"; +@fa-var-star: "\f005"; +@fa-var-star-o: "\f006"; +@fa-var-user: "\f007"; +@fa-var-film: "\f008"; +@fa-var-th-large: "\f009"; +@fa-var-th: "\f00a"; +@fa-var-th-list: "\f00b"; +@fa-var-check: "\f00c"; +@fa-var-times: "\f00d"; +@fa-var-search-plus: "\f00e"; +@fa-var-search-minus: "\f010"; +@fa-var-power-off: "\f011"; +@fa-var-signal: "\f012"; +@fa-var-cog: "\f013"; +@fa-var-trash-o: "\f014"; +@fa-var-home: "\f015"; +@fa-var-file-o: "\f016"; +@fa-var-clock-o: "\f017"; +@fa-var-road: "\f018"; +@fa-var-download: "\f019"; +@fa-var-arrow-circle-o-down: "\f01a"; +@fa-var-arrow-circle-o-up: "\f01b"; +@fa-var-inbox: "\f01c"; +@fa-var-play-circle-o: "\f01d"; +@fa-var-repeat: "\f01e"; +@fa-var-refresh: "\f021"; +@fa-var-list-alt: "\f022"; +@fa-var-lock: "\f023"; +@fa-var-flag: "\f024"; +@fa-var-headphones: "\f025"; +@fa-var-volume-off: "\f026"; +@fa-var-volume-down: "\f027"; +@fa-var-volume-up: "\f028"; +@fa-var-qrcode: "\f029"; +@fa-var-barcode: "\f02a"; +@fa-var-tag: "\f02b"; +@fa-var-tags: "\f02c"; +@fa-var-book: "\f02d"; +@fa-var-bookmark: "\f02e"; +@fa-var-print: "\f02f"; +@fa-var-camera: "\f030"; +@fa-var-font: "\f031"; +@fa-var-bold: "\f032"; +@fa-var-italic: "\f033"; +@fa-var-text-height: "\f034"; +@fa-var-text-width: "\f035"; +@fa-var-align-left: "\f036"; +@fa-var-align-center: "\f037"; +@fa-var-align-right: "\f038"; +@fa-var-align-justify: "\f039"; +@fa-var-list: "\f03a"; +@fa-var-outdent: "\f03b"; +@fa-var-indent: "\f03c"; +@fa-var-video-camera: "\f03d"; +@fa-var-picture-o: "\f03e"; +@fa-var-pencil: "\f040"; +@fa-var-map-marker: "\f041"; +@fa-var-adjust: "\f042"; +@fa-var-tint: "\f043"; +@fa-var-pencil-square-o: "\f044"; +@fa-var-share-square-o: "\f045"; +@fa-var-check-square-o: "\f046"; +@fa-var-arrows: "\f047"; +@fa-var-step-backward: "\f048"; +@fa-var-fast-backward: "\f049"; +@fa-var-backward: "\f04a"; +@fa-var-play: "\f04b"; +@fa-var-pause: "\f04c"; +@fa-var-stop: "\f04d"; +@fa-var-forward: "\f04e"; +@fa-var-fast-forward: "\f050"; +@fa-var-step-forward: "\f051"; +@fa-var-eject: "\f052"; +@fa-var-chevron-left: "\f053"; +@fa-var-chevron-right: "\f054"; +@fa-var-plus-circle: "\f055"; +@fa-var-minus-circle: "\f056"; +@fa-var-times-circle: "\f057"; +@fa-var-check-circle: "\f058"; +@fa-var-question-circle: "\f059"; +@fa-var-info-circle: "\f05a"; +@fa-var-crosshairs: "\f05b"; +@fa-var-times-circle-o: "\f05c"; +@fa-var-check-circle-o: "\f05d"; +@fa-var-ban: "\f05e"; +@fa-var-arrow-left: "\f060"; +@fa-var-arrow-right: "\f061"; +@fa-var-arrow-up: "\f062"; +@fa-var-arrow-down: "\f063"; +@fa-var-share: "\f064"; +@fa-var-expand: "\f065"; +@fa-var-compress: "\f066"; +@fa-var-plus: "\f067"; +@fa-var-minus: "\f068"; +@fa-var-asterisk: "\f069"; +@fa-var-exclamation-circle: "\f06a"; +@fa-var-gift: "\f06b"; +@fa-var-leaf: "\f06c"; +@fa-var-fire: "\f06d"; +@fa-var-eye: "\f06e"; +@fa-var-eye-slash: "\f070"; +@fa-var-exclamation-triangle: "\f071"; +@fa-var-plane: "\f072"; +@fa-var-calendar: "\f073"; +@fa-var-random: "\f074"; +@fa-var-comment: "\f075"; +@fa-var-magnet: "\f076"; +@fa-var-chevron-up: "\f077"; +@fa-var-chevron-down: "\f078"; +@fa-var-retweet: "\f079"; +@fa-var-shopping-cart: "\f07a"; +@fa-var-folder: "\f07b"; +@fa-var-folder-open: "\f07c"; +@fa-var-arrows-v: "\f07d"; +@fa-var-arrows-h: "\f07e"; +@fa-var-bar-chart-o: "\f080"; +@fa-var-twitter-square: "\f081"; +@fa-var-facebook-square: "\f082"; +@fa-var-camera-retro: "\f083"; +@fa-var-key: "\f084"; +@fa-var-cogs: "\f085"; +@fa-var-comments: "\f086"; +@fa-var-thumbs-o-up: "\f087"; +@fa-var-thumbs-o-down: "\f088"; +@fa-var-star-half: "\f089"; +@fa-var-heart-o: "\f08a"; +@fa-var-sign-out: "\f08b"; +@fa-var-linkedin-square: "\f08c"; +@fa-var-thumb-tack: "\f08d"; +@fa-var-external-link: "\f08e"; +@fa-var-sign-in: "\f090"; +@fa-var-trophy: "\f091"; +@fa-var-github-square: "\f092"; +@fa-var-upload: "\f093"; +@fa-var-lemon-o: "\f094"; +@fa-var-phone: "\f095"; +@fa-var-square-o: "\f096"; +@fa-var-bookmark-o: "\f097"; +@fa-var-phone-square: "\f098"; +@fa-var-twitter: "\f099"; +@fa-var-facebook: "\f09a"; +@fa-var-github: "\f09b"; +@fa-var-unlock: "\f09c"; +@fa-var-credit-card: "\f09d"; +@fa-var-rss: "\f09e"; +@fa-var-hdd-o: "\f0a0"; +@fa-var-bullhorn: "\f0a1"; +@fa-var-bell: "\f0f3"; +@fa-var-certificate: "\f0a3"; +@fa-var-hand-o-right: "\f0a4"; +@fa-var-hand-o-left: "\f0a5"; +@fa-var-hand-o-up: "\f0a6"; +@fa-var-hand-o-down: "\f0a7"; +@fa-var-arrow-circle-left: "\f0a8"; +@fa-var-arrow-circle-right: "\f0a9"; +@fa-var-arrow-circle-up: "\f0aa"; +@fa-var-arrow-circle-down: "\f0ab"; +@fa-var-globe: "\f0ac"; +@fa-var-wrench: "\f0ad"; +@fa-var-tasks: "\f0ae"; +@fa-var-filter: "\f0b0"; +@fa-var-briefcase: "\f0b1"; +@fa-var-arrows-alt: "\f0b2"; +@fa-var-users: "\f0c0"; +@fa-var-link: "\f0c1"; +@fa-var-cloud: "\f0c2"; +@fa-var-flask: "\f0c3"; +@fa-var-scissors: "\f0c4"; +@fa-var-files-o: "\f0c5"; +@fa-var-paperclip: "\f0c6"; +@fa-var-floppy-o: "\f0c7"; +@fa-var-square: "\f0c8"; +@fa-var-bars: "\f0c9"; +@fa-var-list-ul: "\f0ca"; +@fa-var-list-ol: "\f0cb"; +@fa-var-strikethrough: "\f0cc"; +@fa-var-underline: "\f0cd"; +@fa-var-table: "\f0ce"; +@fa-var-magic: "\f0d0"; +@fa-var-truck: "\f0d1"; +@fa-var-pinterest: "\f0d2"; +@fa-var-pinterest-square: "\f0d3"; +@fa-var-google-plus-square: "\f0d4"; +@fa-var-google-plus: "\f0d5"; +@fa-var-money: "\f0d6"; +@fa-var-caret-down: "\f0d7"; +@fa-var-caret-up: "\f0d8"; +@fa-var-caret-left: "\f0d9"; +@fa-var-caret-right: "\f0da"; +@fa-var-columns: "\f0db"; +@fa-var-sort: "\f0dc"; +@fa-var-sort-asc: "\f0dd"; +@fa-var-sort-desc: "\f0de"; +@fa-var-envelope: "\f0e0"; +@fa-var-linkedin: "\f0e1"; +@fa-var-undo: "\f0e2"; +@fa-var-gavel: "\f0e3"; +@fa-var-tachometer: "\f0e4"; +@fa-var-comment-o: "\f0e5"; +@fa-var-comments-o: "\f0e6"; +@fa-var-bolt: "\f0e7"; +@fa-var-sitemap: "\f0e8"; +@fa-var-umbrella: "\f0e9"; +@fa-var-clipboard: "\f0ea"; +@fa-var-lightbulb-o: "\f0eb"; +@fa-var-exchange: "\f0ec"; +@fa-var-cloud-download: "\f0ed"; +@fa-var-cloud-upload: "\f0ee"; +@fa-var-user-md: "\f0f0"; +@fa-var-stethoscope: "\f0f1"; +@fa-var-suitcase: "\f0f2"; +@fa-var-bell-o: "\f0a2"; +@fa-var-coffee: "\f0f4"; +@fa-var-cutlery: "\f0f5"; +@fa-var-file-text-o: "\f0f6"; +@fa-var-building-o: "\f0f7"; +@fa-var-hospital-o: "\f0f8"; +@fa-var-ambulance: "\f0f9"; +@fa-var-medkit: "\f0fa"; +@fa-var-fighter-jet: "\f0fb"; +@fa-var-beer: "\f0fc"; +@fa-var-h-square: "\f0fd"; +@fa-var-plus-square: "\f0fe"; +@fa-var-angle-double-left: "\f100"; +@fa-var-angle-double-right: "\f101"; +@fa-var-angle-double-up: "\f102"; +@fa-var-angle-double-down: "\f103"; +@fa-var-angle-left: "\f104"; +@fa-var-angle-right: "\f105"; +@fa-var-angle-up: "\f106"; +@fa-var-angle-down: "\f107"; +@fa-var-desktop: "\f108"; +@fa-var-laptop: "\f109"; +@fa-var-tablet: "\f10a"; +@fa-var-mobile: "\f10b"; +@fa-var-circle-o: "\f10c"; +@fa-var-quote-left: "\f10d"; +@fa-var-quote-right: "\f10e"; +@fa-var-spinner: "\f110"; +@fa-var-circle: "\f111"; +@fa-var-reply: "\f112"; +@fa-var-github-alt: "\f113"; +@fa-var-folder-o: "\f114"; +@fa-var-folder-open-o: "\f115"; +@fa-var-smile-o: "\f118"; +@fa-var-frown-o: "\f119"; +@fa-var-meh-o: "\f11a"; +@fa-var-gamepad: "\f11b"; +@fa-var-keyboard-o: "\f11c"; +@fa-var-flag-o: "\f11d"; +@fa-var-flag-checkered: "\f11e"; +@fa-var-terminal: "\f120"; +@fa-var-code: "\f121"; +@fa-var-reply-all: "\f122"; +@fa-var-mail-reply-all: "\f122"; +@fa-var-star-half-o: "\f123"; +@fa-var-location-arrow: "\f124"; +@fa-var-crop: "\f125"; +@fa-var-code-fork: "\f126"; +@fa-var-chain-broken: "\f127"; +@fa-var-question: "\f128"; +@fa-var-info: "\f129"; +@fa-var-exclamation: "\f12a"; +@fa-var-superscript: "\f12b"; +@fa-var-subscript: "\f12c"; +@fa-var-eraser: "\f12d"; +@fa-var-puzzle-piece: "\f12e"; +@fa-var-microphone: "\f130"; +@fa-var-microphone-slash: "\f131"; +@fa-var-shield: "\f132"; +@fa-var-calendar-o: "\f133"; +@fa-var-fire-extinguisher: "\f134"; +@fa-var-rocket: "\f135"; +@fa-var-maxcdn: "\f136"; +@fa-var-chevron-circle-left: "\f137"; +@fa-var-chevron-circle-right: "\f138"; +@fa-var-chevron-circle-up: "\f139"; +@fa-var-chevron-circle-down: "\f13a"; +@fa-var-html5: "\f13b"; +@fa-var-css3: "\f13c"; +@fa-var-anchor: "\f13d"; +@fa-var-unlock-alt: "\f13e"; +@fa-var-bullseye: "\f140"; +@fa-var-ellipsis-h: "\f141"; +@fa-var-ellipsis-v: "\f142"; +@fa-var-rss-square: "\f143"; +@fa-var-play-circle: "\f144"; +@fa-var-ticket: "\f145"; +@fa-var-minus-square: "\f146"; +@fa-var-minus-square-o: "\f147"; +@fa-var-level-up: "\f148"; +@fa-var-level-down: "\f149"; +@fa-var-check-square: "\f14a"; +@fa-var-pencil-square: "\f14b"; +@fa-var-external-link-square: "\f14c"; +@fa-var-share-square: "\f14d"; +@fa-var-compass: "\f14e"; +@fa-var-caret-square-o-down: "\f150"; +@fa-var-caret-square-o-up: "\f151"; +@fa-var-caret-square-o-right: "\f152"; +@fa-var-eur: "\f153"; +@fa-var-gbp: "\f154"; +@fa-var-usd: "\f155"; +@fa-var-inr: "\f156"; +@fa-var-jpy: "\f157"; +@fa-var-rub: "\f158"; +@fa-var-krw: "\f159"; +@fa-var-btc: "\f15a"; +@fa-var-file: "\f15b"; +@fa-var-file-text: "\f15c"; +@fa-var-sort-alpha-asc: "\f15d"; +@fa-var-sort-alpha-desc: "\f15e"; +@fa-var-sort-amount-asc: "\f160"; +@fa-var-sort-amount-desc: "\f161"; +@fa-var-sort-numeric-asc: "\f162"; +@fa-var-sort-numeric-desc: "\f163"; +@fa-var-thumbs-up: "\f164"; +@fa-var-thumbs-down: "\f165"; +@fa-var-youtube-square: "\f166"; +@fa-var-youtube: "\f167"; +@fa-var-xing: "\f168"; +@fa-var-xing-square: "\f169"; +@fa-var-youtube-play: "\f16a"; +@fa-var-dropbox: "\f16b"; +@fa-var-stack-overflow: "\f16c"; +@fa-var-instagram: "\f16d"; +@fa-var-flickr: "\f16e"; +@fa-var-adn: "\f170"; +@fa-var-bitbucket: "\f171"; +@fa-var-bitbucket-square: "\f172"; +@fa-var-tumblr: "\f173"; +@fa-var-tumblr-square: "\f174"; +@fa-var-long-arrow-down: "\f175"; +@fa-var-long-arrow-up: "\f176"; +@fa-var-long-arrow-left: "\f177"; +@fa-var-long-arrow-right: "\f178"; +@fa-var-apple: "\f179"; +@fa-var-windows: "\f17a"; +@fa-var-android: "\f17b"; +@fa-var-linux: "\f17c"; +@fa-var-dribbble: "\f17d"; +@fa-var-skype: "\f17e"; +@fa-var-foursquare: "\f180"; +@fa-var-trello: "\f181"; +@fa-var-female: "\f182"; +@fa-var-male: "\f183"; +@fa-var-gittip: "\f184"; +@fa-var-sun-o: "\f185"; +@fa-var-moon-o: "\f186"; +@fa-var-archive: "\f187"; +@fa-var-bug: "\f188"; +@fa-var-vk: "\f189"; +@fa-var-weibo: "\f18a"; +@fa-var-renren: "\f18b"; +@fa-var-pagelines: "\f18c"; +@fa-var-stack-exchange: "\f18d"; +@fa-var-arrow-circle-o-right: "\f18e"; +@fa-var-arrow-circle-o-left: "\f190"; +@fa-var-caret-square-o-left: "\f191"; +@fa-var-dot-circle-o: "\f192"; +@fa-var-wheelchair: "\f193"; +@fa-var-vimeo-square: "\f194"; +@fa-var-try: "\f195"; +@fa-var-plus-square-o: "\f196"; + diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_bordered-pulled.scss b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_bordered-pulled.scss new file mode 100644 index 0000000000..9d3fdf3a0b --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_bordered-pulled.scss @@ -0,0 +1,16 @@ +// Bordered & Pulled +// ------------------------- + +.#{$fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em $fa-border-color; + border-radius: .1em; +} + +.pull-right { float: right; } +.pull-left { float: left; } + +.#{$fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_core.scss b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_core.scss new file mode 100644 index 0000000000..861ccd9dcb --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_core.scss @@ -0,0 +1,12 @@ +// Base Class Definition +// ------------------------- + +.#{$fa-css-prefix} { + display: inline-block; + font-family: FontAwesome; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_fixed-width.scss b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_fixed-width.scss new file mode 100644 index 0000000000..b221c98133 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_fixed-width.scss @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.#{$fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_icons.scss b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_icons.scss new file mode 100644 index 0000000000..7490cf3611 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_icons.scss @@ -0,0 +1,412 @@ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ + +.#{$fa-css-prefix}-glass:before { content: $fa-var-glass; } +.#{$fa-css-prefix}-music:before { content: $fa-var-music; } +.#{$fa-css-prefix}-search:before { content: $fa-var-search; } +.#{$fa-css-prefix}-envelope-o:before { content: $fa-var-envelope-o; } +.#{$fa-css-prefix}-heart:before { content: $fa-var-heart; } +.#{$fa-css-prefix}-star:before { content: $fa-var-star; } +.#{$fa-css-prefix}-star-o:before { content: $fa-var-star-o; } +.#{$fa-css-prefix}-user:before { content: $fa-var-user; } +.#{$fa-css-prefix}-film:before { content: $fa-var-film; } +.#{$fa-css-prefix}-th-large:before { content: $fa-var-th-large; } +.#{$fa-css-prefix}-th:before { content: $fa-var-th; } +.#{$fa-css-prefix}-th-list:before { content: $fa-var-th-list; } +.#{$fa-css-prefix}-check:before { content: $fa-var-check; } +.#{$fa-css-prefix}-times:before { content: $fa-var-times; } +.#{$fa-css-prefix}-search-plus:before { content: $fa-var-search-plus; } +.#{$fa-css-prefix}-search-minus:before { content: $fa-var-search-minus; } +.#{$fa-css-prefix}-power-off:before { content: $fa-var-power-off; } +.#{$fa-css-prefix}-signal:before { content: $fa-var-signal; } +.#{$fa-css-prefix}-gear:before, +.#{$fa-css-prefix}-cog:before { content: $fa-var-cog; } +.#{$fa-css-prefix}-trash-o:before { content: $fa-var-trash-o; } +.#{$fa-css-prefix}-home:before { content: $fa-var-home; } +.#{$fa-css-prefix}-file-o:before { content: $fa-var-file-o; } +.#{$fa-css-prefix}-clock-o:before { content: $fa-var-clock-o; } +.#{$fa-css-prefix}-road:before { content: $fa-var-road; } +.#{$fa-css-prefix}-download:before { content: $fa-var-download; } +.#{$fa-css-prefix}-arrow-circle-o-down:before { content: $fa-var-arrow-circle-o-down; } +.#{$fa-css-prefix}-arrow-circle-o-up:before { content: $fa-var-arrow-circle-o-up; } +.#{$fa-css-prefix}-inbox:before { content: $fa-var-inbox; } +.#{$fa-css-prefix}-play-circle-o:before { content: $fa-var-play-circle-o; } +.#{$fa-css-prefix}-rotate-right:before, +.#{$fa-css-prefix}-repeat:before { content: $fa-var-repeat; } +.#{$fa-css-prefix}-refresh:before { content: $fa-var-refresh; } +.#{$fa-css-prefix}-list-alt:before { content: $fa-var-list-alt; } +.#{$fa-css-prefix}-lock:before { content: $fa-var-lock; } +.#{$fa-css-prefix}-flag:before { content: $fa-var-flag; } +.#{$fa-css-prefix}-headphones:before { content: $fa-var-headphones; } +.#{$fa-css-prefix}-volume-off:before { content: $fa-var-volume-off; } +.#{$fa-css-prefix}-volume-down:before { content: $fa-var-volume-down; } +.#{$fa-css-prefix}-volume-up:before { content: $fa-var-volume-up; } +.#{$fa-css-prefix}-qrcode:before { content: $fa-var-qrcode; } +.#{$fa-css-prefix}-barcode:before { content: $fa-var-barcode; } +.#{$fa-css-prefix}-tag:before { content: $fa-var-tag; } +.#{$fa-css-prefix}-tags:before { content: $fa-var-tags; } +.#{$fa-css-prefix}-book:before { content: $fa-var-book; } +.#{$fa-css-prefix}-bookmark:before { content: $fa-var-bookmark; } +.#{$fa-css-prefix}-print:before { content: $fa-var-print; } +.#{$fa-css-prefix}-camera:before { content: $fa-var-camera; } +.#{$fa-css-prefix}-font:before { content: $fa-var-font; } +.#{$fa-css-prefix}-bold:before { content: $fa-var-bold; } +.#{$fa-css-prefix}-italic:before { content: $fa-var-italic; } +.#{$fa-css-prefix}-text-height:before { content: $fa-var-text-height; } +.#{$fa-css-prefix}-text-width:before { content: $fa-var-text-width; } +.#{$fa-css-prefix}-align-left:before { content: $fa-var-align-left; } +.#{$fa-css-prefix}-align-center:before { content: $fa-var-align-center; } +.#{$fa-css-prefix}-align-right:before { content: $fa-var-align-right; } +.#{$fa-css-prefix}-align-justify:before { content: $fa-var-align-justify; } +.#{$fa-css-prefix}-list:before { content: $fa-var-list; } +.#{$fa-css-prefix}-dedent:before, +.#{$fa-css-prefix}-outdent:before { content: $fa-var-outdent; } +.#{$fa-css-prefix}-indent:before { content: $fa-var-indent; } +.#{$fa-css-prefix}-video-camera:before { content: $fa-var-video-camera; } +.#{$fa-css-prefix}-picture-o:before { content: $fa-var-picture-o; } +.#{$fa-css-prefix}-pencil:before { content: $fa-var-pencil; } +.#{$fa-css-prefix}-map-marker:before { content: $fa-var-map-marker; } +.#{$fa-css-prefix}-adjust:before { content: $fa-var-adjust; } +.#{$fa-css-prefix}-tint:before { content: $fa-var-tint; } +.#{$fa-css-prefix}-edit:before, +.#{$fa-css-prefix}-pencil-square-o:before { content: $fa-var-pencil-square-o; } +.#{$fa-css-prefix}-share-square-o:before { content: $fa-var-share-square-o; } +.#{$fa-css-prefix}-check-square-o:before { content: $fa-var-check-square-o; } +.#{$fa-css-prefix}-arrows:before { content: $fa-var-arrows; } +.#{$fa-css-prefix}-step-backward:before { content: $fa-var-step-backward; } +.#{$fa-css-prefix}-fast-backward:before { content: $fa-var-fast-backward; } +.#{$fa-css-prefix}-backward:before { content: $fa-var-backward; } +.#{$fa-css-prefix}-play:before { content: $fa-var-play; } +.#{$fa-css-prefix}-pause:before { content: $fa-var-pause; } +.#{$fa-css-prefix}-stop:before { content: $fa-var-stop; } +.#{$fa-css-prefix}-forward:before { content: $fa-var-forward; } +.#{$fa-css-prefix}-fast-forward:before { content: $fa-var-fast-forward; } +.#{$fa-css-prefix}-step-forward:before { content: $fa-var-step-forward; } +.#{$fa-css-prefix}-eject:before { content: $fa-var-eject; } +.#{$fa-css-prefix}-chevron-left:before { content: $fa-var-chevron-left; } +.#{$fa-css-prefix}-chevron-right:before { content: $fa-var-chevron-right; } +.#{$fa-css-prefix}-plus-circle:before { content: $fa-var-plus-circle; } +.#{$fa-css-prefix}-minus-circle:before { content: $fa-var-minus-circle; } +.#{$fa-css-prefix}-times-circle:before { content: $fa-var-times-circle; } +.#{$fa-css-prefix}-check-circle:before { content: $fa-var-check-circle; } +.#{$fa-css-prefix}-question-circle:before { content: $fa-var-question-circle; } +.#{$fa-css-prefix}-info-circle:before { content: $fa-var-info-circle; } +.#{$fa-css-prefix}-crosshairs:before { content: $fa-var-crosshairs; } +.#{$fa-css-prefix}-times-circle-o:before { content: $fa-var-times-circle-o; } +.#{$fa-css-prefix}-check-circle-o:before { content: $fa-var-check-circle-o; } +.#{$fa-css-prefix}-ban:before { content: $fa-var-ban; } +.#{$fa-css-prefix}-arrow-left:before { content: $fa-var-arrow-left; } +.#{$fa-css-prefix}-arrow-right:before { content: $fa-var-arrow-right; } +.#{$fa-css-prefix}-arrow-up:before { content: $fa-var-arrow-up; } +.#{$fa-css-prefix}-arrow-down:before { content: $fa-var-arrow-down; } +.#{$fa-css-prefix}-mail-forward:before, +.#{$fa-css-prefix}-share:before { content: $fa-var-share; } +.#{$fa-css-prefix}-expand:before { content: $fa-var-expand; } +.#{$fa-css-prefix}-compress:before { content: $fa-var-compress; } +.#{$fa-css-prefix}-plus:before { content: $fa-var-plus; } +.#{$fa-css-prefix}-minus:before { content: $fa-var-minus; } +.#{$fa-css-prefix}-asterisk:before { content: $fa-var-asterisk; } +.#{$fa-css-prefix}-exclamation-circle:before { content: $fa-var-exclamation-circle; } +.#{$fa-css-prefix}-gift:before { content: $fa-var-gift; } +.#{$fa-css-prefix}-leaf:before { content: $fa-var-leaf; } +.#{$fa-css-prefix}-fire:before { content: $fa-var-fire; } +.#{$fa-css-prefix}-eye:before { content: $fa-var-eye; } +.#{$fa-css-prefix}-eye-slash:before { content: $fa-var-eye-slash; } +.#{$fa-css-prefix}-warning:before, +.#{$fa-css-prefix}-exclamation-triangle:before { content: $fa-var-exclamation-triangle; } +.#{$fa-css-prefix}-plane:before { content: $fa-var-plane; } +.#{$fa-css-prefix}-calendar:before { content: $fa-var-calendar; } +.#{$fa-css-prefix}-random:before { content: $fa-var-random; } +.#{$fa-css-prefix}-comment:before { content: $fa-var-comment; } +.#{$fa-css-prefix}-magnet:before { content: $fa-var-magnet; } +.#{$fa-css-prefix}-chevron-up:before { content: $fa-var-chevron-up; } +.#{$fa-css-prefix}-chevron-down:before { content: $fa-var-chevron-down; } +.#{$fa-css-prefix}-retweet:before { content: $fa-var-retweet; } +.#{$fa-css-prefix}-shopping-cart:before { content: $fa-var-shopping-cart; } +.#{$fa-css-prefix}-folder:before { content: $fa-var-folder; } +.#{$fa-css-prefix}-folder-open:before { content: $fa-var-folder-open; } +.#{$fa-css-prefix}-arrows-v:before { content: $fa-var-arrows-v; } +.#{$fa-css-prefix}-arrows-h:before { content: $fa-var-arrows-h; } +.#{$fa-css-prefix}-bar-chart-o:before { content: $fa-var-bar-chart-o; } +.#{$fa-css-prefix}-twitter-square:before { content: $fa-var-twitter-square; } +.#{$fa-css-prefix}-facebook-square:before { content: $fa-var-facebook-square; } +.#{$fa-css-prefix}-camera-retro:before { content: $fa-var-camera-retro; } +.#{$fa-css-prefix}-key:before { content: $fa-var-key; } +.#{$fa-css-prefix}-gears:before, +.#{$fa-css-prefix}-cogs:before { content: $fa-var-cogs; } +.#{$fa-css-prefix}-comments:before { content: $fa-var-comments; } +.#{$fa-css-prefix}-thumbs-o-up:before { content: $fa-var-thumbs-o-up; } +.#{$fa-css-prefix}-thumbs-o-down:before { content: $fa-var-thumbs-o-down; } +.#{$fa-css-prefix}-star-half:before { content: $fa-var-star-half; } +.#{$fa-css-prefix}-heart-o:before { content: $fa-var-heart-o; } +.#{$fa-css-prefix}-sign-out:before { content: $fa-var-sign-out; } +.#{$fa-css-prefix}-linkedin-square:before { content: $fa-var-linkedin-square; } +.#{$fa-css-prefix}-thumb-tack:before { content: $fa-var-thumb-tack; } +.#{$fa-css-prefix}-external-link:before { content: $fa-var-external-link; } +.#{$fa-css-prefix}-sign-in:before { content: $fa-var-sign-in; } +.#{$fa-css-prefix}-trophy:before { content: $fa-var-trophy; } +.#{$fa-css-prefix}-github-square:before { content: $fa-var-github-square; } +.#{$fa-css-prefix}-upload:before { content: $fa-var-upload; } +.#{$fa-css-prefix}-lemon-o:before { content: $fa-var-lemon-o; } +.#{$fa-css-prefix}-phone:before { content: $fa-var-phone; } +.#{$fa-css-prefix}-square-o:before { content: $fa-var-square-o; } +.#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; } +.#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; } +.#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; } +.#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; } +.#{$fa-css-prefix}-github:before { content: $fa-var-github; } +.#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; } +.#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; } +.#{$fa-css-prefix}-rss:before { content: $fa-var-rss; } +.#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; } +.#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; } +.#{$fa-css-prefix}-bell:before { content: $fa-var-bell; } +.#{$fa-css-prefix}-certificate:before { content: $fa-var-certificate; } +.#{$fa-css-prefix}-hand-o-right:before { content: $fa-var-hand-o-right; } +.#{$fa-css-prefix}-hand-o-left:before { content: $fa-var-hand-o-left; } +.#{$fa-css-prefix}-hand-o-up:before { content: $fa-var-hand-o-up; } +.#{$fa-css-prefix}-hand-o-down:before { content: $fa-var-hand-o-down; } +.#{$fa-css-prefix}-arrow-circle-left:before { content: $fa-var-arrow-circle-left; } +.#{$fa-css-prefix}-arrow-circle-right:before { content: $fa-var-arrow-circle-right; } +.#{$fa-css-prefix}-arrow-circle-up:before { content: $fa-var-arrow-circle-up; } +.#{$fa-css-prefix}-arrow-circle-down:before { content: $fa-var-arrow-circle-down; } +.#{$fa-css-prefix}-globe:before { content: $fa-var-globe; } +.#{$fa-css-prefix}-wrench:before { content: $fa-var-wrench; } +.#{$fa-css-prefix}-tasks:before { content: $fa-var-tasks; } +.#{$fa-css-prefix}-filter:before { content: $fa-var-filter; } +.#{$fa-css-prefix}-briefcase:before { content: $fa-var-briefcase; } +.#{$fa-css-prefix}-arrows-alt:before { content: $fa-var-arrows-alt; } +.#{$fa-css-prefix}-group:before, +.#{$fa-css-prefix}-users:before { content: $fa-var-users; } +.#{$fa-css-prefix}-chain:before, +.#{$fa-css-prefix}-link:before { content: $fa-var-link; } +.#{$fa-css-prefix}-cloud:before { content: $fa-var-cloud; } +.#{$fa-css-prefix}-flask:before { content: $fa-var-flask; } +.#{$fa-css-prefix}-cut:before, +.#{$fa-css-prefix}-scissors:before { content: $fa-var-scissors; } +.#{$fa-css-prefix}-copy:before, +.#{$fa-css-prefix}-files-o:before { content: $fa-var-files-o; } +.#{$fa-css-prefix}-paperclip:before { content: $fa-var-paperclip; } +.#{$fa-css-prefix}-save:before, +.#{$fa-css-prefix}-floppy-o:before { content: $fa-var-floppy-o; } +.#{$fa-css-prefix}-square:before { content: $fa-var-square; } +.#{$fa-css-prefix}-bars:before { content: $fa-var-bars; } +.#{$fa-css-prefix}-list-ul:before { content: $fa-var-list-ul; } +.#{$fa-css-prefix}-list-ol:before { content: $fa-var-list-ol; } +.#{$fa-css-prefix}-strikethrough:before { content: $fa-var-strikethrough; } +.#{$fa-css-prefix}-underline:before { content: $fa-var-underline; } +.#{$fa-css-prefix}-table:before { content: $fa-var-table; } +.#{$fa-css-prefix}-magic:before { content: $fa-var-magic; } +.#{$fa-css-prefix}-truck:before { content: $fa-var-truck; } +.#{$fa-css-prefix}-pinterest:before { content: $fa-var-pinterest; } +.#{$fa-css-prefix}-pinterest-square:before { content: $fa-var-pinterest-square; } +.#{$fa-css-prefix}-google-plus-square:before { content: $fa-var-google-plus-square; } +.#{$fa-css-prefix}-google-plus:before { content: $fa-var-google-plus; } +.#{$fa-css-prefix}-money:before { content: $fa-var-money; } +.#{$fa-css-prefix}-caret-down:before { content: $fa-var-caret-down; } +.#{$fa-css-prefix}-caret-up:before { content: $fa-var-caret-up; } +.#{$fa-css-prefix}-caret-left:before { content: $fa-var-caret-left; } +.#{$fa-css-prefix}-caret-right:before { content: $fa-var-caret-right; } +.#{$fa-css-prefix}-columns:before { content: $fa-var-columns; } +.#{$fa-css-prefix}-unsorted:before, +.#{$fa-css-prefix}-sort:before { content: $fa-var-sort; } +.#{$fa-css-prefix}-sort-down:before, +.#{$fa-css-prefix}-sort-asc:before { content: $fa-var-sort-asc; } +.#{$fa-css-prefix}-sort-up:before, +.#{$fa-css-prefix}-sort-desc:before { content: $fa-var-sort-desc; } +.#{$fa-css-prefix}-envelope:before { content: $fa-var-envelope; } +.#{$fa-css-prefix}-linkedin:before { content: $fa-var-linkedin; } +.#{$fa-css-prefix}-rotate-left:before, +.#{$fa-css-prefix}-undo:before { content: $fa-var-undo; } +.#{$fa-css-prefix}-legal:before, +.#{$fa-css-prefix}-gavel:before { content: $fa-var-gavel; } +.#{$fa-css-prefix}-dashboard:before, +.#{$fa-css-prefix}-tachometer:before { content: $fa-var-tachometer; } +.#{$fa-css-prefix}-comment-o:before { content: $fa-var-comment-o; } +.#{$fa-css-prefix}-comments-o:before { content: $fa-var-comments-o; } +.#{$fa-css-prefix}-flash:before, +.#{$fa-css-prefix}-bolt:before { content: $fa-var-bolt; } +.#{$fa-css-prefix}-sitemap:before { content: $fa-var-sitemap; } +.#{$fa-css-prefix}-umbrella:before { content: $fa-var-umbrella; } +.#{$fa-css-prefix}-paste:before, +.#{$fa-css-prefix}-clipboard:before { content: $fa-var-clipboard; } +.#{$fa-css-prefix}-lightbulb-o:before { content: $fa-var-lightbulb-o; } +.#{$fa-css-prefix}-exchange:before { content: $fa-var-exchange; } +.#{$fa-css-prefix}-cloud-download:before { content: $fa-var-cloud-download; } +.#{$fa-css-prefix}-cloud-upload:before { content: $fa-var-cloud-upload; } +.#{$fa-css-prefix}-user-md:before { content: $fa-var-user-md; } +.#{$fa-css-prefix}-stethoscope:before { content: $fa-var-stethoscope; } +.#{$fa-css-prefix}-suitcase:before { content: $fa-var-suitcase; } +.#{$fa-css-prefix}-bell-o:before { content: $fa-var-bell-o; } +.#{$fa-css-prefix}-coffee:before { content: $fa-var-coffee; } +.#{$fa-css-prefix}-cutlery:before { content: $fa-var-cutlery; } +.#{$fa-css-prefix}-file-text-o:before { content: $fa-var-file-text-o; } +.#{$fa-css-prefix}-building-o:before { content: $fa-var-building-o; } +.#{$fa-css-prefix}-hospital-o:before { content: $fa-var-hospital-o; } +.#{$fa-css-prefix}-ambulance:before { content: $fa-var-ambulance; } +.#{$fa-css-prefix}-medkit:before { content: $fa-var-medkit; } +.#{$fa-css-prefix}-fighter-jet:before { content: $fa-var-fighter-jet; } +.#{$fa-css-prefix}-beer:before { content: $fa-var-beer; } +.#{$fa-css-prefix}-h-square:before { content: $fa-var-h-square; } +.#{$fa-css-prefix}-plus-square:before { content: $fa-var-plus-square; } +.#{$fa-css-prefix}-angle-double-left:before { content: $fa-var-angle-double-left; } +.#{$fa-css-prefix}-angle-double-right:before { content: $fa-var-angle-double-right; } +.#{$fa-css-prefix}-angle-double-up:before { content: $fa-var-angle-double-up; } +.#{$fa-css-prefix}-angle-double-down:before { content: $fa-var-angle-double-down; } +.#{$fa-css-prefix}-angle-left:before { content: $fa-var-angle-left; } +.#{$fa-css-prefix}-angle-right:before { content: $fa-var-angle-right; } +.#{$fa-css-prefix}-angle-up:before { content: $fa-var-angle-up; } +.#{$fa-css-prefix}-angle-down:before { content: $fa-var-angle-down; } +.#{$fa-css-prefix}-desktop:before { content: $fa-var-desktop; } +.#{$fa-css-prefix}-laptop:before { content: $fa-var-laptop; } +.#{$fa-css-prefix}-tablet:before { content: $fa-var-tablet; } +.#{$fa-css-prefix}-mobile-phone:before, +.#{$fa-css-prefix}-mobile:before { content: $fa-var-mobile; } +.#{$fa-css-prefix}-circle-o:before { content: $fa-var-circle-o; } +.#{$fa-css-prefix}-quote-left:before { content: $fa-var-quote-left; } +.#{$fa-css-prefix}-quote-right:before { content: $fa-var-quote-right; } +.#{$fa-css-prefix}-spinner:before { content: $fa-var-spinner; } +.#{$fa-css-prefix}-circle:before { content: $fa-var-circle; } +.#{$fa-css-prefix}-mail-reply:before, +.#{$fa-css-prefix}-reply:before { content: $fa-var-reply; } +.#{$fa-css-prefix}-github-alt:before { content: $fa-var-github-alt; } +.#{$fa-css-prefix}-folder-o:before { content: $fa-var-folder-o; } +.#{$fa-css-prefix}-folder-open-o:before { content: $fa-var-folder-open-o; } +.#{$fa-css-prefix}-smile-o:before { content: $fa-var-smile-o; } +.#{$fa-css-prefix}-frown-o:before { content: $fa-var-frown-o; } +.#{$fa-css-prefix}-meh-o:before { content: $fa-var-meh-o; } +.#{$fa-css-prefix}-gamepad:before { content: $fa-var-gamepad; } +.#{$fa-css-prefix}-keyboard-o:before { content: $fa-var-keyboard-o; } +.#{$fa-css-prefix}-flag-o:before { content: $fa-var-flag-o; } +.#{$fa-css-prefix}-flag-checkered:before { content: $fa-var-flag-checkered; } +.#{$fa-css-prefix}-terminal:before { content: $fa-var-terminal; } +.#{$fa-css-prefix}-code:before { content: $fa-var-code; } +.#{$fa-css-prefix}-reply-all:before { content: $fa-var-reply-all; } +.#{$fa-css-prefix}-mail-reply-all:before { content: $fa-var-mail-reply-all; } +.#{$fa-css-prefix}-star-half-empty:before, +.#{$fa-css-prefix}-star-half-full:before, +.#{$fa-css-prefix}-star-half-o:before { content: $fa-var-star-half-o; } +.#{$fa-css-prefix}-location-arrow:before { content: $fa-var-location-arrow; } +.#{$fa-css-prefix}-crop:before { content: $fa-var-crop; } +.#{$fa-css-prefix}-code-fork:before { content: $fa-var-code-fork; } +.#{$fa-css-prefix}-unlink:before, +.#{$fa-css-prefix}-chain-broken:before { content: $fa-var-chain-broken; } +.#{$fa-css-prefix}-question:before { content: $fa-var-question; } +.#{$fa-css-prefix}-info:before { content: $fa-var-info; } +.#{$fa-css-prefix}-exclamation:before { content: $fa-var-exclamation; } +.#{$fa-css-prefix}-superscript:before { content: $fa-var-superscript; } +.#{$fa-css-prefix}-subscript:before { content: $fa-var-subscript; } +.#{$fa-css-prefix}-eraser:before { content: $fa-var-eraser; } +.#{$fa-css-prefix}-puzzle-piece:before { content: $fa-var-puzzle-piece; } +.#{$fa-css-prefix}-microphone:before { content: $fa-var-microphone; } +.#{$fa-css-prefix}-microphone-slash:before { content: $fa-var-microphone-slash; } +.#{$fa-css-prefix}-shield:before { content: $fa-var-shield; } +.#{$fa-css-prefix}-calendar-o:before { content: $fa-var-calendar-o; } +.#{$fa-css-prefix}-fire-extinguisher:before { content: $fa-var-fire-extinguisher; } +.#{$fa-css-prefix}-rocket:before { content: $fa-var-rocket; } +.#{$fa-css-prefix}-maxcdn:before { content: $fa-var-maxcdn; } +.#{$fa-css-prefix}-chevron-circle-left:before { content: $fa-var-chevron-circle-left; } +.#{$fa-css-prefix}-chevron-circle-right:before { content: $fa-var-chevron-circle-right; } +.#{$fa-css-prefix}-chevron-circle-up:before { content: $fa-var-chevron-circle-up; } +.#{$fa-css-prefix}-chevron-circle-down:before { content: $fa-var-chevron-circle-down; } +.#{$fa-css-prefix}-html5:before { content: $fa-var-html5; } +.#{$fa-css-prefix}-css3:before { content: $fa-var-css3; } +.#{$fa-css-prefix}-anchor:before { content: $fa-var-anchor; } +.#{$fa-css-prefix}-unlock-alt:before { content: $fa-var-unlock-alt; } +.#{$fa-css-prefix}-bullseye:before { content: $fa-var-bullseye; } +.#{$fa-css-prefix}-ellipsis-h:before { content: $fa-var-ellipsis-h; } +.#{$fa-css-prefix}-ellipsis-v:before { content: $fa-var-ellipsis-v; } +.#{$fa-css-prefix}-rss-square:before { content: $fa-var-rss-square; } +.#{$fa-css-prefix}-play-circle:before { content: $fa-var-play-circle; } +.#{$fa-css-prefix}-ticket:before { content: $fa-var-ticket; } +.#{$fa-css-prefix}-minus-square:before { content: $fa-var-minus-square; } +.#{$fa-css-prefix}-minus-square-o:before { content: $fa-var-minus-square-o; } +.#{$fa-css-prefix}-level-up:before { content: $fa-var-level-up; } +.#{$fa-css-prefix}-level-down:before { content: $fa-var-level-down; } +.#{$fa-css-prefix}-check-square:before { content: $fa-var-check-square; } +.#{$fa-css-prefix}-pencil-square:before { content: $fa-var-pencil-square; } +.#{$fa-css-prefix}-external-link-square:before { content: $fa-var-external-link-square; } +.#{$fa-css-prefix}-share-square:before { content: $fa-var-share-square; } +.#{$fa-css-prefix}-compass:before { content: $fa-var-compass; } +.#{$fa-css-prefix}-toggle-down:before, +.#{$fa-css-prefix}-caret-square-o-down:before { content: $fa-var-caret-square-o-down; } +.#{$fa-css-prefix}-toggle-up:before, +.#{$fa-css-prefix}-caret-square-o-up:before { content: $fa-var-caret-square-o-up; } +.#{$fa-css-prefix}-toggle-right:before, +.#{$fa-css-prefix}-caret-square-o-right:before { content: $fa-var-caret-square-o-right; } +.#{$fa-css-prefix}-euro:before, +.#{$fa-css-prefix}-eur:before { content: $fa-var-eur; } +.#{$fa-css-prefix}-gbp:before { content: $fa-var-gbp; } +.#{$fa-css-prefix}-dollar:before, +.#{$fa-css-prefix}-usd:before { content: $fa-var-usd; } +.#{$fa-css-prefix}-rupee:before, +.#{$fa-css-prefix}-inr:before { content: $fa-var-inr; } +.#{$fa-css-prefix}-cny:before, +.#{$fa-css-prefix}-rmb:before, +.#{$fa-css-prefix}-yen:before, +.#{$fa-css-prefix}-jpy:before { content: $fa-var-jpy; } +.#{$fa-css-prefix}-ruble:before, +.#{$fa-css-prefix}-rouble:before, +.#{$fa-css-prefix}-rub:before { content: $fa-var-rub; } +.#{$fa-css-prefix}-won:before, +.#{$fa-css-prefix}-krw:before { content: $fa-var-krw; } +.#{$fa-css-prefix}-bitcoin:before, +.#{$fa-css-prefix}-btc:before { content: $fa-var-btc; } +.#{$fa-css-prefix}-file:before { content: $fa-var-file; } +.#{$fa-css-prefix}-file-text:before { content: $fa-var-file-text; } +.#{$fa-css-prefix}-sort-alpha-asc:before { content: $fa-var-sort-alpha-asc; } +.#{$fa-css-prefix}-sort-alpha-desc:before { content: $fa-var-sort-alpha-desc; } +.#{$fa-css-prefix}-sort-amount-asc:before { content: $fa-var-sort-amount-asc; } +.#{$fa-css-prefix}-sort-amount-desc:before { content: $fa-var-sort-amount-desc; } +.#{$fa-css-prefix}-sort-numeric-asc:before { content: $fa-var-sort-numeric-asc; } +.#{$fa-css-prefix}-sort-numeric-desc:before { content: $fa-var-sort-numeric-desc; } +.#{$fa-css-prefix}-thumbs-up:before { content: $fa-var-thumbs-up; } +.#{$fa-css-prefix}-thumbs-down:before { content: $fa-var-thumbs-down; } +.#{$fa-css-prefix}-youtube-square:before { content: $fa-var-youtube-square; } +.#{$fa-css-prefix}-youtube:before { content: $fa-var-youtube; } +.#{$fa-css-prefix}-xing:before { content: $fa-var-xing; } +.#{$fa-css-prefix}-xing-square:before { content: $fa-var-xing-square; } +.#{$fa-css-prefix}-youtube-play:before { content: $fa-var-youtube-play; } +.#{$fa-css-prefix}-dropbox:before { content: $fa-var-dropbox; } +.#{$fa-css-prefix}-stack-overflow:before { content: $fa-var-stack-overflow; } +.#{$fa-css-prefix}-instagram:before { content: $fa-var-instagram; } +.#{$fa-css-prefix}-flickr:before { content: $fa-var-flickr; } +.#{$fa-css-prefix}-adn:before { content: $fa-var-adn; } +.#{$fa-css-prefix}-bitbucket:before { content: $fa-var-bitbucket; } +.#{$fa-css-prefix}-bitbucket-square:before { content: $fa-var-bitbucket-square; } +.#{$fa-css-prefix}-tumblr:before { content: $fa-var-tumblr; } +.#{$fa-css-prefix}-tumblr-square:before { content: $fa-var-tumblr-square; } +.#{$fa-css-prefix}-long-arrow-down:before { content: $fa-var-long-arrow-down; } +.#{$fa-css-prefix}-long-arrow-up:before { content: $fa-var-long-arrow-up; } +.#{$fa-css-prefix}-long-arrow-left:before { content: $fa-var-long-arrow-left; } +.#{$fa-css-prefix}-long-arrow-right:before { content: $fa-var-long-arrow-right; } +.#{$fa-css-prefix}-apple:before { content: $fa-var-apple; } +.#{$fa-css-prefix}-windows:before { content: $fa-var-windows; } +.#{$fa-css-prefix}-android:before { content: $fa-var-android; } +.#{$fa-css-prefix}-linux:before { content: $fa-var-linux; } +.#{$fa-css-prefix}-dribbble:before { content: $fa-var-dribbble; } +.#{$fa-css-prefix}-skype:before { content: $fa-var-skype; } +.#{$fa-css-prefix}-foursquare:before { content: $fa-var-foursquare; } +.#{$fa-css-prefix}-trello:before { content: $fa-var-trello; } +.#{$fa-css-prefix}-female:before { content: $fa-var-female; } +.#{$fa-css-prefix}-male:before { content: $fa-var-male; } +.#{$fa-css-prefix}-gittip:before { content: $fa-var-gittip; } +.#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; } +.#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; } +.#{$fa-css-prefix}-archive:before { content: $fa-var-archive; } +.#{$fa-css-prefix}-bug:before { content: $fa-var-bug; } +.#{$fa-css-prefix}-vk:before { content: $fa-var-vk; } +.#{$fa-css-prefix}-weibo:before { content: $fa-var-weibo; } +.#{$fa-css-prefix}-renren:before { content: $fa-var-renren; } +.#{$fa-css-prefix}-pagelines:before { content: $fa-var-pagelines; } +.#{$fa-css-prefix}-stack-exchange:before { content: $fa-var-stack-exchange; } +.#{$fa-css-prefix}-arrow-circle-o-right:before { content: $fa-var-arrow-circle-o-right; } +.#{$fa-css-prefix}-arrow-circle-o-left:before { content: $fa-var-arrow-circle-o-left; } +.#{$fa-css-prefix}-toggle-left:before, +.#{$fa-css-prefix}-caret-square-o-left:before { content: $fa-var-caret-square-o-left; } +.#{$fa-css-prefix}-dot-circle-o:before { content: $fa-var-dot-circle-o; } +.#{$fa-css-prefix}-wheelchair:before { content: $fa-var-wheelchair; } +.#{$fa-css-prefix}-vimeo-square:before { content: $fa-var-vimeo-square; } +.#{$fa-css-prefix}-turkish-lira:before, +.#{$fa-css-prefix}-try:before { content: $fa-var-try; } +.#{$fa-css-prefix}-plus-square-o:before { content: $fa-var-plus-square-o; } diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_larger.scss b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_larger.scss new file mode 100644 index 0000000000..41e9a8184a --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_larger.scss @@ -0,0 +1,13 @@ +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.#{$fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.#{$fa-css-prefix}-2x { font-size: 2em; } +.#{$fa-css-prefix}-3x { font-size: 3em; } +.#{$fa-css-prefix}-4x { font-size: 4em; } +.#{$fa-css-prefix}-5x { font-size: 5em; } diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_list.scss b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_list.scss new file mode 100644 index 0000000000..7d1e4d54d6 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_list.scss @@ -0,0 +1,19 @@ +// List Icons +// ------------------------- + +.#{$fa-css-prefix}-ul { + padding-left: 0; + margin-left: $fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.#{$fa-css-prefix}-li { + position: absolute; + left: -$fa-li-width; + width: $fa-li-width; + top: (2em / 14); + text-align: center; + &.#{$fa-css-prefix}-lg { + left: -$fa-li-width + (4em / 14); + } +} diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_mixins.scss b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_mixins.scss new file mode 100644 index 0000000000..9f555963f8 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_mixins.scss @@ -0,0 +1,20 @@ +// Mixins +// -------------------------- + +@mixin fa-icon-rotate($degrees, $rotation) { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=$rotation); + -webkit-transform: rotate($degrees); + -moz-transform: rotate($degrees); + -ms-transform: rotate($degrees); + -o-transform: rotate($degrees); + transform: rotate($degrees); +} + +@mixin fa-icon-flip($horiz, $vert, $rotation) { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=$rotation); + -webkit-transform: scale($horiz, $vert); + -moz-transform: scale($horiz, $vert); + -ms-transform: scale($horiz, $vert); + -o-transform: scale($horiz, $vert); + transform: scale($horiz, $vert); +} diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_path.scss b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_path.scss new file mode 100644 index 0000000000..fd21c3515e --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_path.scss @@ -0,0 +1,14 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: 'FontAwesome'; + src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); + src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), + url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), + url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), + url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); + //src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_rotated-flipped.scss b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_rotated-flipped.scss new file mode 100644 index 0000000000..343fa5507b --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_rotated-flipped.scss @@ -0,0 +1,9 @@ +// Rotated & Flipped Icons +// ------------------------- + +.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } +.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } +.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } + +.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } +.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_spinning.scss b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_spinning.scss new file mode 100644 index 0000000000..ba1e4f1623 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_spinning.scss @@ -0,0 +1,30 @@ +// Spinning Icons +// -------------------------- + +.#{$fa-css-prefix}-spin { + -webkit-animation: spin 2s infinite linear; + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; +} + +@-moz-keyframes spin { + 0% { -moz-transform: rotate(0deg); } + 100% { -moz-transform: rotate(359deg); } +} +@-webkit-keyframes spin { + 0% { -webkit-transform: rotate(0deg); } + 100% { -webkit-transform: rotate(359deg); } +} +@-o-keyframes spin { + 0% { -o-transform: rotate(0deg); } + 100% { -o-transform: rotate(359deg); } +} +@-ms-keyframes spin { + 0% { -ms-transform: rotate(0deg); } + 100% { -ms-transform: rotate(359deg); } +} +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(359deg); } +} diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_stacked.scss b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_stacked.scss new file mode 100644 index 0000000000..aef7403660 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_stacked.scss @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.#{$fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.#{$fa-css-prefix}-stack-1x { line-height: inherit; } +.#{$fa-css-prefix}-stack-2x { font-size: 2em; } +.#{$fa-css-prefix}-inverse { color: $fa-inverse; } diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_variables.scss b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_variables.scss new file mode 100644 index 0000000000..2d6e076a70 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/_variables.scss @@ -0,0 +1,381 @@ +// Variables +// -------------------------- + +$fa-font-path: "../fonts" !default; +//$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.0.3/fonts" !default; // for referencing Bootstrap CDN font files directly +$fa-css-prefix: fa !default; +$fa-version: "4.0.3" !default; +$fa-border-color: #eee !default; +$fa-inverse: #fff !default; +$fa-li-width: (30em / 14) !default; + +$fa-var-glass: "\f000"; +$fa-var-music: "\f001"; +$fa-var-search: "\f002"; +$fa-var-envelope-o: "\f003"; +$fa-var-heart: "\f004"; +$fa-var-star: "\f005"; +$fa-var-star-o: "\f006"; +$fa-var-user: "\f007"; +$fa-var-film: "\f008"; +$fa-var-th-large: "\f009"; +$fa-var-th: "\f00a"; +$fa-var-th-list: "\f00b"; +$fa-var-check: "\f00c"; +$fa-var-times: "\f00d"; +$fa-var-search-plus: "\f00e"; +$fa-var-search-minus: "\f010"; +$fa-var-power-off: "\f011"; +$fa-var-signal: "\f012"; +$fa-var-cog: "\f013"; +$fa-var-trash-o: "\f014"; +$fa-var-home: "\f015"; +$fa-var-file-o: "\f016"; +$fa-var-clock-o: "\f017"; +$fa-var-road: "\f018"; +$fa-var-download: "\f019"; +$fa-var-arrow-circle-o-down: "\f01a"; +$fa-var-arrow-circle-o-up: "\f01b"; +$fa-var-inbox: "\f01c"; +$fa-var-play-circle-o: "\f01d"; +$fa-var-repeat: "\f01e"; +$fa-var-refresh: "\f021"; +$fa-var-list-alt: "\f022"; +$fa-var-lock: "\f023"; +$fa-var-flag: "\f024"; +$fa-var-headphones: "\f025"; +$fa-var-volume-off: "\f026"; +$fa-var-volume-down: "\f027"; +$fa-var-volume-up: "\f028"; +$fa-var-qrcode: "\f029"; +$fa-var-barcode: "\f02a"; +$fa-var-tag: "\f02b"; +$fa-var-tags: "\f02c"; +$fa-var-book: "\f02d"; +$fa-var-bookmark: "\f02e"; +$fa-var-print: "\f02f"; +$fa-var-camera: "\f030"; +$fa-var-font: "\f031"; +$fa-var-bold: "\f032"; +$fa-var-italic: "\f033"; +$fa-var-text-height: "\f034"; +$fa-var-text-width: "\f035"; +$fa-var-align-left: "\f036"; +$fa-var-align-center: "\f037"; +$fa-var-align-right: "\f038"; +$fa-var-align-justify: "\f039"; +$fa-var-list: "\f03a"; +$fa-var-outdent: "\f03b"; +$fa-var-indent: "\f03c"; +$fa-var-video-camera: "\f03d"; +$fa-var-picture-o: "\f03e"; +$fa-var-pencil: "\f040"; +$fa-var-map-marker: "\f041"; +$fa-var-adjust: "\f042"; +$fa-var-tint: "\f043"; +$fa-var-pencil-square-o: "\f044"; +$fa-var-share-square-o: "\f045"; +$fa-var-check-square-o: "\f046"; +$fa-var-arrows: "\f047"; +$fa-var-step-backward: "\f048"; +$fa-var-fast-backward: "\f049"; +$fa-var-backward: "\f04a"; +$fa-var-play: "\f04b"; +$fa-var-pause: "\f04c"; +$fa-var-stop: "\f04d"; +$fa-var-forward: "\f04e"; +$fa-var-fast-forward: "\f050"; +$fa-var-step-forward: "\f051"; +$fa-var-eject: "\f052"; +$fa-var-chevron-left: "\f053"; +$fa-var-chevron-right: "\f054"; +$fa-var-plus-circle: "\f055"; +$fa-var-minus-circle: "\f056"; +$fa-var-times-circle: "\f057"; +$fa-var-check-circle: "\f058"; +$fa-var-question-circle: "\f059"; +$fa-var-info-circle: "\f05a"; +$fa-var-crosshairs: "\f05b"; +$fa-var-times-circle-o: "\f05c"; +$fa-var-check-circle-o: "\f05d"; +$fa-var-ban: "\f05e"; +$fa-var-arrow-left: "\f060"; +$fa-var-arrow-right: "\f061"; +$fa-var-arrow-up: "\f062"; +$fa-var-arrow-down: "\f063"; +$fa-var-share: "\f064"; +$fa-var-expand: "\f065"; +$fa-var-compress: "\f066"; +$fa-var-plus: "\f067"; +$fa-var-minus: "\f068"; +$fa-var-asterisk: "\f069"; +$fa-var-exclamation-circle: "\f06a"; +$fa-var-gift: "\f06b"; +$fa-var-leaf: "\f06c"; +$fa-var-fire: "\f06d"; +$fa-var-eye: "\f06e"; +$fa-var-eye-slash: "\f070"; +$fa-var-exclamation-triangle: "\f071"; +$fa-var-plane: "\f072"; +$fa-var-calendar: "\f073"; +$fa-var-random: "\f074"; +$fa-var-comment: "\f075"; +$fa-var-magnet: "\f076"; +$fa-var-chevron-up: "\f077"; +$fa-var-chevron-down: "\f078"; +$fa-var-retweet: "\f079"; +$fa-var-shopping-cart: "\f07a"; +$fa-var-folder: "\f07b"; +$fa-var-folder-open: "\f07c"; +$fa-var-arrows-v: "\f07d"; +$fa-var-arrows-h: "\f07e"; +$fa-var-bar-chart-o: "\f080"; +$fa-var-twitter-square: "\f081"; +$fa-var-facebook-square: "\f082"; +$fa-var-camera-retro: "\f083"; +$fa-var-key: "\f084"; +$fa-var-cogs: "\f085"; +$fa-var-comments: "\f086"; +$fa-var-thumbs-o-up: "\f087"; +$fa-var-thumbs-o-down: "\f088"; +$fa-var-star-half: "\f089"; +$fa-var-heart-o: "\f08a"; +$fa-var-sign-out: "\f08b"; +$fa-var-linkedin-square: "\f08c"; +$fa-var-thumb-tack: "\f08d"; +$fa-var-external-link: "\f08e"; +$fa-var-sign-in: "\f090"; +$fa-var-trophy: "\f091"; +$fa-var-github-square: "\f092"; +$fa-var-upload: "\f093"; +$fa-var-lemon-o: "\f094"; +$fa-var-phone: "\f095"; +$fa-var-square-o: "\f096"; +$fa-var-bookmark-o: "\f097"; +$fa-var-phone-square: "\f098"; +$fa-var-twitter: "\f099"; +$fa-var-facebook: "\f09a"; +$fa-var-github: "\f09b"; +$fa-var-unlock: "\f09c"; +$fa-var-credit-card: "\f09d"; +$fa-var-rss: "\f09e"; +$fa-var-hdd-o: "\f0a0"; +$fa-var-bullhorn: "\f0a1"; +$fa-var-bell: "\f0f3"; +$fa-var-certificate: "\f0a3"; +$fa-var-hand-o-right: "\f0a4"; +$fa-var-hand-o-left: "\f0a5"; +$fa-var-hand-o-up: "\f0a6"; +$fa-var-hand-o-down: "\f0a7"; +$fa-var-arrow-circle-left: "\f0a8"; +$fa-var-arrow-circle-right: "\f0a9"; +$fa-var-arrow-circle-up: "\f0aa"; +$fa-var-arrow-circle-down: "\f0ab"; +$fa-var-globe: "\f0ac"; +$fa-var-wrench: "\f0ad"; +$fa-var-tasks: "\f0ae"; +$fa-var-filter: "\f0b0"; +$fa-var-briefcase: "\f0b1"; +$fa-var-arrows-alt: "\f0b2"; +$fa-var-users: "\f0c0"; +$fa-var-link: "\f0c1"; +$fa-var-cloud: "\f0c2"; +$fa-var-flask: "\f0c3"; +$fa-var-scissors: "\f0c4"; +$fa-var-files-o: "\f0c5"; +$fa-var-paperclip: "\f0c6"; +$fa-var-floppy-o: "\f0c7"; +$fa-var-square: "\f0c8"; +$fa-var-bars: "\f0c9"; +$fa-var-list-ul: "\f0ca"; +$fa-var-list-ol: "\f0cb"; +$fa-var-strikethrough: "\f0cc"; +$fa-var-underline: "\f0cd"; +$fa-var-table: "\f0ce"; +$fa-var-magic: "\f0d0"; +$fa-var-truck: "\f0d1"; +$fa-var-pinterest: "\f0d2"; +$fa-var-pinterest-square: "\f0d3"; +$fa-var-google-plus-square: "\f0d4"; +$fa-var-google-plus: "\f0d5"; +$fa-var-money: "\f0d6"; +$fa-var-caret-down: "\f0d7"; +$fa-var-caret-up: "\f0d8"; +$fa-var-caret-left: "\f0d9"; +$fa-var-caret-right: "\f0da"; +$fa-var-columns: "\f0db"; +$fa-var-sort: "\f0dc"; +$fa-var-sort-asc: "\f0dd"; +$fa-var-sort-desc: "\f0de"; +$fa-var-envelope: "\f0e0"; +$fa-var-linkedin: "\f0e1"; +$fa-var-undo: "\f0e2"; +$fa-var-gavel: "\f0e3"; +$fa-var-tachometer: "\f0e4"; +$fa-var-comment-o: "\f0e5"; +$fa-var-comments-o: "\f0e6"; +$fa-var-bolt: "\f0e7"; +$fa-var-sitemap: "\f0e8"; +$fa-var-umbrella: "\f0e9"; +$fa-var-clipboard: "\f0ea"; +$fa-var-lightbulb-o: "\f0eb"; +$fa-var-exchange: "\f0ec"; +$fa-var-cloud-download: "\f0ed"; +$fa-var-cloud-upload: "\f0ee"; +$fa-var-user-md: "\f0f0"; +$fa-var-stethoscope: "\f0f1"; +$fa-var-suitcase: "\f0f2"; +$fa-var-bell-o: "\f0a2"; +$fa-var-coffee: "\f0f4"; +$fa-var-cutlery: "\f0f5"; +$fa-var-file-text-o: "\f0f6"; +$fa-var-building-o: "\f0f7"; +$fa-var-hospital-o: "\f0f8"; +$fa-var-ambulance: "\f0f9"; +$fa-var-medkit: "\f0fa"; +$fa-var-fighter-jet: "\f0fb"; +$fa-var-beer: "\f0fc"; +$fa-var-h-square: "\f0fd"; +$fa-var-plus-square: "\f0fe"; +$fa-var-angle-double-left: "\f100"; +$fa-var-angle-double-right: "\f101"; +$fa-var-angle-double-up: "\f102"; +$fa-var-angle-double-down: "\f103"; +$fa-var-angle-left: "\f104"; +$fa-var-angle-right: "\f105"; +$fa-var-angle-up: "\f106"; +$fa-var-angle-down: "\f107"; +$fa-var-desktop: "\f108"; +$fa-var-laptop: "\f109"; +$fa-var-tablet: "\f10a"; +$fa-var-mobile: "\f10b"; +$fa-var-circle-o: "\f10c"; +$fa-var-quote-left: "\f10d"; +$fa-var-quote-right: "\f10e"; +$fa-var-spinner: "\f110"; +$fa-var-circle: "\f111"; +$fa-var-reply: "\f112"; +$fa-var-github-alt: "\f113"; +$fa-var-folder-o: "\f114"; +$fa-var-folder-open-o: "\f115"; +$fa-var-smile-o: "\f118"; +$fa-var-frown-o: "\f119"; +$fa-var-meh-o: "\f11a"; +$fa-var-gamepad: "\f11b"; +$fa-var-keyboard-o: "\f11c"; +$fa-var-flag-o: "\f11d"; +$fa-var-flag-checkered: "\f11e"; +$fa-var-terminal: "\f120"; +$fa-var-code: "\f121"; +$fa-var-reply-all: "\f122"; +$fa-var-mail-reply-all: "\f122"; +$fa-var-star-half-o: "\f123"; +$fa-var-location-arrow: "\f124"; +$fa-var-crop: "\f125"; +$fa-var-code-fork: "\f126"; +$fa-var-chain-broken: "\f127"; +$fa-var-question: "\f128"; +$fa-var-info: "\f129"; +$fa-var-exclamation: "\f12a"; +$fa-var-superscript: "\f12b"; +$fa-var-subscript: "\f12c"; +$fa-var-eraser: "\f12d"; +$fa-var-puzzle-piece: "\f12e"; +$fa-var-microphone: "\f130"; +$fa-var-microphone-slash: "\f131"; +$fa-var-shield: "\f132"; +$fa-var-calendar-o: "\f133"; +$fa-var-fire-extinguisher: "\f134"; +$fa-var-rocket: "\f135"; +$fa-var-maxcdn: "\f136"; +$fa-var-chevron-circle-left: "\f137"; +$fa-var-chevron-circle-right: "\f138"; +$fa-var-chevron-circle-up: "\f139"; +$fa-var-chevron-circle-down: "\f13a"; +$fa-var-html5: "\f13b"; +$fa-var-css3: "\f13c"; +$fa-var-anchor: "\f13d"; +$fa-var-unlock-alt: "\f13e"; +$fa-var-bullseye: "\f140"; +$fa-var-ellipsis-h: "\f141"; +$fa-var-ellipsis-v: "\f142"; +$fa-var-rss-square: "\f143"; +$fa-var-play-circle: "\f144"; +$fa-var-ticket: "\f145"; +$fa-var-minus-square: "\f146"; +$fa-var-minus-square-o: "\f147"; +$fa-var-level-up: "\f148"; +$fa-var-level-down: "\f149"; +$fa-var-check-square: "\f14a"; +$fa-var-pencil-square: "\f14b"; +$fa-var-external-link-square: "\f14c"; +$fa-var-share-square: "\f14d"; +$fa-var-compass: "\f14e"; +$fa-var-caret-square-o-down: "\f150"; +$fa-var-caret-square-o-up: "\f151"; +$fa-var-caret-square-o-right: "\f152"; +$fa-var-eur: "\f153"; +$fa-var-gbp: "\f154"; +$fa-var-usd: "\f155"; +$fa-var-inr: "\f156"; +$fa-var-jpy: "\f157"; +$fa-var-rub: "\f158"; +$fa-var-krw: "\f159"; +$fa-var-btc: "\f15a"; +$fa-var-file: "\f15b"; +$fa-var-file-text: "\f15c"; +$fa-var-sort-alpha-asc: "\f15d"; +$fa-var-sort-alpha-desc: "\f15e"; +$fa-var-sort-amount-asc: "\f160"; +$fa-var-sort-amount-desc: "\f161"; +$fa-var-sort-numeric-asc: "\f162"; +$fa-var-sort-numeric-desc: "\f163"; +$fa-var-thumbs-up: "\f164"; +$fa-var-thumbs-down: "\f165"; +$fa-var-youtube-square: "\f166"; +$fa-var-youtube: "\f167"; +$fa-var-xing: "\f168"; +$fa-var-xing-square: "\f169"; +$fa-var-youtube-play: "\f16a"; +$fa-var-dropbox: "\f16b"; +$fa-var-stack-overflow: "\f16c"; +$fa-var-instagram: "\f16d"; +$fa-var-flickr: "\f16e"; +$fa-var-adn: "\f170"; +$fa-var-bitbucket: "\f171"; +$fa-var-bitbucket-square: "\f172"; +$fa-var-tumblr: "\f173"; +$fa-var-tumblr-square: "\f174"; +$fa-var-long-arrow-down: "\f175"; +$fa-var-long-arrow-up: "\f176"; +$fa-var-long-arrow-left: "\f177"; +$fa-var-long-arrow-right: "\f178"; +$fa-var-apple: "\f179"; +$fa-var-windows: "\f17a"; +$fa-var-android: "\f17b"; +$fa-var-linux: "\f17c"; +$fa-var-dribbble: "\f17d"; +$fa-var-skype: "\f17e"; +$fa-var-foursquare: "\f180"; +$fa-var-trello: "\f181"; +$fa-var-female: "\f182"; +$fa-var-male: "\f183"; +$fa-var-gittip: "\f184"; +$fa-var-sun-o: "\f185"; +$fa-var-moon-o: "\f186"; +$fa-var-archive: "\f187"; +$fa-var-bug: "\f188"; +$fa-var-vk: "\f189"; +$fa-var-weibo: "\f18a"; +$fa-var-renren: "\f18b"; +$fa-var-pagelines: "\f18c"; +$fa-var-stack-exchange: "\f18d"; +$fa-var-arrow-circle-o-right: "\f18e"; +$fa-var-arrow-circle-o-left: "\f190"; +$fa-var-caret-square-o-left: "\f191"; +$fa-var-dot-circle-o: "\f192"; +$fa-var-wheelchair: "\f193"; +$fa-var-vimeo-square: "\f194"; +$fa-var-try: "\f195"; +$fa-var-plus-square-o: "\f196"; + diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/font-awesome.scss b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/font-awesome.scss new file mode 100644 index 0000000000..96d2f22254 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/font-awesome/scss/font-awesome.scss @@ -0,0 +1,17 @@ +/*! + * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@import "variables"; +@import "mixins"; +@import "path"; +@import "core"; +@import "larger"; +@import "fixed-width"; +@import "list"; +@import "bordered-pulled"; +@import "spinning"; +@import "rotated-flipped"; +@import "stacked"; +@import "icons"; diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/animation.css b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/animation.css new file mode 100644 index 0000000000..ac5a9562fb --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/animation.css @@ -0,0 +1,85 @@ +/* + Animation example, for spinners +*/ +.animate-spin { + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + -webkit-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; + display: inline-block; +} +@-moz-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@-webkit-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@-o-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@-ms-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/fontello-codes.css b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/fontello-codes.css new file mode 100644 index 0000000000..037e7a9fae --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/fontello-codes.css @@ -0,0 +1,17 @@ + +.icon-mail-1:before { content: '\e807'; } /* '' */ +.icon-up-circle:before { content: '\e80c'; } /* '' */ +.icon-down-circle-1:before { content: '\e80d'; } /* '' */ +.icon-left-circle-1:before { content: '\e80e'; } /* '' */ +.icon-right-circle-1:before { content: '\e80f'; } /* '' */ +.icon-up-circle-1:before { content: '\e810'; } /* '' */ +.icon-mail-2:before { content: '\e805'; } /* '' */ +.icon-mail:before { content: '\e806'; } /* '' */ +.icon-plus:before { content: '\e808'; } /* '' */ +.icon-left-open:before { content: '\e801'; } /* '' */ +.icon-right-open:before { content: '\e802'; } /* '' */ +.icon-up-open:before { content: '\e803'; } /* '' */ +.icon-down-circle:before { content: '\e809'; } /* '' */ +.icon-left-circle:before { content: '\e80a'; } /* '' */ +.icon-right-circle:before { content: '\e80b'; } /* '' */ +.icon-down-open:before { content: '\e800'; } /* '' */ \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/fontello-embedded.css b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/fontello-embedded.css new file mode 100644 index 0000000000..b72812a4f4 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/fontello-embedded.css @@ -0,0 +1,70 @@ +@font-face { + font-family: 'fontello'; + src: url('../font/fontello.eot?74200426'); + src: url('../font/fontello.eot?74200426#iefix') format('embedded-opentype'), + url('../font/fontello.svg?74200426#fontello') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'fontello'; + src: url('data:application/octet-stream;base64,d09GRgABAAAAAA2AAA4AAAAAF0QAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPilJPWNtYXAAAAGIAAAAPQAAAVLoGencY3Z0IAAAAcgAAAAUAAAAHAbX/wRmcGdtAAAB3AAABPkAAAmRigp4O2dhc3AAAAbYAAAACAAAAAgAAAAQZ2x5ZgAABuAAAAOQAAAF/Ad9QUNoZWFkAAAKcAAAADQAAAA2AZAy5GhoZWEAAAqkAAAAHQAAACQHlgNkaG10eAAACsQAAAAfAAAARD2GAABsb2NhAAAK5AAAACQAAAAkCjQLtm1heHAAAAsIAAAAIAAAACAA2wnBbmFtZQAACygAAAF3AAACzcydGhxwb3N0AAAMoAAAAIUAAADr+JuT5nByZXAAAA0oAAAAVgAAAFaSoZr/eJxjYGSexziBgZWBg6mKaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOLxgeCHAHPQ/iyGKOYhhOlCYESQHAPYBC+R4nGNgYGBmgGAZBkYGEPAB8hjBfBYGAyDNAYRMIIkXzC8E/v8HsxhesIJYEowSDFBdYMDIxjDiAQDhZgjDAAAAeJxjYEADRgxGzEH/M0EYABHKA994nJ1V2XbTVhSVPGRwEjpkoKAO19w4UOvKhCkYMGkqxXYhHRwIrQQdpAx05J3HPutrjkK7Vh/5tO59PSS0dK22LJbPvkdbZ9g650YcIyp9Gohr1KGSlwOprD2WSvdJXNd1L4+VDAZxXbYST0mbqJ0kSmrd7FAu8VjrKlknWCfj5SBWT1WeZ6AM4hQeZUlEG0QbqZcmSeKJ4yeJFmcQHyVJICWjEKfSyFBCNRrEUtWhTOnQq9cTcdNAykajHnVYVPdDxSfHNafUrANGKlc5whXr1Ua+G6cDL3uQxDrBs62HMR54rH6UKpCKkenIP3ZKTpSGgVRx1KFW4ugwk1/3kUwqzUCmjGJFpe6BuN39dNsWMT10Or4uSpVGqrq5ziia7dHxqIMoD9nG6aTc0Nn28OUZU1SrXXGz7UBmDVxKyWx0n0QAHSZS4+kBTjWcAqkZ9UfF2efPARLJXJSqPFUyh3oDmTM7e3Ex7W4nq7JwpJ8HMm92duOdh0OnV4d/0foXTOHMR4/iYn4+QvpQan4iTiSlRljM8qeGH3FXIEK5MYgLF8rgU4Q5dEXa2WZd47Ux9obP+UqpYT0J2uij+H4K/U4kKxxnUaP1SJzNY9d1rdxnUEu1uxc7Mq9DlSLu7wsLrjPnhGGeFgtVX5753gU0/waIZ/xA3jSFS/uWKUq0b5uiTLtoigrtElSlXTbFFO2KKaZpz5pihvYdU8zSnjMy4//L3OeR+xze8ZCb9l3kpn0PuWnfR27aD5CbViE3bR25aS8gN61GbtpVozp2BBoGaRdSFUHQNLL6YdxWm/VA1ow0fGlg8i5iyPrqREedtbXKH8V/deILB3Jpoqe7Iheb4i6v2xY+PN3uq4+aRt2w1fjGkfIwHkZ6HJrQWfnN4b/tTd0umu4yqjLoARVMCsAAZe1AAtM62wmk9Zqn+PIHYFyGeM5KQ7VUnzuGpu/leV/3sTnxvsftxi63XHd5CVnWDXJj9vDfUmSq6x/lLa1UJ0esKyePVWsYQyq8KLq+kpR7tLUbvyipsvJelNbK55OQmz2DG0Jbtu5hsCNMacolHl5TpSg91FKOskMsbynKPOCUiwtahsS4DnUPamvE6aF6GBsLIYahtL0QcEgpXRXftMp38R6ra9jo+MUV4el6chIRn+Iq+1HwVNdG/egO2rxm3TKDKVWqp/uMT7Gv2/ZRWWmkjrMXt1QH1zTrGjkV00/ka+B0bzho3QM9VHw0QSNVNcfoxihjNJY15d8EdDFWfsNo1WL7PdxPnaRVrLlLmOybE/fgtLv9Kvu1nFtG1v3XBr1t5IqfIzG/LQr8Owdit2QN1DuTgRgLyFnQGMYWJncYroNtxG32Pyan/9+GhUVyVzsau3nqw9WTUSV32fK4y012WdejNkfVThr7CI0tDzfm2OFyLLbEYEG2/sH/Me4Bd2lRAuDQyGWYiNp0oZ7q4eoeq7FtOFcSAXbNseN0AHoALkHfHLvW8wmA9dwj5y7AfXIIdsgh+JQcgs/IuQXwOTkEX5BDMCCHYJecOwAPyCF4SA7BHjkEj8jZBPiSHIKvyCGIySFIyLkN8JgcgifkEHxNDsE3Rq5OZP6WB9kA+s6im0CpnRoc2jhkRq5N2Ps8WPaBRWQfWkTqkZHrE+pTHiz1e4tI/cEiUn80cmNC/YkHS/3ZIlJ/sYjUZ8aXmSMprw6e844O/gSX6q1eAAAAAAEAAf//AA94nKWU32tbZRjHn+/7nh85yVnTk/QQEeKahZpBZLrFQwTBhZoSQUKtE6EXdlV64YobY4p34oWjjsFsYak34roIKgiTloGu/voTBptXXphsDEuKXoi/KCV94/O+sdPGyx44nDfPed7n832+53lDIL5kR3xEDjnXbeBwMSh7yKDQwCxmG8pviKGGauKkXhJxfm9eXJDPk8v5jjD5yHhw0dDpJvEqZpbNU13l4H/2aIYjeU/ogXcBsyaDS4s+rbmsfNqrydKMiNNdj/Mb+MPU/byvDSdVkyyT/6ZY5pVLcTpAD1fyB/xE3Iu5luQAMK6Los4rmtJNTKQDERQ95FhEDuWxIBfYogrR/RnyXXVebKnzXwHdi5A4pv5E7G38pN6PflMWur9rXu8e6/vB8HxK0qOVR5JDTIy5ji0F/AGigEYSxT3eYclkMUSmjLEgU4hyIY4jQHV1FdXuA0rJjvL/Ulm8ODenPjuHK5d/uXRJ3Tt6Wb1CJEyfi+IaV/HoUOWg59gWyOHq46RBdX6PKWZhYiTF/WFM19fN4Xt1XL6lqvim+w7O3D59Wl2/rZ7FF+bbrMhFmaUEFSuHWR2sumMLqTVLmibL0hUtsHxOSQT6ckeKCHNBPshFuaAUyEW11lZrmGzjZlut4rk2JtWa0ds7JTtyij1KUbbyYCoYZpucvjuIP21KVsO0ljoyhNEjGH4Kow8B5YJbcGVnYUP9urGwsIHhjQXld2rNZg0vXdiN8NvvNnVM27IfVvl/rCd12c29rCUd6+yX5WYGWDs/buomBlgd3ey+WLZmlQf6ulbThfeyappvOFd4DkYpxvNcqjwWBwmM25YQkqSgV5lziidCYpKxLEdCTniel/SSwUg65aSZzmOZ4tvOlPNRPuSp2FZLakvw8LwBsTPXbn18FjM31LZAHK/Bd3r0bat1965hr8gledCwn6hEHh+7OIRMsAapDxJPo5zWeaJOQtAJnnpBNZA+dLZFMcTsZNE+RMNGgnQzUSnK49a62oaDc7CE2lrXqJcRwxnELaXUxR6JD9qtT872Pf6Qe8/t8hMQFIcU/Icj5TjDWAaJae4Zsk7swQl2AoN8HPuHny4XwnxYwq0bcO578LXmyyz/fk91LfiYx9DOzB0tYJefNfyjlSPcuznSgubNBxDz/6Jf0Ohn9jiffpxGDXqs4JbCUpRix1+/j1650/qUfV83gT77S2P730pwc/54nGNgZGBgAGLjDOXd8fw2Xxm4mV8ARRjOu0w+BKGjmxgY/mcyv2AOAnI5GJhAogA2igsbeJxjYGRgYA76n8UQxfyCAQiAJCMDKhAEAGaDBAIAAAB4nGN+wcDADMRMHRAMYjOXQekFUPwCDS9AxQDDpQy4AAAAAAAAGAAyAEoAYgCaANYBAAEuAWQBmgHQAgQCQgKCAsIC/gABAAAAEQATAAQAAAAAAAIADgAbAG4AAABJCZEAAAAAeJx1kMtqwkAUhv/x0otCW1rotrMqSmm8YDeCIFh0026kuC0xxiQSMzIZBV+j79CH6Uv0WfqbjKUoTZjMd745c+ZkAFzjGwL588SRs8AZo5wLOEXPcpH+2XKJ/GK5jCreLJ/Qv1uu4AGB5Spu8MEKonTOaIFPywJX4tJyARfiznKR/tFyidyzXMateLV8Qu9ZrmAiUstV3IuvgVptdRSERtYGddlutjpyupWKKkrcWLprEyqdyr6cq8T4cawcTy33PPaDdezqfbifJ75OI5XIltPcq5Gf+No1/mxXPd0EbWPmcq7VUg5thlxptfA944TGrLqNxt/zMIDCCltoRLyqEAYSNdo65zaaaKFDmjJDMjPPipDARUzjYs0dYbaSMu5zzBkltD4zYrIDj9/lkR+TAu6PWUUfrR7GE9LujCjzkn057O4wa0RKskw3s7Pf3lNseFqb1nDXrkuddSUxPKgheR+7tQWNR+9kt2Jou2jw/ef/fgDdX4RLAHicbYzBDoIwEER3sIJtKcqH7KH+kcGqJBUalPj7ajcxPTiXeZvsG6pIYuh/eiJU2EBhixoNdtAwsGjh0GGPA3p9nl8TzylMOobLM5NZxutNsFlT7vp+GiMf1beEvUpxfdisD+MyxGDzgHArE3Loz4iQK97Zu0Jg35UKe/uT2BO9AZhLOeMAAABLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLIEKAlFUkSyCgIHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAAA') format('woff'), + url('data:application/octet-stream;base64,AAEAAAAOAIAAAwBgT1MvMj4pST0AAADsAAAAVmNtYXDoGencAAABRAAAAVJjdnQgBtf/BAAADTwAAAAcZnBnbYoKeDsAAA1YAAAJkWdhc3AAAAAQAAANNAAAAAhnbHlmB31BQwAAApgAAAX8aGVhZAGQMuQAAAiUAAAANmhoZWEHlgNkAAAIzAAAACRobXR4PYYAAAAACPAAAABEbG9jYQo0C7YAAAk0AAAAJG1heHAA2wnBAAAJWAAAACBuYW1lzJ0aHAAACXgAAALNcG9zdPibk+YAAAxIAAAA63ByZXCSoZr/AAAW7AAAAFYAAQOeAZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoEANS/2oAWgNSAJcAAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEwAAwABAAAAHAAEADAAAAAIAAgAAgAAAADoA+gQ//8AAAAA6ADoBf//AAAYARgAAAEAAAAAAAAAAAAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAPoAqIABgAGswUBASgrETcJARcBJ5QBYAFglP4MlAIOlP6hAV+U/gyUAAABAAD/agKIA1IABwAGswYCASgrETcBFwkBBwGUAWCU/qEBX5T+oAFelQFflP6g/qCUAWAAAQAA/2oCiANSAAYABrMGAwEoKxUJATcBFwEBYP6glAFglP4MAgFgAWCU/qGV/gwAAQAAAAAD6AKiAAYABrMEAgEoKzUBNwEHCQEBYJQB9JT+oP6grgFglP4MlAFf/qEABAAAAAADdgKVAAQABwAKAA0AJkAjDQwLCgkIBwQDAAoAAQFCAAEAAAFNAAEBAFEAAAEARRMRAhErCQEhARcBIQE3JREhEQUCRAEC/OsBA4f+hAL4/oS6AQH8igEDATL+9QEIfwHl/pY18v4EAfzzAAQAAP/jA+gC2QAEAAcADAAPAC9ALA8ODQwLCAcGBQMCAQwAAQFCAAEAAAFNAAEBAFECAQABAEUAAAoJAAQABAMPKxUBFzcBJREXJzUhFQE/AREBRLCwAUT8GP7+A+j+DPb+HQFWZGT+qnIBnpPsjY3+4zGT/mIAAAIAAAAAA48CrQAEAAkAIkAfCQYFBAEABgEAAUIAAAEBAE0AAAABUQABAAFFFBICESsBJTUhFQElESERAdP+PwN9/kQBvPyDAW7SbW3+s9L+SwG2AAEAAP+fA48DHQALACtAKAAEAwEETQYFAgMCAQABAwBZAAQEAVEAAQQBRQAAAAsACxERERERBxQrARUhESMRITUhETMRA4/+sd/+sQFP3wHO3/6wAVDfAU/+sQAAAgAA/2kD6ANRAAwAEgAdQBoSERAPDg0GAAEBQgABAQpDAAAACwBEFRMCESsBFA4BIC4BED4BIB4BATcnBycHA+iG5v7w5oaG5gEQ5ob+DOhHoaFHAV2I5oaG5gEQ5oaG5v6+6UehoUcAAAAAAgAA/2kD6ANRAAwAEgAdQBoSERAPDg0GAAEBQgABAQpDAAAACwBEFRMCESsBFA4BIC4BED4BIB4BATcnNycHA+iG5v7w5oaG5gEQ5ob+O0ehoUfpAV2I5oaG5gEQ5oaG5v6QR6GhR+gAAAAAAgAA/2kD6ANRAAwAEgAdQBoSERAPDg0GAAEBQgABAQpDAAAACwBEFRMCESsBFA4BIC4BED4BIB4BATcnBxcHA+iG5v7w5oaG5gEQ5ob93enpR6GhAV2I5oaG5gEQ5oaG5v6Q6OhHoaEAAAAAAgAA/2kD6ANRAAwAEgAdQBoSERAPDg0GAAEBQgABAQpDAAAACwBEFRMCESsBFA4BIC4BED4BIB4BBTcnBxc3A+iG5v7w5oaG5gEQ5ob+rUfo6EehAV2I5oaG5gEQ5oaG5v5H6elHoQACAAD/ngOPAyAACAAPADNAMAoBAAIBQgUEAgIDAAMCAGgAAABpAAEDAwFPAAEBA1EAAwEDRQkJCQ8JDxEUExIGEysBFAAEABIABAAFFzcjNSMVA4/++v6Q/vgCAQQBdAEC/WTf3qVwAV64/voCAQoBbAEMBv8Avd7e4eEAAgAA/58DkAMfAAgADwA4QDUJAQMBCgECAwsBAAIDQgABAAMCAQNZAAIAAAJNAAICAFMEAQACAEcBAA8ODQwFBAAIAQgFDysFIgAQAAQAEgADBxc1MzUjAdG5/voBBgFyAQQC/vi53t7h4WEBCAFuAQoE/v7+iv8AApvf3qZwAAACAAD/nQOPAyEACAAPADhANQsBAgAKAQMCCQEBAwNCBAEAAAIDAAJZAAMBAQNNAAMDAVMAAQMBRwEADw4NDAUEAAgBCAUPKwEyABAABAASABM3JxUjFTMB0bgBBv76/pD++AIBBLve3uHhAx3++v6O/vwEAQwBagEO/V7g3qZwAAIAAP+dA48DHQAIAA8AMUAuCgECAAFCAAACAGoFBAICAwJqAAMBAQNNAAMDAVQAAQMBSAkJCQ8JDxEUExIGEysTNAAgABAABAAlJwczFTM1EgEEAXMBBv76/pD++AKf4N6ncAFeuQEG/vr+jv78BAEMt97e4eEAAAEAAAABAAAzaCO7Xw889QALA+gAAAAAz0STwgAAAADPRFuCAAD/aQPoA1IAAAAIAAIAAAAAAAAAAQAAA1L/agBaA+gAAAAAA+gAAQAAAAAAAAAAAAAAAAAAABED6AAAA+gAAAKIAAACiAAAA+gAAAN2AAAD6AAAA6AAAAOgAAAD6AAAA+gAAAPoAAAD6AAAA6AAAAOgAAADoAAAA6AAAAAAAAAAGAAyAEoAYgCaANYBAAEuAWQBmgHQAgQCQgKCAsIC/gABAAAAEQATAAQAAAAAAAIADgAbAG4AAABJCZEAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEACAA1AAEAAAAAAAIABwA9AAEAAAAAAAMACABEAAEAAAAAAAQACABMAAEAAAAAAAUACwBUAAEAAAAAAAYACABfAAEAAAAAAAoAKwBnAAEAAAAAAAsAEwCSAAMAAQQJAAAAagClAAMAAQQJAAEAEAEPAAMAAQQJAAIADgEfAAMAAQQJAAMAEAEtAAMAAQQJAAQAEAE9AAMAAQQJAAUAFgFNAAMAAQQJAAYAEAFjAAMAAQQJAAoAVgFzAAMAAQQJAAsAJgHJQ29weXJpZ2h0IChDKSAyMDE0IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21mb250ZWxsb1JlZ3VsYXJmb250ZWxsb2ZvbnRlbGxvVmVyc2lvbiAxLjBmb250ZWxsb0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABDACkAIAAyADAAMQA0ACAAYgB5ACAAbwByAGkAZwBpAG4AYQBsACAAYQB1AHQAaABvAHIAcwAgAEAAIABmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQBmAG8AbgB0AGUAbABsAG8AUgBlAGcAdQBsAGEAcgBmAG8AbgB0AGUAbABsAG8AZgBvAG4AdABlAGwAbABvAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAG8AbgB0AGUAbABsAG8ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREJZG93bi1vcGVuCWxlZnQtb3BlbgpyaWdodC1vcGVuB3VwLW9wZW4GbWFpbC0yBG1haWwGbWFpbC0xBHBsdXMLZG93bi1jaXJjbGULbGVmdC1jaXJjbGUMcmlnaHQtY2lyY2xlCXVwLWNpcmNsZQ1kb3duLWNpcmNsZS0xDWxlZnQtY2lyY2xlLTEOcmlnaHQtY2lyY2xlLTELdXAtY2lyY2xlLTEAAAAAAQAB//8ADwAAAAAAAAAAAAAAAAAAAAAAMgAyA1L/aQNS/2mwACywIGBmLbABLCBkILDAULAEJlqwBEVbWCEjIRuKWCCwUFBYIbBAWRsgsDhQWCGwOFlZILAKRWFksChQWCGwCkUgsDBQWCGwMFkbILDAUFggZiCKimEgsApQWGAbILAgUFghsApgGyCwNlBYIbA2YBtgWVlZG7AAK1lZI7AAUFhlWVktsAIsIEUgsAQlYWQgsAVDUFiwBSNCsAYjQhshIVmwAWAtsAMsIyEjISBksQViQiCwBiNCsgoAAiohILAGQyCKIIqwACuxMAUlilFYYFAbYVJZWCNZISCwQFNYsAArGyGwQFkjsABQWGVZLbAELLAHQyuyAAIAQ2BCLbAFLLAHI0IjILAAI0JhsIBisAFgsAQqLbAGLCAgRSCwAkVjsAFFYmBEsAFgLbAHLCAgRSCwACsjsQIEJWAgRYojYSBkILAgUFghsAAbsDBQWLAgG7BAWVkjsABQWGVZsAMlI2FERLABYC2wCCyxBQVFsAFhRC2wCSywAWAgILAJQ0qwAFBYILAJI0JZsApDSrAAUlggsAojQlktsAosILgEAGIguAQAY4ojYbALQ2AgimAgsAsjQiMtsAssS1RYsQcBRFkksA1lI3gtsAwsS1FYS1NYsQcBRFkbIVkksBNlI3gtsA0ssQAMQ1VYsQwMQ7ABYUKwCitZsABDsAIlQrEJAiVCsQoCJUKwARYjILADJVBYsQEAQ2CwBCVCioogiiNhsAkqISOwAWEgiiNhsAkqIRuxAQBDYLACJUKwAiVhsAkqIVmwCUNHsApDR2CwgGIgsAJFY7ABRWJgsQAAEyNEsAFDsAA+sgEBAUNgQi2wDiyxAAVFVFgAsAwjQiBgsAFhtQ0NAQALAEJCimCxDQUrsG0rGyJZLbAPLLEADistsBAssQEOKy2wESyxAg4rLbASLLEDDistsBMssQQOKy2wFCyxBQ4rLbAVLLEGDistsBYssQcOKy2wFyyxCA4rLbAYLLEJDistsBkssAgrsQAFRVRYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wGiyxABkrLbAbLLEBGSstsBwssQIZKy2wHSyxAxkrLbAeLLEEGSstsB8ssQUZKy2wICyxBhkrLbAhLLEHGSstsCIssQgZKy2wIyyxCRkrLbAkLCA8sAFgLbAlLCBgsA1gIEMjsAFgQ7ACJWGwAWCwJCohLbAmLLAlK7AlKi2wJywgIEcgILACRWOwAUViYCNhOCMgilVYIEcgILACRWOwAUViYCNhOBshWS2wKCyxAAVFVFgAsAEWsCcqsAEVMBsiWS2wKSywCCuxAAVFVFgAsAEWsCcqsAEVMBsiWS2wKiwgNbABYC2wKywAsANFY7ABRWKwACuwAkVjsAFFYrAAK7AAFrQAAAAAAEQ+IzixKgEVKi2wLCwgPCBHILACRWOwAUViYLAAQ2E4LbAtLC4XPC2wLiwgPCBHILACRWOwAUViYLAAQ2GwAUNjOC2wLyyxAgAWJSAuIEewACNCsAIlSYqKRyNHI2EgWGIbIVmwASNCsi4BARUUKi2wMCywABawBCWwBCVHI0cjYbAGRStlii4jICA8ijgtsDEssAAWsAQlsAQlIC5HI0cjYSCwBCNCsAZFKyCwYFBYILBAUVizAiADIBuzAiYDGllCQiMgsAhDIIojRyNHI2EjRmCwBEOwgGJgILAAKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwgGJhIyAgsAQmI0ZhOBsjsAhDRrACJbAIQ0cjRyNhYCCwBEOwgGJgIyCwACsjsARDYLAAK7AFJWGwBSWwgGKwBCZhILAEJWBkI7ADJWBkUFghGyMhWSMgILAEJiNGYThZLbAyLLAAFiAgILAFJiAuRyNHI2EjPDgtsDMssAAWILAII0IgICBGI0ewACsjYTgtsDQssAAWsAMlsAIlRyNHI2GwAFRYLiA8IyEbsAIlsAIlRyNHI2EgsAUlsAQlRyNHI2GwBiWwBSVJsAIlYbABRWMjIFhiGyFZY7ABRWJgIy4jICA8ijgjIVktsDUssAAWILAIQyAuRyNHI2EgYLAgYGawgGIjICA8ijgtsDYsIyAuRrACJUZSWCA8WS6xJgEUKy2wNywjIC5GsAIlRlBYIDxZLrEmARQrLbA4LCMgLkawAiVGUlggPFkjIC5GsAIlRlBYIDxZLrEmARQrLbA5LLAwKyMgLkawAiVGUlggPFkusSYBFCstsDossDEriiAgPLAEI0KKOCMgLkawAiVGUlggPFkusSYBFCuwBEMusCYrLbA7LLAAFrAEJbAEJiAuRyNHI2GwBkUrIyA8IC4jOLEmARQrLbA8LLEIBCVCsAAWsAQlsAQlIC5HI0cjYSCwBCNCsAZFKyCwYFBYILBAUVizAiADIBuzAiYDGllCQiMgR7AEQ7CAYmAgsAArIIqKYSCwAkNgZCOwA0NhZFBYsAJDYRuwA0NgWbADJbCAYmGwAiVGYTgjIDwjOBshICBGI0ewACsjYTghWbEmARQrLbA9LLAwKy6xJgEUKy2wPiywMSshIyAgPLAEI0IjOLEmARQrsARDLrAmKy2wPyywABUgR7AAI0KyAAEBFRQTLrAsKi2wQCywABUgR7AAI0KyAAEBFRQTLrAsKi2wQSyxAAEUE7AtKi2wQiywLyotsEMssAAWRSMgLiBGiiNhOLEmARQrLbBELLAII0KwQystsEUssgAAPCstsEYssgABPCstsEcssgEAPCstsEgssgEBPCstsEkssgAAPSstsEossgABPSstsEsssgEAPSstsEwssgEBPSstsE0ssgAAOSstsE4ssgABOSstsE8ssgEAOSstsFAssgEBOSstsFEssgAAOystsFIssgABOystsFMssgEAOystsFQssgEBOystsFUssgAAPistsFYssgABPistsFcssgEAPistsFgssgEBPistsFkssgAAOistsFossgABOistsFsssgEAOistsFwssgEBOistsF0ssDIrLrEmARQrLbBeLLAyK7A2Ky2wXyywMiuwNystsGAssAAWsDIrsDgrLbBhLLAzKy6xJgEUKy2wYiywMyuwNistsGMssDMrsDcrLbBkLLAzK7A4Ky2wZSywNCsusSYBFCstsGYssDQrsDYrLbBnLLA0K7A3Ky2waCywNCuwOCstsGkssDUrLrEmARQrLbBqLLA1K7A2Ky2wayywNSuwNystsGwssDUrsDgrLbBtLCuwCGWwAyRQeLABFTAtAAAAS7gAyFJYsQEBjlm5CAAIAGMgsAEjRLADI3CyBCgJRVJEsgoCByqxBgFEsSQBiFFYsECIWLEGA0SxJgGIUVi4BACIWLEGAURZWVlZuAH/hbAEjbEFAEQAAA==') format('truetype'); +} +/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ +/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ +/* +@media screen and (-webkit-min-device-pixel-ratio:0) { + @font-face { + font-family: 'fontello'; + src: url('../font/fontello.svg?74200426#fontello') format('svg'); + } +} +*/ + + [class^="icon-"]:before, [class*=" icon-"]:before { + font-family: "fontello"; + font-style: normal; + font-weight: normal; + speak: none; + + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + /* opacity: .8; */ + + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + + /* fix buttons height, for twitter bootstrap */ + line-height: 1em; + + /* Animation center compensation - margins should be symmetric */ + /* remove if not needed */ + margin-left: .2em; + + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ + + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ +} +.icon-mail-1:before { content: '\e807'; } /* '' */ +.icon-up-circle:before { content: '\e80c'; } /* '' */ +.icon-down-circle-1:before { content: '\e80d'; } /* '' */ +.icon-left-circle-1:before { content: '\e80e'; } /* '' */ +.icon-right-circle-1:before { content: '\e80f'; } /* '' */ +.icon-up-circle-1:before { content: '\e810'; } /* '' */ +.icon-mail-2:before { content: '\e805'; } /* '' */ +.icon-mail:before { content: '\e806'; } /* '' */ +.icon-plus:before { content: '\e808'; } /* '' */ +.icon-left-open:before { content: '\e801'; } /* '' */ +.icon-right-open:before { content: '\e802'; } /* '' */ +.icon-up-open:before { content: '\e803'; } /* '' */ +.icon-down-circle:before { content: '\e809'; } /* '' */ +.icon-left-circle:before { content: '\e80a'; } /* '' */ +.icon-right-circle:before { content: '\e80b'; } /* '' */ +.icon-down-open:before { content: '\e800'; } /* '' */ \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/fontello-ie7-codes.css b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/fontello-ie7-codes.css new file mode 100644 index 0000000000..71928eadfa --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/fontello-ie7-codes.css @@ -0,0 +1,17 @@ + +.icon-mail-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-up-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-down-circle-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-left-circle-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-right-circle-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-up-circle-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-mail-2 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-mail { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-plus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-left-open { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-right-open { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-up-open { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-down-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-left-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-right-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-down-open { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/fontello-ie7.css b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/fontello-ie7.css new file mode 100644 index 0000000000..b59bb24464 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/fontello-ie7.css @@ -0,0 +1,28 @@ +[class^="icon-"], [class*=" icon-"] { + font-family: 'fontello'; + font-style: normal; + font-weight: normal; + + /* fix buttons height */ + line-height: 1em; + + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ +} + +.icon-mail-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-up-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-down-circle-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-left-circle-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-right-circle-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-up-circle-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-mail-2 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-mail { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-plus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-left-open { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-right-open { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-up-open { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-down-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-left-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-right-circle { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-down-open { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/fontello.css b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/fontello.css new file mode 100644 index 0000000000..9477514c1e --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/css/fontello.css @@ -0,0 +1,68 @@ +@font-face { + font-family: 'fontello'; + src: url('../font/fontello.eot?13439518'); + src: url('../font/fontello.eot?13439518#iefix') format('embedded-opentype'), + url('../font/fontello.woff?13439518') format('woff'), + url('../font/fontello.ttf?13439518') format('truetype'), + url('../font/fontello.svg?13439518#fontello') format('svg'); + font-weight: normal; + font-style: normal; +} +/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ +/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ +/* +@media screen and (-webkit-min-device-pixel-ratio:0) { + @font-face { + font-family: 'fontello'; + src: url('../font/fontello.svg?13439518#fontello') format('svg'); + } +} +*/ + + [class^="icon-"]:before, [class*=" icon-"]:before { + font-family: "fontello"; + font-style: normal; + font-weight: normal; + speak: none; + + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + /* opacity: .8; */ + + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + + /* fix buttons height, for twitter bootstrap */ + line-height: 1em; + + /* Animation center compensation - margins should be symmetric */ + /* remove if not needed */ + margin-left: .2em; + + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ + + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ +} + +.icon-mail-1:before { content: '\e807'; } /* '' */ +.icon-up-circle:before { content: '\e80c'; } /* '' */ +.icon-down-circle-1:before { content: '\e80d'; } /* '' */ +.icon-left-circle-1:before { content: '\e80e'; } /* '' */ +.icon-right-circle-1:before { content: '\e80f'; } /* '' */ +.icon-up-circle-1:before { content: '\e810'; } /* '' */ +.icon-mail-2:before { content: '\e805'; } /* '' */ +.icon-mail:before { content: '\e806'; } /* '' */ +.icon-plus:before { content: '\e808'; } /* '' */ +.icon-left-open:before { content: '\e801'; } /* '' */ +.icon-right-open:before { content: '\e802'; } /* '' */ +.icon-up-open:before { content: '\e803'; } /* '' */ +.icon-down-circle:before { content: '\e809'; } /* '' */ +.icon-left-circle:before { content: '\e80a'; } /* '' */ +.icon-right-circle:before { content: '\e80b'; } /* '' */ +.icon-down-open:before { content: '\e800'; } /* '' */ \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/font/fontello.eot b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/font/fontello.eot new file mode 100644 index 0000000000..26c486d77f Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/font/fontello.eot differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/font/fontello.svg b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/font/fontello.svg new file mode 100644 index 0000000000..81f14ea2ae --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/font/fontello.svg @@ -0,0 +1,27 @@ + + + +Copyright (C) 2014 by original authors @ fontello.com + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/font/fontello.ttf b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/font/fontello.ttf new file mode 100644 index 0000000000..aa588a4c83 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/font/fontello.ttf differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/font/fontello.woff b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/font/fontello.woff new file mode 100644 index 0000000000..73c14843fd Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fontello/font/fontello.woff differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts.css b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts.css new file mode 100644 index 0000000000..874c4f0fda --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts.css @@ -0,0 +1,157 @@ +/* Generated by Font Squirrel (http://www.fontsquirrel.com) */ + +/* + * Open Sans +================================================================================ */ +@font-face { + font-family: 'opensans-regular'; + src: url('fonts/opensans/OpenSans-Regular-webfont.eot'); + src: url('fonts/opensans/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), + url('fonts/opensans/OpenSans-Regular-webfont.woff') format('woff'), + url('fonts/opensans/OpenSans-Regular-webfont.ttf') format('truetype'), + url('fonts/opensans/OpenSans-Regular-webfont.svg#open_sansregular') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'opensans-italic'; + src: url('fonts/opensans/OpenSans-Italic-webfont.eot'); + src: url('fonts/opensans/OpenSans-Italic-webfont.eot?#iefix') format('embedded-opentype'), + url('fonts/opensans/OpenSans-Italic-webfont.woff') format('woff'), + url('fonts/opensans/OpenSans-Italic-webfont.ttf') format('truetype'), + url('fonts/opensans/OpenSans-Italic-webfont.svg#open_sansitalic') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'opensans-light'; + src: url('fonts/opensans/OpenSans-Light-webfont.eot'); + src: url('fonts/opensans/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'), + url('fonts/opensans/OpenSans-Light-webfont.woff') format('woff'), + url('fonts/opensans/OpenSans-Light-webfont.ttf') format('truetype'), + url('fonts/opensans/OpenSans-Light-webfont.svg#open_sanslight') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'opensans-light-italic'; + src: url('fonts/opensans/OpenSans-LightItalic-webfont.eot'); + src: url('fonts/opensans/OpenSans-LightItalic-webfont.eot?#iefix') format('embedded-opentype'), + url('fonts/opensans/OpenSans-LightItalic-webfont.woff') format('woff'), + url('fonts/opensans/OpenSans-LightItalic-webfont.ttf') format('truetype'), + url('fonts/opensans/OpenSans-LightItalic-webfont.svg#open_sanslight_italic') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'opensans-semibold'; + src: url('fonts/opensans/OpenSans-Semibold-webfont.eot'); + src: url('fonts/opensans/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'), + url('fonts/opensans/OpenSans-Semibold-webfont.woff') format('woff'), + url('fonts/opensans/OpenSans-Semibold-webfont.ttf') format('truetype'), + url('fonts/opensans/OpenSans-Semibold-webfont.svg#open_sanssemibold') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'opensans-semibold-italic'; + src: url('fonts/opensans/OpenSans-SemiboldItalic-webfont.eot'); + src: url('fonts/opensans/OpenSans-SemiboldItalic-webfont.eot?#iefix') format('embedded-opentype'), + url('fonts/opensans/OpenSans-SemiboldItalic-webfont.woff') format('woff'), + url('fonts/opensans/OpenSans-SemiboldItalic-webfont.ttf') format('truetype'), + url('fonts/opensans/OpenSans-SemiboldItalic-webfont.svg#open_sanssemibold_italic') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'opensans-bold'; + src: url('fonts/opensans/OpenSans-Bold-webfont.eot'); + src: url('fonts/opensans/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'), + url('fonts/opensans/OpenSans-Bold-webfont.woff') format('woff'), + url('fonts/opensans/OpenSans-Bold-webfont.ttf') format('truetype'), + url('fonts/opensans/OpenSans-Bold-webfont.svg#open_sansbold') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'opensans-bold-italic'; + src: url('fonts/opensans/OpenSans-BoldItalic-webfont.eot'); + src: url('fonts/opensans/OpenSans-BoldItalic-webfont.eot?#iefix') format('embedded-opentype'), + url('fonts/opensans/OpenSans-BoldItalic-webfont.woff') format('woff'), + url('fonts/opensans/OpenSans-BoldItalic-webfont.ttf') format('truetype'), + url('fonts/opensans/OpenSans-BoldItalic-webfont.svg#open_sansbold_italic') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'opensans-extrabold'; + src: url('fonts/opensans/OpenSans-ExtraBold-webfont.eot'); + src: url('fonts/opensans/OpenSans-ExtraBold-webfont.eot?#iefix') format('embedded-opentype'), + url('fonts/opensans/OpenSans-ExtraBold-webfont.woff') format('woff'), + url('fonts/opensans/OpenSans-ExtraBold-webfont.ttf') format('truetype'), + url('fonts/opensans/OpenSans-ExtraBold-webfont.svg#open_sansextrabold') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'opensans-extrabold-italic'; + src: url('fonts/opensans/OpenSans-ExtraBoldItalic-webfont.eot'); + src: url('fonts/opensans/OpenSans-ExtraBoldItalic-webfont.eot?#iefix') format('embedded-opentype'), + url('fonts/opensans/OpenSans-ExtraBoldItalic-webfont.woff') format('woff'), + url('fonts/opensans/OpenSans-ExtraBoldItalic-webfont.ttf') format('truetype'), + url('fonts/opensans/OpenSans-ExtraBoldItalic-webfont.svg#open_sansextrabold_italic') format('svg'); + font-weight: normal; + font-style: normal; +} + +/* + * Libre Baskerville +================================================================================ */ +@font-face { + font-family: 'librebaskerville-bold'; + src: url('fonts/librebaskerville/librebaskerville-bold-webfont.eot'); + src: url('fonts/librebaskerville/librebaskerville-bold-webfont.eot?#iefix') format('embedded-opentype'), + url('fonts/librebaskerville/librebaskerville-bold-webfont.woff') format('woff'), + url('fonts/librebaskerville/librebaskerville-bold-webfont.ttf') format('truetype'), + url('fonts/librebaskerville/librebaskerville-bold-webfont.svg#libre_baskervillebold') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'librebaskerville-italic'; + src: url('fonts/librebaskerville/librebaskerville-italic-webfont.eot'); + src: url('fonts/librebaskerville/librebaskerville-italic-webfont.eot?#iefix') format('embedded-opentype'), + url('fonts/librebaskerville/librebaskerville-italic-webfont.woff') format('woff'), + url('fonts/librebaskerville/librebaskerville-italic-webfont.ttf') format('truetype'), + url('fonts/librebaskerville/librebaskerville-italic-webfont.svg#libre_baskervilleitalic') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'librebaskerville-regular'; + src: url('fonts/librebaskerville/librebaskerville-regular-webfont.eot'); + src: url('fonts/librebaskerville/librebaskerville-regular-webfont.eot?#iefix') format('embedded-opentype'), + url('fonts/librebaskerville/librebaskerville-regular-webfont.woff') format('woff'), + url('fonts/librebaskerville/librebaskerville-regular-webfont.ttf') format('truetype'), + url('fonts/librebaskerville/librebaskerville-regular-webfont.svg#libre_baskervilleregular') format('svg'); + font-weight: normal; + font-style: normal; +} + + +/* + * FIXED for Font-Face Chrome Rendering +================================================================================ */ +@media screen and (-webkit-min-device-pixel-ratio:0) { + + @font-face { + font-family: 'opensans-semibold'; + src: url('fonts/opensans/OpenSans-Semibold-webfont.svg#open_sanssemibold') format('svg'); + } + + @font-face { + font-family: 'opensans-bold'; + src: url('fonts/opensans/OpenSans-Bold-webfont.svg#open_sansbold') format('svg'); + } + +} \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.eot b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.eot new file mode 100644 index 0000000000..9416754bac Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.eot differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.svg b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.svg new file mode 100644 index 0000000000..760857c6cc --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.svg @@ -0,0 +1,2003 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.ttf b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.ttf new file mode 100644 index 0000000000..630f4f1454 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.ttf differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.woff b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.woff new file mode 100644 index 0000000000..695930d064 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.woff differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.eot b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.eot new file mode 100644 index 0000000000..d16a0c2098 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.eot differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.svg b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.svg new file mode 100644 index 0000000000..2e419caf39 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.svg @@ -0,0 +1,4548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.ttf b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.ttf new file mode 100644 index 0000000000..7895ef6d7c Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.ttf differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.woff b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.woff new file mode 100644 index 0000000000..37eb3e28bf Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.woff differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.eot b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.eot new file mode 100644 index 0000000000..d40cd34c86 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.eot differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.svg b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.svg new file mode 100644 index 0000000000..9e79ca40b5 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.svg @@ -0,0 +1,1862 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.ttf b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.ttf new file mode 100644 index 0000000000..f0c55ca65e Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.ttf differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.woff b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.woff new file mode 100644 index 0000000000..b8b98514c5 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.woff differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.eot b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.eot new file mode 100644 index 0000000000..5d20d91633 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.eot differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.svg b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.svg new file mode 100644 index 0000000000..3ed7be4bc5 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.ttf b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.ttf new file mode 100644 index 0000000000..2109c958e3 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.ttf differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.woff b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.woff new file mode 100644 index 0000000000..1205787b0e Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.woff differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.eot b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.eot new file mode 100644 index 0000000000..1f639a15ff Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.eot differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.svg b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.svg new file mode 100644 index 0000000000..6a2607b9da --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.ttf b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.ttf new file mode 100644 index 0000000000..242d6b25c3 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.ttf differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.woff b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.woff new file mode 100644 index 0000000000..ed760c0628 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.woff differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.eot b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.eot new file mode 100644 index 0000000000..1e29ad5954 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.eot differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.svg b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.svg new file mode 100644 index 0000000000..27800505a5 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.ttf b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.ttf new file mode 100644 index 0000000000..6b9118ee35 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.ttf differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.woff b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.woff new file mode 100644 index 0000000000..a7b99d2552 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.woff differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.eot b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.eot new file mode 100644 index 0000000000..77184af422 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.eot differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.svg b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.svg new file mode 100644 index 0000000000..8f080c1e5e --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.ttf b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.ttf new file mode 100644 index 0000000000..26a07e9392 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.ttf differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.woff b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.woff new file mode 100644 index 0000000000..45395d1bbe Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.woff differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.eot b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.eot new file mode 100644 index 0000000000..0c8a0ae06e Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.eot differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.svg b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.svg new file mode 100644 index 0000000000..e1075dcc24 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.ttf b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.ttf new file mode 100644 index 0000000000..12d25d9a73 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.ttf differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.woff b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.woff new file mode 100644 index 0000000000..ff652e6435 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.woff differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.eot b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.eot new file mode 100644 index 0000000000..14868406aa Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.eot differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.svg b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.svg new file mode 100644 index 0000000000..11a472ca8a --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.svg @@ -0,0 +1,1831 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.ttf b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.ttf new file mode 100644 index 0000000000..63af664cde Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.ttf differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.woff b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.woff new file mode 100644 index 0000000000..e786074813 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.woff differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.eot b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.eot new file mode 100644 index 0000000000..8f445929ff Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.eot differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.svg b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.svg new file mode 100644 index 0000000000..431d7e3546 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.svg @@ -0,0 +1,1835 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.ttf b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.ttf new file mode 100644 index 0000000000..01dda2858a Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.ttf differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.woff b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.woff new file mode 100644 index 0000000000..43e8b9e6cc Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.woff differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.eot b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.eot new file mode 100644 index 0000000000..6bbc3cf58c Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.eot differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.svg b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.svg new file mode 100644 index 0000000000..25a3952340 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.svg @@ -0,0 +1,1831 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.ttf b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.ttf new file mode 100644 index 0000000000..c537f8382a Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.ttf differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.woff b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.woff new file mode 100644 index 0000000000..e231183dce Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.woff differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.eot b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.eot new file mode 100644 index 0000000000..d8375dd0ab Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.eot differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.svg b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.svg new file mode 100644 index 0000000000..eec4db8bd7 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.ttf b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.ttf new file mode 100644 index 0000000000..b3290843a7 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.ttf differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.woff b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.woff new file mode 100644 index 0000000000..28d6adee03 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.woff differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.eot b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.eot new file mode 100644 index 0000000000..0ab1db22e6 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.eot differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.svg b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.svg new file mode 100644 index 0000000000..7166ec1b90 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.ttf b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.ttf new file mode 100644 index 0000000000..d2d6318f66 Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.ttf differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.woff b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.woff new file mode 100644 index 0000000000..d4dfca402e Binary files /dev/null and b/projects/rocprofiler-compute/src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.woff differ diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/layout.css b/projects/rocprofiler-compute/src/omniperf_analyze/assets/layout.css new file mode 100644 index 0000000000..7fdc373f60 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/layout.css @@ -0,0 +1,1446 @@ +/* +===================================================================== +* Ceevee v1.0 Layout Stylesheet +* url: styleshout.com +* license: https://www.styleshout.com/template-license/ +* 03-18-2014 +===================================================================== + + TOC: + a. General Styles + b. Header Styles + c. About Section + d. Resume Section + e. Portfolio Section + f. Call To Action Section + g. Testimonials Section + h. Contact Section + i. Footer + +===================================================================== */ + +/* ------------------------------------------------------------------ */ +/* a. General Styles +/* ------------------------------------------------------------------ */ + +body { background: #0f0f0f; } + +.float-container { + /* border: 3px solid #fff; */ + padding: 20px; +} +.float-child { + width: 50%; + float: left; + padding: 20px; + /* border: 2px solid red; */ +} +.float-child h3 { + color: #fff; +} + +html { + scroll-behavior: smooth; +} + +/* ------------------------------------------------------------------ */ +/* b. Header Styles +/* ------------------------------------------------------------------ */ + +header { + position: relative; + height: 800px; + min-height: 500px; + width: 100%; + background: #161415 url(../images/header-background.jpg) no-repeat top center; + background-size: cover !important; + -webkit-background-size: cover !important; + text-align: center; + overflow: hidden; +} + +/* vertically center banner section */ +header:before { + content: ''; + display: inline-block; + vertical-align: middle; + height: 100%; +} +header .banner { + display: inline-block; + vertical-align: middle; + margin: 0 auto; + width: 85%; + padding-bottom: 30px; + text-align: center; +} + +header .banner-text { width: 100%; } +header .banner-text h1 { + font: 90px/1.1em 'opensans-bold', sans-serif; + color: #fff; + letter-spacing: -2px; + margin: 0 auto 18px auto; + text-shadow: 0px 1px 3px rgba(0, 0, 0, .8); +} +header .banner-text h3 { + font: 18px/1.9em 'librebaskerville-regular', serif; + color: #A8A8A8; + margin: 0 auto; + width: 70%; + text-shadow: 0px 1px 2px rgba(0, 0, 0, .5); +} +header .banner-text h3 span, +header .banner-text h3 a { + color: #fff; +} +header .banner-text hr { + width: 60%; + margin: 18px auto 24px auto; + border-color: #2F2D2E; + border-color: rgba(150, 150, 150, .1); +} + +/* header social links */ +header .social { + margin: 24px 0; + padding: 0; + font-size: 30px; + text-shadow: 0px 1px 2px rgba(0, 0, 0, .8); +} +header .social li { + display: inline-block; + margin: 0 15px; + padding: 0; +} +header .social li a { color: #fff; } +header .social li a:hover { color: #11ABB0; } + + +/* scrolldown link */ +header .scrolldown a { + position: absolute; + bottom: 30px; + left: 50%; + margin-left: -29px; + color: #fff; + display: block; + height: 42px; + width: 42px; + font-size: 42px; + line-height: 42px; + color: #fff; + border-radius: 100%; + + -webkit-transition: all .3s ease-in-out; + -moz-transition: all .3s ease-in-out; + -o-transition: all .3s ease-in-out; + transition: all .3s ease-in-out; +} +header .scrolldown a:hover { color: #11ABB0; } + +/* nav atempt... +--------------------------------------------------------------------- */ +/* primary navigation +--------------------------------------------------------------------- */ +#nav-wrap ul, #nav-wrap li { + margin: 0; + padding: 0; + border: none; + outline: none; +} + +/* nav-wrap */ +#nav-wrap { + font: 18px 'opensans-bold', sans-serif; + width: 100%; + letter-spacing: 1.5px; + margin: 0 auto; + z-index: 100; + position: fixed; + left: 0; + top: 0; + background-color: rgb(22,20,21,0.5); +} +.opaque { background-color: #333; } + +/* hide toggle button */ +#nav-wrap > a.mobile-btn { display: none; } + +ul#nav { + min-height: 48px; + width: auto; + + /* center align the menu */ + text-align: center; +} +ul#nav li { + position: relative; + list-style: none; + height: 48px; + display: inline-block; + } + +/* Filtering */ +#nav .filter { + position: relative; + list-style: none; + height: 48px; + display: inline-block; +} +#nav .filter a { + display: inline-block; + text-transform: uppercase; + padding: 8px 13px; + line-height: 32px; + text-decoration: none; + text-align: left; + color: #fff; + + -webkit-transition: color .2s ease-in-out; + -moz-transition: color .2s ease-in-out; + -o-transition: color .2s ease-in-out; + -ms-transition: color .2s ease-in-out; + transition: color .2s ease-in-out; +} +.dash-dropdown { + position: relative; + list-style: none; + display: inline-block; + width: 200px; + vertical-align: middle; + letter-spacing: normal; + font-size: 14px; + text-align: left; +} + +.dash-dropdown input{ + color: black; +} + +.dash-dropdown .Select-placeholder{ + color: black; +} + +.VirtualizedSelectOption { + overflow: hidden; +} +#nav .nav-right { + float: right; +} + +#nav .nav-left { + float: left; +} + +ul#nav li a:active { background-color: transparent !important; } +ul#nav li.current a { color: #F06000; } + +/* Report Button */ +button.report { + color: #fff; + background-color: #F06000; + font: 16px 'opensans-bold', sans-serif; + border: none; + cursor: pointer; + height: auto; + display: inline-block; + border-radius: 3px; + right:0; + padding: 8px 13px; + margin: 8px 13px; +} +button.report:hover { + background-color: #0D0D0D; +} +.dropdown-menu { + font-size: 16px; +} + +/* Menu Button */ +.dropdown button { + display: inline-block; + font: 16px 'opensans-bold', sans-serif; + margin: 8px 13px; +} +.dropdown a.dropdown-item { + font: 16px 'opensans-bold', sans-serif; + padding-left: 20px; /* Add a little extra indent for the contents of a subheading */ +} +.dropdown-header { + font: 16px 'opensans-bold', sans-serif; +} +/* ------------------------------------------------------------------ */ +/* Roofline Section +/* ------------------------------------------------------------------ */ +#roofline { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#roofline a, #roofline a:visited { color: #fff; } +#roofline a:hover, #roofline a:focus { color: #11ABB0; } + +#roofline .float-container { + /* border: 3px solid #fff; */ + padding: 20px; +} +#roofline .float-child { + width: 50%; + float: left; + padding: 20px; + /* border: 2px solid red; */ +} +#roofline .float-child h3 { + color: #fff; +} + +/* ------------------------------------------------------------------ */ +/* Memchart Section +/* ------------------------------------------------------------------ */ +#memchart { + display: block; + margin: 0 auto; + width: 85%; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; + text-align: center; +} + +/* Mem Chart styling */ + #memchart-svg Svg{ + max-width: 100%; + max-height: 543px; +} + .instr-buff rect{ + width: 200px; + height: 400px; + fill:#000000; + stroke:#ff8000; +} + .fabric rect{ + width: 152.5px; + height: 152.5px; + fill: #000000; + stroke:#ff8000; +} + .cache rect{ + width: 170px; + height: 80px; + fill:#ffffff; + stroke: #ff8000; +} + .cache rect#a3{ height: 102px; } + .cache rect#b3{ height: 147px; } + .fabric-connections rect{ + width: 90px; + height: 60px; + fill:#000000; + stroke: #ff8000; +} + .inner-inst-buff rect{ + width: 160px; + height: 50px; + fill:none; + stroke: #ff8000; +} + .misc-rec rect{ + width: 180px; + height: 510px; + fill:#000000; + stroke: #ff8000; +} + .misc-rec rect#a6{ width: 420px; height: 207.5px; transform: rotate(-90deg); transform-origin: 536.25px 242px; } + .misc-rec rect#b6{ width: 170px; height: 285px; fill:#ffffff; stroke-width: 2px; stroke-dasharray: 6px 6px; } + .val-1 rect{ + width: 90px; + height: 20px; + fill:#b3b3b3; + stroke: #000000; +} + .val-2 rect{ + width: 47px; + height: 20px; + fill:#ffffff; + stroke: #000000; +} + .val-3 rect{ + width: 97px; + height: 20px; + fill:#ffffff; + stroke: #000000; +} + .val-4 rect{ + width: 150px; + height: 20px; + fill:#b3b3b3; + stroke: #000000; +} + .val-5 rect{ + width: 61.75px; + height: 19.05px; + fill:#ffffff; + stroke: #000000; +} + .lines-arrows path{ + stroke-miterlimit: 10px; +} + .lines-arrows path#p1{transform: rotate(90deg); transform-origin: 297.5px 232px;} + .lines-arrows path#p2{transform: rotate(90deg); transform-origin: 255px 62px;} + .lines-arrows path#p3{transform: rotate(90deg); transform-origin: 255px 112px;} + .lines-arrows path#p4{transform: rotate(90deg); transform-origin: 255px 162px;} + .lines-arrows path#p5{transform: rotate(90deg); transform-origin: 255px 212px;} + .lines-arrows path#p6{transform: rotate(90deg); transform-origin: 255px 262px;} + .lines-arrows path#p7{transform: rotate(90deg); transform-origin: 255px 312px;} + .lines-arrows path#p8{transform: rotate(90deg); transform-origin: 255px 362px;} + .lines-arrows path#p9{transform: rotate(90deg); transform-origin: 255px 412px;} + .labels text{ + font-family: Helvetica; +} + .data text{ + font-family: Helvetica; + text-anchor: middle; +} + +#memchart a, #memchart a:visited { color: #fff; } +#memchart a:hover, #memchart a:focus { color: #11ABB0; } + +/* ------------------------------------------------------------------ */ +/* Popup Section +/* ------------------------------------------------------------------ */ +#popup{ + text-align: center; + border: 3px solid #F06000; + margin: auto; + width: 50%; + padding: 10px; + color: white; +} + +/* ------------------------------------------------------------------ */ +/* Top Stat Section +/* ------------------------------------------------------------------ */ +#top_stat { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#top_stat a, #top_stat a:visited { color: #fff; } +#top_stat a:hover, #top_stat a:focus { color: #11ABB0; } + +/* ------------------------------------------------------------------ */ +/* System Info Section +/* ------------------------------------------------------------------ */ +#system_info { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#system_info a, #system_info a:visited { color: #fff; } +#system_info a:hover, #system_info a:focus { color: #11ABB0; } + +/* ------------------------------------------------------------------ */ +/* System Speed-of-Light Section +/* ------------------------------------------------------------------ */ +#system_speed-of-light { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#system_speed-of-light a, #system_speed-of-light a:visited { color: #fff; } +#system_speed-of-light a:hover, #system_speed-of-light a:focus { color: #11ABB0; } + +/* ------------------------------------------------------------------ */ +/* Command Processor Section +/* ------------------------------------------------------------------ */ +#command_processor_cpccpf { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#command_processor_cpccp a, #command_processor_cpccp a:visited { color: #fff; } +#command_processor_cpccp a:hover, #command_processor_cpccp a:focus { color: #11ABB0; } + +/* ------------------------------------------------------------------ */ +/* SPI Section +/* ------------------------------------------------------------------ */ +#shader_processor_input_spi { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#shader_processor_input_spi a, #shader_processor_input_spi a:visited { color: #fff; } +#shader_processor_input_spi a:hover, #shader_processor_input_spi a:focus { color: #11ABB0; } + + +/* ------------------------------------------------------------------ */ +/* Wavefront Section +/* ------------------------------------------------------------------ */ +#wavefront { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#wavefront a, #wavefront a:visited { color: #fff; } +#wavefront a:hover, #wavefront a:focus { color: #11ABB0; } + +/* ------------------------------------------------------------------ */ +/* Intr Mix Section +/* ------------------------------------------------------------------ */ +#compute_units_-_instruction_mix { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#compute_units_-_instruction_mix a, #compute_units_-_instruction_mix a:visited { color: #fff; } +#compute_units_-_instruction_mix a:hover, #compute_units_-_instruction_mix a:focus { color: #11ABB0; } + +/* ------------------------------------------------------------------ */ +/* Compute Pipeline Section +/* ------------------------------------------------------------------ */ +#compute_units_-_compute_pipeline { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#compute_units_-_compute_pipeline a, #compute_units_-_compute_pipeline a:visited { color: #fff; } +#compute_units_-_compute_pipeline a:hover, #compute_units_-_compute_pipeline a:focus { color: #11ABB0; } + +/* ------------------------------------------------------------------ */ +/* LDS Section +/* ------------------------------------------------------------------ */ +#local_data_share_lds { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#local_data_share_lds a, #local_data_share_lds a:visited { color: #fff; } +#local_data_share_lds a:hover, #local_data_share_lds a:focus { color: #11ABB0; } + +/* ------------------------------------------------------------------ */ +/* Instruction Cache Section +/* ------------------------------------------------------------------ */ +#instruction_cache { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#instruction_cache a, #instruction_cache a:visited { color: #fff; } +#instruction_cache a:hover, #instruction_cache a:focus { color: #11ABB0; } + +/* ------------------------------------------------------------------ */ +/* Scalar L1D Cache Section +/* ------------------------------------------------------------------ */ +#scalar_l1_data_cache { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#scalar_l1_data_cache a, #scalar_l1_data_cache a:visited { color: #fff; } +#scalar_l1_data_cache a:hover, #scalar_l1_data_cache a:focus { color: #11ABB0; } + +/* ------------------------------------------------------------------ */ +/* TA/TD Section +/* ------------------------------------------------------------------ */ +#texture_addresser_and_texture_data_tatd { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#texture_addresser_and_texture_data_tatd a, #texture_addresser_and_texture_data_tatd a:visited { color: #fff; } +#texture_addresser_and_texture_data_tatd a:hover, #texture_addresser_and_texture_data_tatd a:focus { color: #11ABB0; } + +/* ------------------------------------------------------------------ */ +/* Vector L1D Section +/* ------------------------------------------------------------------ */ +#vector_l1_data_cache { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#vector_l1_data_cache a, #vector_l1_data_cache a:visited { color: #fff; } +#vector_l1_data_cache a:hover, #vector_l1_data_cache a:focus { color: #11ABB0; } + +/* ------------------------------------------------------------------ */ +/* L2 Cache Section +/* ------------------------------------------------------------------ */ +#l2_cache { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#l2_cache a, #l2_cache a:visited { color: #fff; } +#l2_cache a:hover, #l2_cache a:focus { color: #11ABB0; } + + +/* ------------------------------------------------------------------ */ +/* L2 Cache per Channel Section +/* ------------------------------------------------------------------ */ +#l2_cache_per_channel { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#l2_cache_per_channel a, #l2_cache_per_channel a:visited { color: #fff; } +#l2_cache_per_channel a:hover, #l2_cache_per_channel a:focus { color: #11ABB0; } + +/* ------------------------------------------------------------------ */ +/* c. About Section +/* ------------------------------------------------------------------ */ + +#about { + background: #2B2B2B; + padding-top: 96px; + padding-bottom: 66px; + overflow: hidden; +} + +#about a, #about a:visited { color: #fff; } +#about a:hover, #about a:focus { color: #11ABB0; } + +#about h2 { + font: 22px/30px 'opensans-bold', sans-serif; + color: #fff; + margin-bottom: 12px; +} +#about p { + line-height: 30px; + color: #7A7A7A; +} +#about .profile-pic { + position: relative; + width: 120px; + height: 120px; + border-radius: 100%; +} +#about .contact-details { width: 41.66667%; } +#about .download { + width: 58.33333%; + padding-top: 6px; +} +#about .main-col { padding-right: 5%; } +#about .download .button { + margin-top: 6px; + background: #444; +} +#about .download .button:hover { + background: #fff; + color: #2B2B2B; +} +#about .download .button i { + margin-right: 15px; + font-size: 20px; +} + + +/* ------------------------------------------------------------------ */ +/* d. Resume Section +/* ------------------------------------------------------------------ */ + +#resume { + background: #fff; + padding-top: 90px; + padding-bottom: 72px; + overflow: hidden; +} + +#resume a, #resume a:visited { color: #11ABB0; } +#resume a:hover, #resume a:focus { color: #313131; } + +#resume h1 { + font: 18px/24px 'opensans-bold', sans-serif; + text-transform: uppercase; + letter-spacing: 1px; +} +#resume h1 span { + border-bottom: 3px solid #11ABB0; + padding-bottom: 6px; +} +#resume h3 { + font: 25px/30px 'opensans-bold', sans-serif; +} + +#resume .header-col { padding-top: 9px; } +#resume .main-col { padding-right: 10%; } + +.education, .work { + margin-bottom: 48px; + padding-bottom: 24px; + border-bottom: 1px solid #E8E8E8; +} +#resume .info { + font: 16px/24px 'librebaskerville-italic', serif; + color: #6E7881; + margin-bottom: 18px; + margin-top: 9px; +} +#resume .info span { + margin-right: 5px; + margin-left: 5px; +} +#resume .date { + font: 15px/24px 'opensans-regular', sans-serif; + margin-top: 6px; +} + +/*----------------------------------------------*/ +/* Skill Bars +/*----------------------------------------------*/ + +.bars { + width: 95%; + float: left; + padding: 0; + text-align: left; +} +.bars .skills { + margin-top: 36px; + list-style: none; +} +.bars li { + position: relative; + margin-bottom: 60px; + background: #ccc; + height: 42px; + border-radius: 3px; +} +.bars li em { + font: 15px 'opensans-bold', sans-serif; + color: #313131; + text-transform: uppercase; + letter-spacing: 2px; + font-weight: normal; + position: relative; + top: -36px; +} +.bar-expand { + position: absolute; + left: 0; + top: 0; + + margin: 0; + padding-right: 24px; + background: #313131; + display: inline-block; + height: 42px; + line-height: 42px; + border-radius: 3px 0 0 3px; +} +/* +.git { + -moz-animation: git 2s ease; + -webkit-animation: git 2s ease; +} +.illustrator { + -moz-animation: illustrator 2s ease; + -webkit-animation: illustrator 2s ease; +} +.reactjs { + -moz-animation: reactjs 2s ease; + -webkit-animation: reactjs 2s ease; +} +.css { + -moz-animation: css 2s ease; + -webkit-animation: css 2s ease; +} +.html5 { + -moz-animation: html5 2s ease; + -webkit-animation: html5 2s ease; +} +.vuejs { + -moz-animation: vuejs 2s ease; + -webkit-animation: vuejs 2s ease; +} +.mongodb { + -moz-animation: mongodb 2s ease; + -webkit-animation: mongodb 2s ease; +} + +@-moz-keyframes git { + 0% { width: 0px; } + 100% { width: 60%; } +} +@-moz-keyframes illustrator { + 0% { width: 0px; } + 100% { width: 55%; } +} +@-moz-keyframes reactjs { + 0% { width: 0px; } + 100% { width: 50%; } +} +@-moz-keyframes css { + 0% { width: 0px; } + 100% { width: 90%; } +} +@-moz-keyframes html5 { + 0% { width: 0px; } + 100% { width: 80%; } +} +@-moz-keyframes vuejs { + 0% { width: 0px; } + 100% { width: 50%; } +} +@-moz-keyframes mongodb { + 0% { width: 0px; } + 100% { width: 80%; } +} + +@-webkit-keyframes photoshop { + 0% { width: 0px; } + 100% { width: 60%; } +} +@-webkit-keyframes illustrator { + 0% { width: 0px; } + 100% { width: 55%; } +} +@-webkit-keyframes reactjs { + 0% { width: 0px; } + 100% { width: 50%; } +} +@-webkit-keyframes css { + 0% { width: 0px; } + 100% { width: 90%; } +} +@-webkit-keyframes html5 { + 0% { width: 0px; } + 100% { width: 80%; } +} +@-webkit-keyframes vuejs { + 0% { width: 0px; } + 100% { width: 50%; } +} +@-webkit-keyframes mongodb { + 0% { width: 0px; } + 100% { width: 80%; } +} */ + +/* ------------------------------------------------------------------ */ +/* e. Portfolio Section +/* ------------------------------------------------------------------ */ + +#portfolio { + background: #ebeeee; + padding-top: 90px; + padding-bottom: 60px; +} +#portfolio h1 { + font: 15px/24px 'opensans-semibold', sans-serif; + text-transform: uppercase; + letter-spacing: 1px; + text-align: center; + margin-bottom: 48px; + color: #95A3A3; +} + +/* Portfolio Content */ +#portfolio-wrapper .columns { margin-bottom: 36px; } +.portfolio-item .item-wrap { + background: #fff; + overflow: hidden; + position: relative; + + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.portfolio-item .item-wrap a { + display: block; + cursor: pointer; +} + +/* overlay */ +.portfolio-item .item-wrap .overlay { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + + opacity: 0; + -moz-opacity: 0; + filter:alpha(opacity=0); + + -webkit-transition: opacity 0.3s ease-in-out; + -moz-transition: opacity 0.3s ease-in-out; + -o-transition: opacity 0.3s ease-in-out; + transition: opacity 0.3s ease-in-out; + + background: url(../images/overlay-bg.png) repeat; +} +.portfolio-item .item-wrap .link-icon { + display: block; + color: #fff; + height: 30px; + width: 30px; + font-size: 18px; + line-height: 30px; + text-align: center; + + opacity: 0; + -moz-opacity: 0; + filter:alpha(opacity=0); + + -webkit-transition: opacity 0.3s ease-in-out; + -moz-transition: opacity 0.3s ease-in-out; + -o-transition: opacity 0.3s ease-in-out; + transition: opacity 0.3s ease-in-out; + + position: absolute; + top: 50%; + left: 50%; + margin-left: -15px; + margin-top: -15px; +} +.portfolio-item .item-wrap img { + vertical-align: bottom; +} +.portfolio-item .portfolio-item-meta { padding: 18px } +.portfolio-item .portfolio-item-meta h5 { + font: 14px/21px 'opensans-bold', sans-serif; + color: #fff; +} +.portfolio-item .portfolio-item-meta p { + font: 12px/18px 'opensans-light', sans-serif; + color: #c6c7c7; + margin-bottom: 0; +} + +/* on hover */ +.portfolio-item:hover .overlay { + opacity: 1; + -moz-opacity: 1; + filter:alpha(opacity=100); +} +.portfolio-item:hover .link-icon { + opacity: 1; + -moz-opacity: 1; + filter:alpha(opacity=100); +} + +/* popup modal */ +.popup-modal { + max-width: 550px; + background: #fff; + position: relative; + margin: 0 auto; +} +.popup-modal .description-box { padding: 12px 36px 18px 36px; } +.popup-modal .description-box h4 { + font: 15px/24px 'opensans-bold', sans-serif; + margin-bottom: 12px; + color: #111; +} +.popup-modal .description-box p { + font: 14px/24px 'opensans-regular', sans-serif; + color: #A1A1A1; + margin-bottom: 12px; +} +.popup-modal .description-box .categories { + font: 11px/21px 'opensans-light', sans-serif; + color: #A1A1A1; + text-transform: uppercase; + letter-spacing: 2px; + display: block; + text-align: left; +} +.popup-modal .description-box .categories i { + margin-right: 8px; +} +.popup-modal .link-box { + padding: 18px 36px; + background: #111; + text-align: left; +} +.popup-modal .link-box a { + color: #fff; + font: 11px/21px 'opensans-bold', sans-serif; + text-transform: uppercase; + letter-spacing: 3px; + cursor: pointer; +} +.popup-modal a:hover { color: #00CCCC; } +.popup-modal a.popup-modal-dismiss { margin-left: 24px; } + + +/* fadein/fadeout effect for modal popup +/* ------------------------------------------------------------------ */ + +/* content at start */ +.mfp-fade.mfp-wrap .mfp-content .popup-modal { + opacity: 0; + -webkit-transition: all 200ms ease-in-out; + -moz-transition: all 200ms ease-in-out; + -o-transition: all 200ms ease-in-out; + -ms-transition: all 200ms ease-in-out; + transition: all 200ms ease-in-out; +} +/* content fadein */ +.mfp-fade.mfp-wrap.mfp-ready .mfp-content .popup-modal { + opacity: 1; +} +/* content fadeout */ +.mfp-fade.mfp-wrap.mfp-removing .mfp-content .popup-modal { + opacity: 0; +} + +/* ------------------------------------------------------------------ */ +/* f. Call To Action Section +/* ------------------------------------------------------------------ */ + +#call-to-action { + background: #212121; + padding-top: 66px; + padding-bottom: 48px; +} +#call-to-action h1 { + font: 18px/24px 'opensans-bold', sans-serif; + text-transform: uppercase; + letter-spacing: 3px; + color: #fff; +} +#call-to-action h1 span { display: none; } +#call-to-action .header-col h1:before { + font-family: 'FontAwesome'; + content: "\f0ac"; + padding-right: 10px; + font-size: 72px; + line-height: 72px; + text-align: left; + float: left; + color: #fff; +} +#call-to-action .action { + margin-top: 12px; +} +#call-to-action h2 { + font: 28px/36px 'opensans-bold', sans-serif; + color: #EBEEEE; + margin-bottom: 6px; +} +#call-to-action h2 a { + color: inherit; +} +#call-to-action p { + color: #636363; + font-size: 17px; +} +/*# +call-to-action .button { + color:#fff; + background: #0D0D0D; +} +*/ +#call-to-action .button:hover, +#call-to-action .button:active { + background: #FFFFFF; + color: #0D0D0D; +} +#call-to-action p span { + font-family: 'opensans-semibold', sans-serif; + color: #D8D8D8; +} + +/* ------------------------------------------------------------------ +/* g. Testimonials +/* ------------------------------------------------------------------ */ + +#testimonials { + background: #1F1F1F url(../images/testimonials-bg.jpg) no-repeat center center; + background-size: cover !important; + -webkit-background-size: cover !important; + background-attachment: fixed; + + position: relative; + min-height: 200px; + width: 100%; + overflow: hidden; +} +#testimonials .text-container { + padding-top: 96px; + padding-bottom: 66px; +} +#testimonials h1 { + font: 18px/24px 'opensans-bold', sans-serif; + text-transform: uppercase; + letter-spacing: 3px; + color: #fff; +} +#testimonials h1 span { display: none; } +#testimonials .header-col { padding-top: 9px; } +#testimonials .header-col h1:before { + font-family: 'FontAwesome'; + content: "\f10d"; + padding-right: 10px; + font-size: 72px; + line-height: 72px; + text-align: left; + float: left; + color: #fff; +} + +/* Blockquotes */ +#testimonials blockquote { + margin: 0 0px 30px 0px; + padding-left: 0; + position: relative; + text-shadow: 0px 1px 3px rgba(0, 0, 0, 1); +} +#testimonials blockquote:before { content: none; } +#testimonials blockquote p { + font-family: 'librebaskerville-italic', serif; + padding: 0; + font-size: 24px; + line-height: 48px; + color: #fff +} +#testimonials blockquote cite { + display: block; + font-size: 12px; + font-style: normal; + line-height: 18px; + color: #fff; +} +#testimonials blockquote cite:before { content: "\2014 \0020"; } +#testimonials blockquote cite a, +#testimonials blockquote cite a:visited { color: #8B9798; border: none } + +/* Flex Slider +/* ------------------------------------------------------------------ */ + +/* Reset */ +.flexslider a:active, +.flexslider a:focus { outline: none; } +.slides, +.flex-control-nav, +.flex-direction-nav { margin: 0; padding: 0; list-style: none; } +.slides li { margin: 0; padding: 0;} + +/* Necessary Styles */ +.flexslider { + position: relative; + zoom: 1; + margin: 0; + padding: 0; +} +.flexslider .slides { zoom: 1; } +.flexslider .slides > li { position: relative; } + +/* Hide the slides before the JS is loaded. Avoids image jumping */ +.flexslider .slides > li { display: none; -webkit-backface-visibility: hidden; } +/* Suggested container for slide animation setups. Can replace this with your own */ +.flex-container { zoom: 1; position: relative; } + +/* Clearfix for .slides */ +.slides:before, +.slides:after { + content: " "; + display: table; +} +.slides:after { + clear: both; +} + +/* No JavaScript Fallback */ +/* If you are not using another script, such as Modernizr, make sure you + * include js that eliminates this class on page load */ +.no-js .slides > li:first-child { display: block; } + +/* Slider Styles */ +.slides { zoom: 1; } +.slides > li { + /*margin-right: 5px; */ + overflow: hidden; +} + +/* Control Nav */ +.flex-control-nav { + width: 100%; + position: absolute; + bottom: -20px; + text-align: left; +} +.flex-control-nav li { + margin: 0 6px; + display: inline-block; + zoom: 1; + *display: inline; +} +.flex-control-paging li a { + width: 12px; + height: 12px; + display: block; + background: #ddd; + background: rgba(255, 255, 255, .3); + cursor: pointer; + text-indent: -9999px; + -webkit-border-radius: 20px; + -moz-border-radius: 20px; + -o-border-radius: 20px; + border-radius: 20px; + box-shadow: inset 0 0 3px rgba(255, 255, 255, .3); +} +.flex-control-paging li a:hover { + background: #CCC; + background: rgba(255, 255, 255, .7); +} +.flex-control-paging li a.flex-active { + background: #fff; + background: rgba(255, 255, 255, .9); + cursor: default; +} + +/* ------------------------------------------------------------------ */ +/* h. Contact Section +/* ------------------------------------------------------------------ */ + +#contact { + background: #191919; + padding-top: 96px; + padding-bottom: 102px; + color: #636363; +} +#contact .section-head { margin-bottom: 42px; } + +#contact a, #contact a:visited { color: #11ABB0; } +#contact a:hover, #contact a:focus { color: #fff; } + +#contact h1 { + font: 18px/24px 'opensans-bold', sans-serif; + text-transform: uppercase; + letter-spacing: 3px; + color: #EBEEEE; + margin-bottom: 6px; +} +#contact h1 span { display: none; } +#contact h1:before { + font-family: 'FontAwesome'; + content: "\f0e0"; + padding-right: 10px; + font-size: 72px; + line-height: 72px; + text-align: left; + float: left; + color: #ebeeee; +} + +#contact h4 { + font: 16px/24px 'opensans-bold', sans-serif; + color: #EBEEEE; + margin-bottom: 6px; +} +#contact p.lead { + font: 18px/36px 'opensans-light', sans-serif; + padding-right: 3%; +} +#contact .header-col { padding-top: 6px; } + + +/* contact form */ +#contact form { margin-bottom: 30px; } +#contact label { + font: 15px/24px 'opensans-bold', sans-serif; + margin: 12px 0; + color: #EBEEEE; + display: inline-block; + float: left; + width: 26%; +} +#contact input, +#contact textarea, +#contact select { + padding: 18px 20px; + color: #eee; + background: #373233; + margin-bottom: 42px; + border: 0; + outline: none; + font-size: 15px; + line-height: 24px; + width: 65%; +} +#contact input:focus, +#contact textarea:focus, +#contact select:focus { + color: #fff; + background-color: #11ABB0; +} +#contact button.submit { + text-transform: uppercase; + letter-spacing: 3px; + color:#fff; + background: #0D0D0D; + border: none; + cursor: pointer; + height: auto; + display: inline-block; + border-radius: 3px; + margin-left: 26%; +} +#contact button.submit:hover { + color: #0D0D0D; + background: #fff; +} +#contact span.required { + color: #11ABB0; + font-size: 13px; +} +#message-warning, #message-success { + display: none; + background: #0F0F0F; + padding: 24px 24px; + margin-bottom: 36px; + width: 65%; + margin-left: 26%; +} +#message-warning { color: #D72828; } +#message-success { color: #11ABB0; } + +#message-warning i, +#message-success i { + margin-right: 10px; +} +#image-loader { + display: none; + position: relative; + left: 18px; + top: 17px; +} + + +/* Twitter Feed */ +#twitter { + margin-top: 12px; + padding: 0; +} +#twitter li { + margin: 6px 0px 12px 0; + line-height: 30px; +} +#twitter li span { + display: block; +} +#twitter li b a { + font: 13px/36px 'opensans-regular', Sans-serif; + color: #474747 !important; + border: none; +} + + +/* ------------------------------------------------------------------ */ +/* i. Footer +/* ------------------------------------------------------------------ */ + +footer { + padding-top: 48px; + margin-bottom: 48px; + color: #303030; + font-size: 14px; + text-align: center; + position: relative; +} + +footer a, footer a:visited { color: #525252; } +footer a:hover, footer a:focus { color: #fff; } + +/* copyright */ +footer .copyright { + margin: 0; + padding: 0; + } +footer .copyright li { + display: inline-block; + margin: 0; + padding: 0; + line-height: 24px; +} +.ie footer .copyright li { + display: inline; +} +footer .copyright li:before { + content: "\2022"; + padding-left: 10px; + padding-right: 10px; + color: #095153; +} +footer .copyright li:first-child:before { + display: none; +} + +/* social links */ +footer .social-links { + margin: 18px 0 30px 0; + padding: 0; + font-size: 30px; +} +footer .social-links li { + display: inline-block; + margin: 0; + padding: 0; + margin-left: 42px; + color: #F06000; +} + +footer .social-links li:first-child { margin-left: 0; } + +/* Go To Top Button */ +#go-top { + position: absolute; + top: -24px; + left: 50%; + margin-left: -30px; +} +#go-top a { + text-decoration: none; + border: 0 none; + display: block; + width: 60px; + height: 60px; + background-color: #525252; + + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + + color: #fff; + font-size: 21px; + line-height: 60px; + border-radius: 100%; +} +#go-top a:hover { background-color: #0F9095; } diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/magnific-popup.css b/projects/rocprofiler-compute/src/omniperf_analyze/assets/magnific-popup.css new file mode 100644 index 0000000000..bd962d8502 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/magnific-popup.css @@ -0,0 +1,372 @@ +/* Magnific Popup CSS */ +.mfp-bg { + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1042; + overflow: hidden; + position: fixed; + background: #000; + opacity: 0.8; + filter: alpha(opacity=80); } + +.mfp-wrap { + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1043; + position: fixed; + outline: none !important; + -webkit-backface-visibility: hidden; } + +.mfp-container { + text-align: center; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + padding: 0 8px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +.mfp-container:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; } + +.mfp-align-top .mfp-container:before { + display: none; } + +.mfp-content { + position: relative; + display: inline-block; + vertical-align: middle; + margin: 0 auto; + text-align: left; + z-index: 1045; } + +.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content { + width: 100%; + cursor: auto; } + +.mfp-ajax-cur { + cursor: progress; } + +.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close { + cursor: -moz-zoom-out; + cursor: -webkit-zoom-out; + cursor: zoom-out; } + +.mfp-zoom { + cursor: pointer; + cursor: -webkit-zoom-in; + cursor: -moz-zoom-in; + cursor: zoom-in; } + +.mfp-auto-cursor .mfp-content { + cursor: auto; } + +.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } + +.mfp-loading.mfp-figure { + display: none; } + +.mfp-hide { + display: none !important; } + +.mfp-preloader { + color: #cccccc; + position: absolute; + top: 50%; + width: auto; + text-align: center; + margin-top: -0.8em; + left: 8px; + right: 8px; + z-index: 1044; } + .mfp-preloader a { + color: #cccccc; } + .mfp-preloader a:hover { + color: white; } + +.mfp-s-ready .mfp-preloader { + display: none; } + +.mfp-s-error .mfp-content { + display: none; } + +button.mfp-close, button.mfp-arrow { + overflow: visible; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; + display: block; + outline: none; + padding: 0; + z-index: 1046; + -webkit-box-shadow: none; + box-shadow: none; } +button::-moz-focus-inner { + padding: 0; + border: 0; } + +.mfp-close { + width: 44px; + height: 44px; + line-height: 44px; + position: absolute; + right: 0; + top: 0; + text-decoration: none; + text-align: center; + opacity: 0.65; + filter: alpha(opacity=65); + padding: 0 0 18px 10px; + color: white; + font-style: normal; + font-size: 28px; + font-family: Arial, Baskerville, monospace; } + .mfp-close:hover, .mfp-close:focus { + opacity: 1; + filter: alpha(opacity=100); } + .mfp-close:active { + top: 1px; } + +.mfp-close-btn-in .mfp-close { + color: #333333; } + +.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close { + color: white; + right: -6px; + text-align: right; + padding-right: 6px; + width: 100%; } + +.mfp-counter { + position: absolute; + top: 0; + right: 0; + color: #cccccc; + font-size: 12px; + line-height: 18px; } + +.mfp-arrow { + position: absolute; + opacity: 0.65; + filter: alpha(opacity=65); + margin: 0; + top: 50%; + margin-top: -55px; + padding: 0; + width: 90px; + height: 110px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } + .mfp-arrow:active { + margin-top: -54px; } + .mfp-arrow:hover, .mfp-arrow:focus { + opacity: 1; + filter: alpha(opacity=100); } + .mfp-arrow:before, .mfp-arrow:after, .mfp-arrow .mfp-b, .mfp-arrow .mfp-a { + content: ''; + display: block; + width: 0; + height: 0; + position: absolute; + left: 0; + top: 0; + margin-top: 35px; + margin-left: 35px; + border: medium inset transparent; } + .mfp-arrow:after, .mfp-arrow .mfp-a { + border-top-width: 13px; + border-bottom-width: 13px; + top: 8px; } + .mfp-arrow:before, .mfp-arrow .mfp-b { + border-top-width: 21px; + border-bottom-width: 21px; + opacity: 0.7; } + +.mfp-arrow-left { + left: 0; } + .mfp-arrow-left:after, .mfp-arrow-left .mfp-a { + border-right: 17px solid white; + margin-left: 31px; } + .mfp-arrow-left:before, .mfp-arrow-left .mfp-b { + margin-left: 25px; + border-right: 27px solid #3f3f3f; } + +.mfp-arrow-right { + right: 0; } + .mfp-arrow-right:after, .mfp-arrow-right .mfp-a { + border-left: 17px solid white; + margin-left: 39px; } + .mfp-arrow-right:before, .mfp-arrow-right .mfp-b { + border-left: 27px solid #3f3f3f; } + +.mfp-iframe-holder { + padding-top: 40px; + padding-bottom: 40px; } + .mfp-iframe-holder .mfp-content { + line-height: 0; + width: 100%; + max-width: 900px; } + .mfp-iframe-holder .mfp-close { + top: -40px; } + +.mfp-iframe-scaler { + width: 100%; + height: 0; + overflow: hidden; + padding-top: 56.25%; } + .mfp-iframe-scaler iframe { + position: absolute; + display: block; + top: 0; + left: 0; + width: 100%; + height: 100%; + box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); + background: black; } + +/* Main image in popup */ +img.mfp-img { + width: auto; + max-width: 100%; + height: auto; + display: block; + line-height: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 40px 0 40px; + margin: 0 auto; } + +/* The shadow behind the image */ +.mfp-figure { + line-height: 0; } + .mfp-figure:after { + content: ''; + position: absolute; + left: 0; + top: 40px; + bottom: 40px; + display: block; + right: 0; + width: auto; + height: auto; + z-index: -1; + box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); + background: #444444; } + .mfp-figure small { + color: #bdbdbd; + display: block; + font-size: 12px; + line-height: 14px; } + .mfp-figure figure { + margin: 0; } + +.mfp-bottom-bar { + margin-top: -36px; + position: absolute; + top: 100%; + left: 0; + width: 100%; + cursor: auto; } + +.mfp-title { + text-align: left; + line-height: 18px; + color: #f3f3f3; + word-wrap: break-word; + padding-right: 36px; } + +.mfp-image-holder .mfp-content { + max-width: 100%; } + +.mfp-gallery .mfp-image-holder .mfp-figure { + cursor: pointer; } + +@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) { + /** + * Remove all paddings around the image on small screen + */ + .mfp-img-mobile .mfp-image-holder { + padding-left: 0; + padding-right: 0; } + .mfp-img-mobile img.mfp-img { + padding: 0; } + .mfp-img-mobile .mfp-figure:after { + top: 0; + bottom: 0; } + .mfp-img-mobile .mfp-figure small { + display: inline; + margin-left: 5px; } + .mfp-img-mobile .mfp-bottom-bar { + background: rgba(0, 0, 0, 0.6); + bottom: 0; + margin: 0; + top: auto; + padding: 3px 5px; + position: fixed; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .mfp-img-mobile .mfp-bottom-bar:empty { + padding: 0; } + .mfp-img-mobile .mfp-counter { + right: 5px; + top: 3px; } + .mfp-img-mobile .mfp-close { + top: 0; + right: 0; + width: 35px; + height: 35px; + line-height: 35px; + background: rgba(0, 0, 0, 0.6); + position: fixed; + text-align: center; + padding: 0; } } + +@media all and (max-width: 900px) { + .mfp-arrow { + -webkit-transform: scale(0.75); + transform: scale(0.75); } + .mfp-arrow-left { + -webkit-transform-origin: 0; + transform-origin: 0; } + .mfp-arrow-right { + -webkit-transform-origin: 100%; + transform-origin: 100%; } + .mfp-container { + padding-left: 6px; + padding-right: 6px; } } + +.mfp-ie7 .mfp-img { + padding: 0; } +.mfp-ie7 .mfp-bottom-bar { + width: 600px; + left: 50%; + margin-left: -300px; + margin-top: 5px; + padding-bottom: 5px; } +.mfp-ie7 .mfp-container { + padding: 0; } +.mfp-ie7 .mfp-content { + padding-top: 44px; } +.mfp-ie7 .mfp-close { + top: 0; + right: 0; + padding-top: 0; } + + + + diff --git a/projects/rocprofiler-compute/src/omniperf_analyze/assets/media-queries.css b/projects/rocprofiler-compute/src/omniperf_analyze/assets/media-queries.css new file mode 100644 index 0000000000..5c2c67f220 --- /dev/null +++ b/projects/rocprofiler-compute/src/omniperf_analyze/assets/media-queries.css @@ -0,0 +1,383 @@ +/* ================================================================== + +* Ceevee Media Queries +* url: styleshout.com +* license: https://www.styleshout.com/template-license/ +* 03-18-2014 + +/* ================================================================== */ + + +/* screenwidth less than 1024px +--------------------------------------------------------------------- */ +@media only screen and (max-width: 1024px) { + + /* header styles + ------------------------------------------------------------------ */ + header .banner-text h1 { + font: 80px/1.1em 'opensans-bold', sans-serif; + letter-spacing: -1px; + margin: 0 auto 12px auto; + } + +} + +/* screenwidth less than 900px +--------------------------------------------------------------------- */ +@media only screen and (max-width: 900px) { + + /* header styles + ------------------------------------------------------------------ */ + header .banner { padding-bottom: 12px; } + header .banner-text h1 { + font: 78px/1.1em 'opensans-bold', sans-serif; + letter-spacing: -1px; + } + header .banner-text h3 { + font: 17px/1.9em 'librebaskerville-regular', serif; + width: 80%; + } + header .banner-text hr { + width: 65%; + margin: 12px auto; + } + /* nav-wrap */ + #nav-wrap { + font: 11px 'opensans-bold', sans-serif; + letter-spacing: 1.5px; + } + + + /* About Section + ------------------------------------------------------------------- */ + #about .profile-pic { + width: 114px; + height: 114px; + margin-left: 12px; + } + #about .contact-details { width: 50%; } + #about .download { width: 50%; } + + /* Resume Section + ------------------------------------------------------------------- */ + #resume h1 { font: 16px/24px 'opensans-bold', sans-serif; } + #resume .main-col { padding-right: 5%; } + + /* Testimonials Section + ------------------------------------------------------------------- */ + #testimonials .header-col h1:before { + font-size: 66px; + line-height: 66px; + } + #testimonials blockquote p { + font-size: 22px; + line-height: 46px; + } + + /* Call to Action Section + ------------------------------------------------------------------- */ + #call-to-action .header-col h1:before { + font-size: 66px; + line-height: 66px; + } + + /* Contact Section + ------------------------------------------------------------------- */ + #contact .section-head { margin-bottom: 30px; } + #contact .header-col h1:before { + font-size: 66px; + line-height: 66px; + } + #contact .section-head p.lead { font: 17px/33px opensans-light, sans-serif; } + + +} + +/* mobile wide/smaller tablets +---------------------------------------------------------------------- */ + +@media only screen and (max-width: 767px) { + + /* mobile navigation + -------------------------------------------------------------------- */ + #nav-wrap { + font: 12px 'opensans-bold', sans-serif; + background: transparent !important; + letter-spacing: 1.5px; + width: auto; + position: fixed; + top: 0; + right: 0; + } + #nav-wrap > a { + width: 48px; + height: 48px; + text-align: left; + background-color: #CC5200; + position: relative; + border: none; + float: right; + + font: 0/0 a; + text-shadow: none; + color: transparent; + + position: relative; + top: 0px; + right: 30px; + } + + #nav-wrap > a:before, + #nav-wrap > a:after { + position: absolute; + border: 2px solid #fff; + top: 35%; + left: 25%; + right: 25%; + content: ''; + } + #nav-wrap > a:after { top: 60%; } + + /* toggle buttons */ + #nav-wrap:not( :target ) > a:first-of-type, + #nav-wrap:target > a:last-of-type { + display: block; + } + + /* hide menu panel */ + #nav-wrap ul#nav { + height: auto; + display: none; + clear: both; + width: auto; + float: right; + + position: relative; + top: 12px; + right: 0; + } + + /* display menu panels */ + #nav-wrap:target > ul#nav { + display: block; + padding: 30px 20px 48px 20px; + background: #1f2024; + margin: 0 30px; + clear: both; + } + + ul#nav li { + display: block; + height: auto; + margin: 0 auto; + padding: 0 4%; + text-align: left; + border-bottom: 1px solid #2D2E34; + border-bottom-style: dotted; + } + + ul#nav li a { + display: block; + margin: 0; + padding: 0; + margin: 12px 0; + line-height: 16px; /* reset line-height from 48px */ + border: none; + } + + + /* Header Styles + -------------------------------------------------------------------- */ + header .banner { + padding-bottom: 12px; + padding-top: 6px; + } + header .banner-text h1 { font: 68px/1.1em 'opensans-bold', sans-serif; } + header .banner-text h3 { + font: 16px/1.9em 'librebaskerville-regular', serif; + width: 85%; + } + header .banner-text hr { + width: 80%; + margin: 18px auto; + } + + /* header social links */ + header .social { + margin: 18px 0 24px 0; + font-size: 24px; + line-height: 36px; + } + header .social li { margin: 0 10px; } + + /* scrolldown link */ + header .scrolldown { display: none; } + + + /* About Section + -------------------------------------------------------------------- */ + #about .profile-pic { display: none; } + #about .download .button { + width: 100%; + text-align: center; + padding: 15px 20px; + } + #about .main-col { padding-right: 30px; } + + + /* Resume Section + --------------------------------------------------------------------- */ + #resume .header-col { + padding-top: 0; + margin-bottom: 48px; + text-align: center; + } + #resume h1 { letter-spacing: 3px; } + #resume .main-col { padding-right: 30px; } + #resume h3, #resume .info { text-align: center; } + + .bars { width: 100%; } + + + /* Call To Action Section + /* ----------------------------------------------------------------- */ + #call-to-action { text-align: center; } + #call-to-action h1 { + font: 16px/24px 'opensans-bold', sans-serif; + text-align: center; + margin-bottom: 30px; + text-shadow: 0px 1px 3px rgba(0, 0, 0, 1); + } + #call-to-action h1 span { display: block; } + #call-to-action .header-col h1:before { content: none; } + #call-to-action p { font-size: 15px; } + + + /* Portfolio Section + /* ----------------------------------------------------------------- */ + #portfolio-wrapper .columns { margin-bottom: 40px; } + .popup-modal { max-width: 85%; } + + + /* Testimonials Section + ----------------------------------------------------------------------- */ + #testimonials .text-container { text-align: center; } + #testimonials h1 { + font: 16px/24px 'opensans-bold', sans-serif; + text-align: center; + margin-bottom: 30px; + text-shadow: 0px 1px 3px rgba(0, 0, 0, 1); + } + #testimonials h1 span { display: block; } + #testimonials .header-col h1:before { content: none; } + #testimonials blockquote { padding-bottom: 24px; } + #testimonials blockquote p { + font-size: 20px; + line-height: 42px; + } + + /* Control Nav */ + .flex-control-nav { + text-align: center; + margin-left: -30px; + } + + + /* contact Section + ----------------------------------------------------------------------- */ + #contact { padding-bottom: 66px; } + #contact .section-head { margin-bottom: 12px; } + #contact .section-head h1 { + font: 16px/24px 'opensans-bold', sans-serif; + text-align: center; + margin-bottom: 30px; + text-shadow: 0px 1px 3px rgba(0, 0, 0, 1); + } + #contact h1 span { display: block; } + #contact .header-col { padding-top: 0; } + #contact .header-col h1:before { content: none; } + #contact .section-head p.lead { text-align: center;} + + /* form */ + #contact label { + float: none; + width: 100%; + } + #contact input, + #contact textarea, + #contact select { + margin-bottom: 6px; + width: 100%; + } + #contact button.submit { margin: 30px 0 24px 0; } + #message-warning, #message-success { + width: 100%; + margin-left: 0; + } + + + /* footer + ------------------------------------------------------------------------ */ + + /* copyright */ + footer .copyright li:before { content: none; } + footer .copyright li { margin-right: 12px; } + + /* social links */ + footer .social-links { font-size: 22px; } + footer .social-links li { margin-left: 18px; } + + /* Go To Top Button */ + #go-top { margin-left: -22px; } + #go-top a { + width: 54px; + height: 54px; + font-size: 18px; + line-height: 54px; + } + + +} + +/* mobile narrow + -------------------------------------------------------------------------- */ + +@media only screen and (max-width: 480px) { + + /* mobile navigation + -------------------------------------------------------------------- */ + #nav-wrap ul#nav { width: auto; float: none; } + + /* header styles + -------------------------------------------------------------------- */ + header .banner { padding-top: 24px; } + header .banner-text h1 { + font: 40px/1.1em 'opensans-bold', sans-serif; + margin: 0 auto 24px auto; + } + header .banner-text h3 { + font: 14px/1.9em 'librebaskerville-regular', sans-serif; + width: 90%; + } + + /* header social links */ + header .social { font-size: 20px;} + header .social li { margin: 0 6px; } + + /* footer + ------------------------------------------------------------------------ */ + + /* social links */ + footer .social-links { font-size: 20px; } + footer .social-links li { margin-left: 14px; } + +} + + + + + + + + + diff --git a/projects/rocprofiler-compute/src/omniperf_base.py b/projects/rocprofiler-compute/src/omniperf_base.py index ae18f1d9a3..c7b9f8fb38 100644 --- a/projects/rocprofiler-compute/src/omniperf_base.py +++ b/projects/rocprofiler-compute/src/omniperf_base.py @@ -233,10 +233,10 @@ class Omniperf: if self.__analyze_mode == "cli": from omniperf_analyze.analysis_cli import cli_analysis - analyzer = cli_analysis(self.__args,self.__supported_archs) - elif self.__analyze_mode == "webui": + analyzer = cli_analysis(self.__args, self.__supported_archs) + elif self.__analyze_mode == "web_ui": from omniperf_analyze.analysis_webui import webui_analysis - analyzer = webui_analysis(self.__args,self.__supported_archs) + analyzer = webui_analysis(self.__args, self.__supported_archs) else: error("Unsupported anlaysis mode -> %s" % self.__analyze_mode) @@ -252,7 +252,8 @@ class Omniperf: # Create and load new SoC object self.detect_soc(arch) - analyzer.pre_processing(self.__soc) + analyzer.set_soc(self.__soc) + analyzer.pre_processing() analyzer.run_analysis() return diff --git a/projects/rocprofiler-compute/src/omniperf_soc/soc_base.py b/projects/rocprofiler-compute/src/omniperf_soc/soc_base.py index 089dc1d551..5e3d87cd14 100644 --- a/projects/rocprofiler-compute/src/omniperf_soc/soc_base.py +++ b/projects/rocprofiler-compute/src/omniperf_soc/soc_base.py @@ -44,6 +44,7 @@ class OmniSoC_Base(): self.__workload_dir = os.path.join(self.__args.path, self.__args.name, self.__args.target) else: self.__workload_dir = self.__args.path + def __hash__(self): return hash(self.__soc) def __eq__(self, other): diff --git a/projects/rocprofiler-compute/src/omniperf_soc/soc_gfx90a.py b/projects/rocprofiler-compute/src/omniperf_soc/soc_gfx90a.py index e7b97db96c..66fa87cdf2 100644 --- a/projects/rocprofiler-compute/src/omniperf_soc/soc_gfx90a.py +++ b/projects/rocprofiler-compute/src/omniperf_soc/soc_gfx90a.py @@ -96,9 +96,13 @@ class gfx90a_soc (OmniSoC_Base): @demarcate - def analysis_setup(self): + def analysis_setup(self, roofline_parameters=None): """Perform any SoC-specific setup prior to analysis. """ super().analysis_setup() + # configure roofline for analysis + if roofline_parameters: + self.roofline_obj = Roofline(self.get_args(), roofline_parameters) + diff --git a/projects/rocprofiler-compute/src/roofline.py b/projects/rocprofiler-compute/src/roofline.py index ee00c5149c..47b2e4fe3b 100644 --- a/projects/rocprofiler-compute/src/roofline.py +++ b/projects/rocprofiler-compute/src/roofline.py @@ -37,21 +37,288 @@ import numpy as np SYMBOLS = [0, 1, 2, 3, 4, 5, 13, 17, 18, 20] class Roofline: - def __init__(self, args): + def __init__(self, args, run_parameters=None): self.__args = args + self.__run_parameters = run_parameters if run_parameters else { + 'path_to_dir': self.__args.path, + 'device_id': 0, + 'sort_type': 'kernels', + 'mem_level': 'ALL', + 'include_kernel_names': False, + 'is_standalone': False + } + self.__ai_data = None + self.__ceiling_data = None + self.__figure = go.Figure() + if not isinstance(self.__run_parameters['path_to_dir'], list): + self.roof_setup() + def roof_setup(self): # set default workload path if not specified - if self.__args.path == os.path.join(os.getcwd(), 'workloads'): - self.__args.path = os.path.join(self.__args.path, self.__args.name, self.__args.target) + if self.__run_parameters['path_to_dir'] == os.path.join(os.getcwd(), 'workloads'): + self.__run_parameters['path_to_dir'] = os.path.join(self.__run_parameters['path_to_dir'], self.__args.name, self.__args.target) # create new directory for roofline if it doesn't exist - if not os.path.isdir(self.__args.path): - os.makedirs(self.__args.path) + if not os.path.isdir(self.__run_parameters['path_to_dir']): + os.makedirs(self.__run_parameters['path_to_dir']) + + @demarcate + def empirical_roofline( + self, + ret_df, + ): + """Generate a set of empirical roofline plots given a directory containing required profiling and benchmarking data + """ + if self.__run_parameters['include_kernel_names'] and (not self.__run_parameters['is_standalone']): + error("--roof-only is required for --kernel-names") + + # Create arithmetic intensity data that will populate the roofline model + logging.debug("[roofline] Path: ", self.__run_parameters['path_to_dir']) + self.__ai_data = calc_ai(self.__run_parameters['sort_type'], ret_df) + + logging.debug("[roofline] AI at each mem level:") + for i in self.__ai_data: + logging.debug(i, "->", self.__ai_data[i]) + logging.debug("\n") + + # Generate a roofline figure for each data type + fp32_fig = self.generate_plot( + dtype="FP32" + ) + fp16_fig = self.generate_plot( + dtype="FP16" + ) + ml_combo_fig = self.generate_plot( + dtype="I8", + fig=fp16_fig, + ) + # Create a legend and distinct kernel markers. This can be saved, optionally + self.__figure = go.Figure( + go.Scatter( + mode="markers", + x=[0] * 10, + y=self.__ai_data["kernelNames"], + marker_symbol=SYMBOLS, + marker_size=15, + ) + ) + self.__figure.update_layout( + title="Kernel Names and Markers", + margin=dict(b=0, r=0), + xaxis_range=[-1, 1], + xaxis_side="top", + yaxis_side="right", + height=400, + width=1000, + ) + self.__figure.update_xaxes(dtick=1) + # Output will be different depending on interaction type: + # Save PDFs if we're in "standalone roofline" mode, otherwise return HTML to be used in GUI output + if self.__run_parameters['is_standalone']: + dev_id = str(self.__run_parameters['device_id']) + + fp32_fig.write_image(self.__run_parameters['path_to_dir'] + "/empirRoof_gpu-{}_fp32.pdf".format(dev_id)) + ml_combo_fig.write_image( + self.__run_parameters['path_to_dir'] + "/empirRoof_gpu-{}_int8_fp16.pdf".format(dev_id) + ) + # only save a legend if kernel_names option is toggled + if self.__run_parameters['include_kernel_names']: + self.__figure.write_image(self.__run_parameters['path_to_dir'] + "/kernelName_legend.pdf") + time.sleep(1) + # Re-save to remove loading MathJax pop up + fp32_fig.write_image(self.__run_parameters['path_to_dir'] + "/empirRoof_gpu-{}_fp32.pdf".format(dev_id)) + ml_combo_fig.write_image( + self.__run_parameters['path_to_dir'] + "/empirRoof_gpu-{}_int8_fp16.pdf".format(dev_id) + ) + if self.__run_parameters['include_kernel_names']: + self.__figure.write_image(self.__run_parameters['path_to_dir'] + "/kernelName_legend.pdf") + logging.info("[roofline] Empirical Roofline PDFs saved!") + else: + return html.Section( + id="roofline", + children=[ + html.Div( + className="float-container", + children=[ + html.Div( + className="float-child", + children=[ + html.H3( + children="Empirical Roofline Analysis (FP32/FP64)" + ), + dcc.Graph(figure=fp32_fig), + ], + ), + html.Div( + className="float-child", + children=[ + html.H3( + children="Empirical Roofline Analysis (FP16/INT8)" + ), + dcc.Graph(figure=ml_combo_fig), + ], + ), + ], + ) + ], + ) + + + @demarcate + def generate_plot( + self, dtype, fig=None + ) -> go.Figure(): + """Create graph object from ai_data (coordinate points) and ceiling_data (peak FLOP and BW) data. + """ + if fig is None: + fig = go.Figure() + plot_mode = "lines+text" if self.__run_parameters['is_standalone'] else "lines" + self.__ceiling_data = constuct_roof( + roofline_parameters=self.__run_parameters, + dtype=dtype, + ) + logging.debug("[roofline] Ceiling data:\n", self.__ceiling_data) + + ####################### + # Plot ceilings + ####################### + if self.__run_parameters['mem_level'] == "ALL": + cache_hierarchy = ["HBM", "L2", "L1", "LDS"] + else: + cache_hierarchy = self.__run_parameters['mem_level'] + + # Plot peak BW ceiling(s) + for cache_level in cache_hierarchy: + fig.add_trace( + go.Scatter( + x=self.__ceiling_data[cache_level.lower()][0], + y=self.__ceiling_data[cache_level.lower()][1], + name="{}-{}".format(cache_level, dtype), + mode=plot_mode, + hovertemplate="%{text}", + text=[ + "{} GB/s".format(to_int(self.__ceiling_data[cache_level.lower()][2])), + None + if self.__run_parameters['is_standalone'] + else "{} GB/s".format(to_int(self.__ceiling_data[cache_level.lower()][2])), + ], + textposition="top right", + ) + ) + + # Plot peak VALU ceiling + if dtype != "FP16" and dtype != "I8": + fig.add_trace( + go.Scatter( + x=self.__ceiling_data["valu"][0], + y=self.__ceiling_data["valu"][1], + name="Peak VALU-{}".format(dtype), + mode=plot_mode, + hovertemplate="%{text}", + text=[ + None + if self.__run_parameters['is_standalone'] + else "{} GFLOP/s".format(to_int(self.__ceiling_data["valu"][2])), + "{} GFLOP/s".format(to_int(self.__ceiling_data["valu"][2])), + ], + textposition="top left", + ) + ) + + if dtype == "FP16": + pos = "bottom left" + else: + pos = "top left" + # Plot peak MFMA ceiling + fig.add_trace( + go.Scatter( + x=self.__ceiling_data["mfma"][0], + y=self.__ceiling_data["mfma"][1], + name="Peak MFMA-{}".format(dtype), + mode=plot_mode, + hovertemplate="%{text}", + text=[ + None + if self.__run_parameters['is_standalone'] + else "{} GFLOP/s".format(to_int(self.__ceiling_data["mfma"][2])), + "{} GFLOP/s".format(to_int(self.__ceiling_data["mfma"][2])), + ], + textposition=pos, + ) + ) + ####################### + # Plot Application AI + ####################### + if dtype != "I8": + # Plot the arithmetic intensity points for each cache level + fig.add_trace( + go.Scatter( + x=self.__ai_data["ai_l1"][0], + y=self.__ai_data["ai_l1"][1], + name="ai_l1", + mode="markers", + marker={"color": "#00CC96"}, + marker_symbol=SYMBOLS if self.__run_parameters['include_kernel_names'] else None, + ) + ) + fig.add_trace( + go.Scatter( + x=self.__ai_data["ai_l2"][0], + y=self.__ai_data["ai_l2"][1], + name="ai_l2", + mode="markers", + marker={"color": "#EF553B"}, + marker_symbol=SYMBOLS if self.__run_parameters['include_kernel_names'] else None, + ) + ) + fig.add_trace( + go.Scatter( + x=self.__ai_data["ai_hbm"][0], + y=self.__ai_data["ai_hbm"][1], + name="ai_hbm", + mode="markers", + marker={"color": "#636EFA"}, + marker_symbol=SYMBOLS if self.__run_parameters['include_kernel_names'] else None, + ) + ) + + # Set layout + fig.update_layout( + xaxis_title="Arithmetic Intensity (FLOPs/Byte)", + yaxis_title="Performance (GFLOP/sec)", + hovermode="x unified", + margin=dict(l=50, r=50, b=50, t=50, pad=4), + ) + fig.update_xaxes(type="log", autorange=True) + fig.update_yaxes(type="log", autorange=True) + + return fig + + @demarcate + def standalone_roofline(self): + import pandas as pd + from collections import OrderedDict + + # Change vL1D to a interpretable str, if required + if "vL1D" in self.__run_parameters['mem_level']: + self.__run_parameters['mem_level'].remove("vL1D") + self.__run_parameters['mem_level'].append("L1") + + app_path = os.path.join(self.__run_parameters['path_to_dir'], "pmc_perf.csv") + roofline_exists = os.path.isfile(app_path) + if not roofline_exists: + logging.error("[roofline] Error: {} does not exist".format(app_path)) + sys.exit(1) + t_df = OrderedDict() + t_df["pmc_perf"] = pd.read_csv(app_path) + self.__run_parameters['is_standalone'] = True + self.empirical_roofline( + ret_df=t_df + ) # Main methods @abstractmethod def pre_processing(self): - self.roof_setup() if self.__args.roof_only: # check for sysinfo logging.info("[roofline] Checking for sysinfo.csv in " + str(self.__args.path)) @@ -88,7 +355,9 @@ class Roofline: @abstractmethod def post_processing(self): if self.__args.roof_only: - standalone_roofline(self.__args.path, self.__args.device, self.__args.sort, self.__args.mem_level, self.__args.kernel_names, self.__args.verbose) + self.standalone_roofline() + + def to_int(a): if str(type(a)) == "": @@ -96,284 +365,7 @@ def to_int(a): else: return int(a) -@demarcate -def standalone_roofline(path_to_dir, dev_id, sort_type, targ_mem_level, kernel_names, verbose): - import pandas as pd - from collections import OrderedDict - # Change vL1D to a interpretable str, if required - if "vL1D" in targ_mem_level: - targ_mem_level.remove("vL1D") - targ_mem_level.append("L1") - app_path = path_to_dir + "/pmc_perf.csv" - roofline_exists = os.path.isfile(app_path) - if not roofline_exists: - logging.error("[roofline] Error: {} does not exist".format(app_path)) - sys.exit(1) - t_df = OrderedDict() - t_df["pmc_perf"] = pd.read_csv(app_path) - empirical_roofline( - path_to_dir, - t_df, - verbose, - dev_id, # [Optional] Specify device id to collect roofline info from - sort_type, # [Optional] Sort AI by top kernels or dispatches - targ_mem_level, # [Optional] Toggle particular level(s) of memory hierarchy - kernel_names, # [Optional] Toggle overlay of kernel names in plot - True, # [Optional] Generate a standalone roofline analysis - ) -@demarcate -def generate_plot( - roof_specs, ai_data, targ_mem_level, is_standalone, kernel_names, verbose, fig=None -) -> go.Figure(): - """Create graph object from ai_data (coordinate points) and ceiling_data (peak FLOP and BW) data. - """ - if fig is None: - fig = go.Figure() - plot_mode = "lines+text" if is_standalone else "lines" - ceiling_data = constuct_roof(roof_specs, targ_mem_level, verbose) - logging.debug("[roofline] Ceiling data:\n", ceiling_data) - ####################### - # Plot ceilings - ####################### - if targ_mem_level == "ALL": - cache_hierarchy = ["HBM", "L2", "L1", "LDS"] - else: - cache_hierarchy = targ_mem_level - - # Plot peak BW ceiling(s) - for cache_level in cache_hierarchy: - fig.add_trace( - go.Scatter( - x=ceiling_data[cache_level.lower()][0], - y=ceiling_data[cache_level.lower()][1], - name="{}-{}".format(cache_level, roof_specs["dtype"]), - mode=plot_mode, - hovertemplate="%{text}", - text=[ - "{} GB/s".format(to_int(ceiling_data[cache_level.lower()][2])), - None - if is_standalone - else "{} GB/s".format(to_int(ceiling_data[cache_level.lower()][2])), - ], - textposition="top right", - ) - ) - - # Plot peak VALU ceiling - if roof_specs["dtype"] != "FP16" and roof_specs["dtype"] != "I8": - fig.add_trace( - go.Scatter( - x=ceiling_data["valu"][0], - y=ceiling_data["valu"][1], - name="Peak VALU-{}".format(roof_specs["dtype"]), - mode=plot_mode, - hovertemplate="%{text}", - text=[ - None - if is_standalone - else "{} GFLOP/s".format(to_int(ceiling_data["valu"][2])), - "{} GFLOP/s".format(to_int(ceiling_data["valu"][2])), - ], - textposition="top left", - ) - ) - - if roof_specs["dtype"] == "FP16": - pos = "bottom left" - else: - pos = "top left" - # Plot peak MFMA ceiling - fig.add_trace( - go.Scatter( - x=ceiling_data["mfma"][0], - y=ceiling_data["mfma"][1], - name="Peak MFMA-{}".format(roof_specs["dtype"]), - mode=plot_mode, - hovertemplate="%{text}", - text=[ - None - if is_standalone - else "{} GFLOP/s".format(to_int(ceiling_data["mfma"][2])), - "{} GFLOP/s".format(to_int(ceiling_data["mfma"][2])), - ], - textposition=pos, - ) - ) - ####################### - # Plot Application AI - ####################### - if roof_specs["dtype"] != "I8": - # Plot the arithmetic intensity points for each cache level - fig.add_trace( - go.Scatter( - x=ai_data["ai_l1"][0], - y=ai_data["ai_l1"][1], - name="ai_l1", - mode="markers", - marker={"color": "#00CC96"}, - marker_symbol=SYMBOLS if kernel_names else None, - ) - ) - fig.add_trace( - go.Scatter( - x=ai_data["ai_l2"][0], - y=ai_data["ai_l2"][1], - name="ai_l2", - mode="markers", - marker={"color": "#EF553B"}, - marker_symbol=SYMBOLS if kernel_names else None, - ) - ) - fig.add_trace( - go.Scatter( - x=ai_data["ai_hbm"][0], - y=ai_data["ai_hbm"][1], - name="ai_hbm", - mode="markers", - marker={"color": "#636EFA"}, - marker_symbol=SYMBOLS if kernel_names else None, - ) - ) - - # Set layout - fig.update_layout( - xaxis_title="Arithmetic Intensity (FLOPs/Byte)", - yaxis_title="Performance (GFLOP/sec)", - hovermode="x unified", - margin=dict(l=50, r=50, b=50, t=50, pad=4), - ) - fig.update_xaxes(type="log", autorange=True) - fig.update_yaxes(type="log", autorange=True) - - return fig - -@demarcate -def empirical_roofline( - path_to_dir, - ret_df, - verbose, - dev_id=None, - sort_type="kernels", - targ_mem_level="ALL", - incl_kernel_names=False, - is_standalone=False, -): - """Generate a set of empirical roofline plots given a directory containing required profiling and benchmarking data - """ - if incl_kernel_names and (not is_standalone): - logging.error("ERROR: --roof-only is required for --kernel-names") - sys.exit(1) - - # Set roofline specifications for targeted data types - fp32_details = { - "path": path_to_dir, - "sort": sort_type, - "device": 0, # hardcode gpu-id (for benchmark data extraction) to device 0 - "dtype": "FP32", - } - fp16_details = { - "path": path_to_dir, - "sort": sort_type, - "device": 0, - "dtype": "FP16", - } - int8_details = { - "path": path_to_dir, - "sort": sort_type, - "device": 0, - "dtype": "I8", - } - - # Create arithmetic intensity data that will populate the roofline model - logging.debug("[roofline] Path: ", path_to_dir) - ai_data = calc_ai(sort_type, ret_df, verbose) - - logging.debug("[roofline] AI at each mem level:") - for i in ai_data: - logging.debug(i, "->", ai_data[i]) - logging.debug("\n") - - # Generate a roofline figure for each data type - fp32_fig = generate_plot( - fp32_details, ai_data, targ_mem_level, is_standalone, incl_kernel_names, verbose - ) - fp16_fig = generate_plot( - fp16_details, ai_data, targ_mem_level, is_standalone, incl_kernel_names, verbose - ) - ml_combo_fig = generate_plot( - int8_details, ai_data, targ_mem_level, is_standalone, incl_kernel_names, verbose, fp16_fig - ) - # Create a legend and distinct kernel markers. This can be saved, optionally - legend = go.Figure( - go.Scatter( - mode="markers", - x=[0] * 10, - y=ai_data["kernelNames"], - marker_symbol=SYMBOLS, - marker_size=15, - ) - ) - legend.update_layout( - title="Kernel Names and Markers", - margin=dict(b=0, r=0), - xaxis_range=[-1, 1], - xaxis_side="top", - yaxis_side="right", - height=400, - width=1000, - ) - legend.update_xaxes(dtick=1) - # Output will be different depending on interaction type: - # Save PDFs if we're in "standalone roofline" mode, otherwise return HTML to be used in GUI output - if is_standalone: - dev_id = "ALL" if dev_id == -1 else str(dev_id) - - fp32_fig.write_image(path_to_dir + "/empirRoof_gpu-{}_fp32.pdf".format(dev_id)) - ml_combo_fig.write_image( - path_to_dir + "/empirRoof_gpu-{}_int8_fp16.pdf".format(dev_id) - ) - # only save a legend if kernel_names option is toggled - if incl_kernel_names: - legend.write_image(path_to_dir + "/kernelName_legend.pdf") - time.sleep(1) - # Re-save to remove loading MathJax pop up - fp32_fig.write_image(path_to_dir + "/empirRoof_gpu-{}_fp32.pdf".format(dev_id)) - ml_combo_fig.write_image( - path_to_dir + "/empirRoof_gpu-{}_int8_fp16.pdf".format(dev_id) - ) - if incl_kernel_names: - legend.write_image(path_to_dir + "/kernelName_legend.pdf") - logging.info("[roofline] Empirical Roofline PDFs saved!") - else: - return html.Section( - id="roofline", - children=[ - html.Div( - className="float-container", - children=[ - html.Div( - className="float-child", - children=[ - html.H3( - children="Empirical Roofline Analysis (FP32/FP64)" - ), - dcc.Graph(figure=fp32_fig), - ], - ), - html.Div( - className="float-child", - children=[ - html.H3( - children="Empirical Roofline Analysis (FP16/INT8)" - ), - dcc.Graph(figure=ml_combo_fig), - ], - ), - ], - ) - ], - ) diff --git a/projects/rocprofiler-compute/src/utils/gui.py b/projects/rocprofiler-compute/src/utils/gui.py new file mode 100644 index 0000000000..7dd1ea3a43 --- /dev/null +++ b/projects/rocprofiler-compute/src/utils/gui.py @@ -0,0 +1,379 @@ +##############################################################################bl +# MIT License +# +# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +##############################################################################el + +import sys +import pandas as pd +from dash import html, dash_table +import plotly.express as px +import colorlover + +from utils import schema + +pd.set_option( + "mode.chained_assignment", None +) # ignore SettingWithCopyWarning pandas warning + +IS_DARK = True #TODO: Remove hardcoded in favor of class property + +################## +# HELPER FUNCTIONS +################## +def filter_df(column, df, filt): + filt_df = df + if filt != []: + filt_df = df.loc[df[schema.pmc_perf_file_prefix][column].astype(str).isin(filt)] + return filt_df + + +def multi_bar_chart(table_id, display_df): + if table_id == 1604: + nested_bar = {"NC": {}, "UC": {}, "RW": {}, "CC": {}} + for index, row in display_df.iterrows(): + nested_bar[row["Coherency"]][row["Xfer"]] = row["Avg"] + if table_id == 1704: + nested_bar = {"Read": {}, "Write": {}} + for index, row in display_df.iterrows(): + nested_bar[row["Transaction"]][row["Type"]] = row["Avg"] + + return nested_bar + + +def discrete_background_color_bins(df, n_bins=5, columns="all"): + bounds = [i * (1.0 / n_bins) for i in range(n_bins + 1)] + if columns == "all": + if "id" in df: + df_numeric_columns = df.select_dtypes("number").drop(["id"], axis=1) + else: + df_numeric_columns = df.select_dtypes("number") + else: + df_numeric_columns = df[columns] + df_max = df_numeric_columns.max().max() + df_min = df_numeric_columns.min().min() + ranges = [((df_max - df_min) * i) + df_min for i in bounds] + styles = [] + legend = [] + for i in range(1, len(bounds)): + min_bound = ranges[i - 1] + max_bound = ranges[i] + backgroundColor = colorlover.scales[str(n_bins)]["seq"]["Blues"][i - 1] + color = "white" if i > len(bounds) / 2.0 else "inherit" + + for column in df_numeric_columns: + styles.append( + { + "if": { + "filter_query": ( + "{{{column}}} >= {min_bound}" + + ( + " && {{{column}}} < {max_bound}" + if (i < len(bounds) - 1) + else "" + ) + ).format(column=column, min_bound=min_bound, max_bound=max_bound), + "column_id": column, + }, + "backgroundColor": backgroundColor, + "color": color, + } + ) + legend.append( + html.Div( + style={"display": "inline-block", "width": "60px"}, + children=[ + html.Div( + style={ + "backgroundColor": backgroundColor, + "borderLeft": "1px rgb(50, 50, 50) solid", + "height": "10px", + } + ), + html.Small(round(min_bound, 2), style={"paddingLeft": "2px"}), + ], + ) + ) + + return (styles, html.Div(legend, style={"padding": "5px 0 5px 0"})) + + +#################### +# GRAPHICAL ELEMENTS +#################### +def build_bar_chart(display_df, table_config, barchart_elements, norm_filt): + """ + Read data into a bar chart. ID will determine which subtype of barchart. + """ + d_figs = [] + + # Insr Mix bar chart + if table_config["id"] in barchart_elements["instr_mix"]: + display_df["Avg"] = [ + x.astype(int) if x != "" else int(0) for x in display_df["Avg"] + ] + df_unit = display_df["Unit"][0] + d_figs.append( + px.bar( + display_df, + x="Avg", + y="Metric", + color="Avg", + labels={"Avg": "# of {}".format(df_unit.lower())}, + height=400, + orientation="h", + ) + ) + + # Multi bar chart + elif table_config["id"] in barchart_elements["multi_bar"]: + display_df["Avg"] = [ + x.astype(int) if x != "" else int(0) for x in display_df["Avg"] + ] + df_unit = display_df["Unit"][0] + nested_bar = multi_bar_chart(table_config["id"], display_df) + # generate chart for each coherency + for group, metric in nested_bar.items(): + d_figs.append( + px.bar( + title=group, + x=metric.values(), + y=metric.keys(), + labels={"x": df_unit, "y": ""}, + text=metric.values(), + orientation="h", + height=200, + ) + .update_xaxes(showgrid=False, rangemode="nonnegative") + .update_yaxes(showgrid=False) + .update_layout(title_x=0.5) + ) + # L2 Cache per channel + elif table_config["id"] in barchart_elements["l2_cache_per_chan"]: + nested_bar = {} + channels = [] + for colName, colData in display_df.items(): + if colName == "Channel": + channels = list(colData.values) + else: + display_df[colName] = [ + x.astype(float) if x != "" and x != None else float(0) + for x in display_df[colName] + ] + nested_bar[colName] = list(display_df[colName]) + for group, metric in nested_bar.items(): + d_figs.append( + px.bar( + title=group[0 : group.rfind("(")], + x=channels, + y=metric, + labels={ + "x": "Channel", + "y": group[group.rfind("(") + 1 : len(group) - 1].replace( + "per", norm_filt + ), + }, + ).update_yaxes(rangemode="nonnegative") + ) + + # Speed-of-light bar chart + elif table_config["id"] in barchart_elements["sol"]: + display_df["Value"] = [ + x.astype(float) if x != "" else float(0) for x in display_df["Value"] + ] + if table_config["id"] == 1701: + # special layout for L2 Cache SOL + d_figs.append( + px.bar( + display_df[display_df["Unit"] == "Pct"], + x="Value", + y="Metric", + color="Value", + range_color=[0, 100], + labels={"Value": "%"}, + height=220, + orientation="h", + ).update_xaxes(range=[0, 110], ticks="inside") + ) # append first % chart + d_figs.append( + px.bar( + display_df[display_df["Unit"] == "Gb/s"], + x="Value", + y="Metric", + color="Value", + range_color=[0, 1638], + labels={"Value": "GB/s"}, + height=220, + orientation="h", + ).update_xaxes(range=[0, 1638]) + ) # append second GB/s chart + else: + d_figs.append( + px.bar( + display_df, + x="Value", + y="Metric", + color="Value", + range_color=[0, 100], + labels={"Value": "%"}, + height=400, + orientation="h", + ).update_xaxes(range=[0, 110]) + ) + else: + print( + "ERROR: Table id {}. Cannot determine barchart type.".format( + table_config["id"] + ) + ) + sys.exit(-1) + + # update layout for each of the charts + for fig in d_figs: + fig.update_layout( + margin=dict(l=50, r=50, b=50, t=50, pad=4), + paper_bgcolor="rgba(0,0,0,0)", + plot_bgcolor="rgba(0,0,0,0)", + font={"color": "#ffffff"}, + ) + return d_figs + + +def build_table_chart( + display_df, table_config, original_df, display_columns, comparable_columns, decimal +): + """ + Read data into a DashTable + """ + d_figs = [] + # build comlumns/header with formatting + formatted_columns = [] + for col in display_df.columns: + if ( + str(col).lower() == "pct" + or str(col).lower() == "pop" + or str(col).lower() == "percentage" + ): + formatted_columns.append( + dict( + id=col, + name=col, + type="numeric", + format={"specifier": ".{}f".format(decimal)}, + ) + ) + elif col in comparable_columns: + formatted_columns.append( + dict( + id=col, + name=col, + type="numeric", + format={"specifier": ".{}f".format(decimal)}, + ) + ) + else: + formatted_columns.append(dict(id=col, name=col, type="text")) + + # tooltip shows only on the 1st col for now if 'Tips' available + table_tooltip = ( + [ + { + column: { + "value": str(row["Tips"]) + if column == display_columns[0] and row["Tips"] + else "", + "type": "markdown", + } + for column, value in row.items() + } + for row in original_df.to_dict("records") + ] + if "Tips" in original_df.columns.values.tolist() + else None + ) + + # build data table with columns, tooltip, df and other properties + d_t = dash_table.DataTable( + id=str(table_config["id"]), + sort_action="native", + sort_mode="multi", + columns=formatted_columns, + tooltip_data=table_tooltip, + # left-aligning the text of the 1st col + style_cell_conditional=[ + {"if": {"column_id": display_columns[0]}, "textAlign": "left"} + ], + # style cell + style_cell={"maxWidth": "500px"}, + # display style + style_header={ + "backgroundColor": "rgb(30, 30, 30)", + "color": "white", + "fontWeight": "bold", + } + if IS_DARK + else {}, + style_data={ + "backgroundColor": "rgb(50, 50, 50)", + "color": "white", + "whiteSpace": "normal", + "height": "auto", + } + if IS_DARK + else {}, + style_data_conditional=[ + {"if": {"row_index": "odd"}, "backgroundColor": "rgb(60, 60, 60)"}, + { + "if": {"column_id": "PoP", "filter_query": "{PoP} > 50"}, + "backgroundColor": "#ffa90a", + "color": "white", + }, + { + "if": {"column_id": "PoP", "filter_query": "{PoP} > 80"}, + "backgroundColor": "#ff120a", + "color": "white", + }, + { + "if": { + "column_id": "Avg", + "filter_query": "{Unit} = Pct && {Avg} > 50", + }, + "backgroundColor": "#ffa90a", + "color": "white", + }, + { + "if": { + "column_id": "Avg", + "filter_query": "{Unit} = Pct && {Avg} > 80", + }, + "backgroundColor": "#ff120a", + "color": "white", + }, + ] + if IS_DARK + else [], + # the df to display + data=display_df.to_dict("records"), + ) + # print("DATA: \n", display_df.to_dict('records')) + d_figs.append(d_t) + return d_figs + # print(d_t.columns) \ No newline at end of file diff --git a/projects/rocprofiler-compute/src/utils/gui_components/header.py b/projects/rocprofiler-compute/src/utils/gui_components/header.py new file mode 100644 index 0000000000..7a62a4d616 --- /dev/null +++ b/projects/rocprofiler-compute/src/utils/gui_components/header.py @@ -0,0 +1,341 @@ +##############################################################################bl +# MIT License +# +# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +##############################################################################el + +from dash import html, dcc +import dash_bootstrap_components as dbc + +from utils import schema + +avail_normalizations = ["per_wave", "per_cycle", "per_second", "per_kernel"] + + +# List all the unique column values for desired column in df, 'target_col' +def list_unique(orig_list, is_numeric): + list_set = set(orig_list) + unique_list = list(list_set) + if is_numeric: + unique_list.sort() + return unique_list + + +def create_span(input): + elmt = {} + elmt["label"] = (html.Span(str(input), title=str(input)),) + elmt["value"] = str(input) + return elmt + + +def get_header(raw_pmc, input_filters, kernel_names): + return html.Header( + id="home", + children=[ + html.Nav( + id="nav-wrap", + children=[ + html.Ul( + id="nav", + children=[ + html.Div( + className="nav-left", + children=[ + dbc.DropdownMenu( + [ + dbc.DropdownMenuItem("Overview", header=True), + dbc.DropdownMenuItem( + "Roofline", + href="#roofline", + external_link=True, + ), + dbc.DropdownMenuItem( + "Top Stat", + href="#top_stat", + external_link=True, + ), + dbc.DropdownMenuItem( + "System Info", + href="#system_info", + external_link=True, + ), + dbc.DropdownMenuItem( + "System Speed-of-Light", + href="#system_speed-of-light", + external_link=True, + ), + dbc.DropdownMenuItem("Compute", header=True), + dbc.DropdownMenuItem( + "Command Processor (CPF/CPC)", + href="#command_processor_cpccpf", + external_link=True, + ), + dbc.DropdownMenuItem( + "Shader Processor Input (SPI)", + href="#shader_processor_input_spi", + external_link=True, + ), + dbc.DropdownMenuItem( + "Wavefront", + href="#wavefront", + external_link=True, + ), + dbc.DropdownMenuItem( + "Compute Units - Instruction Mix", + href="#compute_units_-_instruction_mix", + external_link=True, + ), + dbc.DropdownMenuItem( + "Compute Units - Compute Pipeline", + href="#compute_units_-_compute_pipeline", + external_link=True, + ), + dbc.DropdownMenuItem("Cache", header=True), + dbc.DropdownMenuItem( + "Local Data Share (LDS)", + href="#local_data_share_lds", + external_link=True, + ), + dbc.DropdownMenuItem( + "Instruction Cache", + href="#instruction_cache", + external_link=True, + ), + dbc.DropdownMenuItem( + "Scalar L1 Data Cache", + href="#scalar_l1_data_cache", + external_link=True, + ), + dbc.DropdownMenuItem( + "Texture Addresser & Texture Data (TA/TD)", + href="#texture_addresser_and_texture_data_tatd", + external_link=True, + ), + dbc.DropdownMenuItem( + "Vector L1 Data Cache", + href="#vector_l1_data_cache", + external_link=True, + ), + dbc.DropdownMenuItem( + "L2 Cache", + href="#l2_cache", + external_link=True, + ), + dbc.DropdownMenuItem( + "L2 Cache (per channel)", + href="#l2_cache_per_channel", + external_link=True, + ), + ], + label="Menu", + menu_variant="dark", + ), + ], + ), + html.Li( + className="filter", + children=[ + html.Div( + children=[ + html.A( + className="smoothscroll", + children=["Normalization:"], + ), + dcc.Dropdown( + avail_normalizations, + id="norm-filt", + value=input_filters["normalization"], + clearable=False, + style={"width": "150px"}, + ), + ] + ) + ], + ), + html.Li( + className="filter", + children=[ + html.Div( + children=[ + html.A( + className="smoothscroll", + children=["GCD:"], + ), + dcc.Dropdown( + list_unique( + list( + map( + str, + raw_pmc[ + schema.pmc_perf_file_prefix + ]["gpu-id"], + ) + ), + True, + ), # list avail gcd ids + id="gcd-filt", + multi=True, + value=input_filters[ + "gpu" + ], # default to any gpu filters passed as args + placeholder="ALL", + clearable=False, + style={"width": "60px"}, + ), + ] + ) + ], + ), + html.Li( + className="filter", + children=[ + html.Div( + children=[ + html.A( + className="smoothscroll", + children=["Dispatch Filter:"], + ), + dcc.Dropdown( + list( + map( + str, + raw_pmc[ + schema.pmc_perf_file_prefix + ]["Index"], + ) + ), + id="disp-filt", + multi=True, + value=input_filters[ + "dispatch" + ], # default to any dispatch filters passed as args + placeholder="ALL", + style={"width": "150px"}, + ), + ] + ) + ], + ), + html.Li( + className="filter", + children=[ + html.Div( + children=[ + html.A( + className="smoothscroll", + children=["Top N:"], + ), + dcc.Dropdown( + [1, 5, 10, 15, 20, 50, 100], + id="top-n-filt", + value=input_filters[ + "top_n" + ], # default to any dispatch filters passed as args + clearable=False, + style={"width": "50px"}, + ), + ] + ) + ], + ), + html.Li( + className="filter", + children=[ + html.Div( + children=[ + html.A( + className="smoothscroll", + children=["Kernels:"], + ), + dcc.Dropdown( + list( + map( + create_span, + list_unique( + list( + map( + str, + raw_pmc[ + schema.pmc_perf_file_prefix + ]["KernelName"], + ) + ), + False, + ), # list avail kernel names + ) + ), + id="kernel-filt", + multi=True, + value=kernel_names, + optionHeight=150, + placeholder="ALL", + style={ + "width": "600px", # TODO: Change these widths to % rather than fixed value + }, + ), + ] + ) + ], + ), + html.Div( + className="nav-right", + children=[ + html.Li( + children=[ + # Report bug button + html.A( + href="", + children=[ + html.Button( + className="report", + children=["Report Bug"], + ) + ], + ) + ] + ) + ], + ), + ], + ) + ], + ), + html.Div( + className="row banner", + children=[ + html.H3( + children=["Placeholder. Guided Analysis coming soon..."], + style={"color": "white"}, + ), + ], + ), + html.P( + className="scrolldown", + children=[ + html.A( + className="smoothscroll", + href="#roofline", + children=[html.I(className="icon-down-circle")], + ) + ], + ), + ], + ) diff --git a/projects/rocprofiler-compute/src/utils/gui_components/memchart.py b/projects/rocprofiler-compute/src/utils/gui_components/memchart.py new file mode 100644 index 0000000000..f8af87d547 --- /dev/null +++ b/projects/rocprofiler-compute/src/utils/gui_components/memchart.py @@ -0,0 +1,1944 @@ +##############################################################################bl +# MIT License +# +# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +##############################################################################el + +import sys + +from dash import html +from dash_svg import Svg, G, Path, Rect, Text + +hidden_columns = ["Tips", "coll_level"] + + +def insert_chart_data(mem_data, base_data): + if len(mem_data) != 1: + print("Memory Chart config doesn't follow expected formatting") + sys.exit(1) + + table_config = mem_data[0]["metric_table"] + + original_df = base_data.dfs[table_config["id"]] + + display_columns = original_df.columns.values.tolist().copy() + display_df = original_df[display_columns] + + alias = display_df["Alias"].values + values = display_df["Value"].values + + mem_values = {} + for i in range(0, len(alias)): + mem_values[alias[i]] = values[i] + + return G( + className="data", + children=[ + Text( + x="386", + y="46", + id="salu", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["salu_"], + ), + Text( + x="386", + y="96", + id="smem", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["smem_"], + ), + Text( + x="386", + y="146", + id="valu", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["valu_"], + ), + Text( + x="386", + y="196", + id="mfma", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["mfma_"], + ), + Text( + x="386", + y="245", + id="vmem", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["vmem_"], + ), + Text( + x="386", + y="296", + id="lds", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["lds_"], + ), + Text( + x="386", + y="344", + id="gws", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["gws_"], + ), + Text( + x="386", + y="396", + id="br", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["br_"], + ), + Text( + x="1435", + y="285", + id="fabric_rd_lat", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["fabric_rd_lat_"], + ), + Text( + x="1435", + y="310", + id="fabric_wr_lat", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["fabric_wr_lat_"], + ), + Text( + x="1435", + y="336", + id="fabric_atom_lat", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["fabric_atom_lat_"], + ), + Text( + x="1145", + y="213", + id="l2_rd", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["l2_rd_"], + ), + Text( + x="1145", + y="238", + id="l2_wr", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["l2_wr_"], + ), + Text( + x="1145", + y="264", + id="l2_atom", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["l2_atom_"], + ), + Text( + x="839", + y="117", + id="lds_lat", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["lds_lat_"], + ), + Text( + x="838", + y="372", + id="sl1_hit", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["sl1_hit_"], + ), + Text( + x="838", + y="404", + id="sl1_lat", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["sl1_lat_"], + ), + Text( + x="837", + y="491", + id="il1_hit", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["il1_hit_"], + ), + Text( + x="837", + y="522", + id="il1_lat", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["il1_lat_"], + ), + Text( + x="1578", + y="240", + id="hbm_rd", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["hbm_rd_"], + ), + Text( + x="1577", + y="269", + id="hbm_wr", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["hbm_wr_"], + ), + Text( + x="723", + y="78", + id="lds_req", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["lds_req_"], + ), + Text( + x="708", + y="204", + id="vl1_rd", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["vl1_rd_"], + ), + Text( + x="708", + y="233", + id="vl1_wr", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["vl1_wr_"], + ), + Text( + x="716", + y="265", + id="vl1_atom", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["vl1_atom_"], + ), + Text( + x="1145", + y="292", + id="l2_hit", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["l2_hit_"], + ), + Text( + x="1145", + y="356", + id="l2_rd_lat", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["l2_rd_lat_"], + ), + Text( + x="1145", + y="382", + id="l2_wr_lat", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["l2_wr_lat_"], + ), + Text( + x="840", + y="193", + id="vl1_hit", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["vl1_hit_"], + ), + Text( + x="840", + y="224", + id="vl1_lat", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["vl1_lat_"], + ), + Text( + x="839", + y="85", + id="lds_util", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["lds_util_"], + ), + Text( + x="840", + y="256", + id="vl1_coales", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["vl1_coales_"], + ), + Text( + x="1015", + y="500", + id="il1_l2_req", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["il1_l2_req_"], + ), + Text( + x="838", + y="288", + id="vl1_stall", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["vl1_stall_"], + ), + Text( + x="492", + y="498", + id="il1_fetch", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["il1_fetch_"], + ), + Text( + x="52", + y="313", + id="wave_occ", + fill="#FFFF33", + fontSize="20px", + fontWeight="bold", + children=mem_values["wave_occ_"], + ), + Text( + x="49", + y="394", + id="wave_life", + fill="#FFFF33", + fontSize="20px", + fontWeight="bold", + children=mem_values["wave_life_"], + ), + Text( + x="480", + y="99", + id="active_cu", + fill="#FFFF33", + fontSize="20px", + fontWeight="bold", + children=mem_values["active_cu_"], + ), # x=454 + Text( + x="580", + y="226", + id="lds_alloc", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["lds_alloc_"], + ), + Text( + x="580", + y="255", + id="scratch_alloc", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["scratch_alloc_"], + ), + Text( + x="580", + y="298", + id="wavefronts", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["wavefronts_"], + ), + Text( + x="580", + y="328", + id="workgroups", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["workgroups_"], + ), + Text( + x="580", + y="154", + id="vgpr", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["vgpr_"], + ), + Text( + x="581", + y="183", + id="sgpr", + fill="rgb(0, 0, 0)", + fontSize="12px", + children=mem_values["sgpr_"], + ), + Text( + x="709", + y="384", + id="sl1_rd", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["sl1_rd_"], + ), + Text( + x="1000", + y="203", + id="vl1_l2_rd", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["vl1_l2_rd_"], + ), + Text( + x="1000", + y="232", + id="vl1_l2_wr", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["vl1_l2_wr_"], + ), + Text( + x="1008", + y="264", + id="vl1_l2_atom", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["vl1_l2_atom_"], + ), + Text( + x="1000", + y="351", + id="sl1_l2_rd", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["sl1_l2_rd_"], + ), + Text( + x="1000", + y="380", + id="sl1_l2_wr", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["sl1_l2_wr_"], + ), + Text( + x="1008", + y="412", + id="sl1_l2_atom", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["sl1_l2_atom_"], + ), + Text( + x="1317", + y="243", + id="l2_fabric_rd", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["l2_fabric_rd_"], + ), + Text( + x="1317", + y="272", + id="l2_fabric_wr", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["l2_fabric_wr_"], + ), + Text( + x="1319", + y="303", + id="l2_fabric_atom", + fill="#FFFFFF", + fontSize="12px", + children=mem_values["l2_fabric_atom_"], + ), + ], + ) + + +def get_memchart(mem_data, base_data): + return html.Section( + id="memchart", + children=[ + html.Div( + id="memchart-svg", + children=[ + Svg( + children=[ + G( + children=[ + G( + className="instr-buff", + children=[ + Rect(x="30", y="25.5"), + Rect(x="20", y="32"), + Rect(x="10", y="42"), + Rect(x="0", y="52"), + ], + ), + G( + className="fabric", + children=[ + Rect(x="1373", y="213"), + Rect(x="1363", y="203"), + ], + ), + G( + className="cache", + children=[ + Rect(x="757", y="460"), + Rect(x="757", y="345"), + Rect(id="a3", x="757", y="32"), + Rect(id="b3", x="757", y="165"), + ], + ), + G( + className="fabric-connections", + children=[ + Rect(x="1383", y="56"), + Rect(x="1383", y="451"), + Rect(x="1606.69", y="227.43"), + ], + ), + G( + className="inner-inst-buff", + children=[ + Rect(x="20", y="92"), + Rect(x="20", y="170.28"), + ], + ), + G( + className="misc-rec", + children=[ + Rect(x="1063", y="32"), + Rect(id="a6", x="326.25", y="138.25"), + Rect(id="b6", x="450", y="122"), + ], + ), + G( + className="val-1", + children=[ + Rect(x="319", y="32", rx="3", ry="3"), + Rect(x="319", y="82", rx="3", ry="3"), + Rect(x="319", y="132", rx="3", ry="3"), + Rect(x="319", y="182", rx="3", ry="3"), + Rect(x="319", y="231", rx="3", ry="3"), + Rect(x="319", y="282", rx="3", ry="3"), + Rect(x="319", y="329.5", rx="3", ry="3"), + Rect(x="319", y="382", rx="3", ry="3"), + Rect(x="1367.69", y="271", rx="3", ry="3"), + Rect(x="1367.69", y="296.5", rx="3", ry="3"), + Rect(x="1367.69", y="322.5", rx="3", ry="3"), + Rect(x="1078", y="199", rx="3", ry="3"), + Rect(x="1078", y="224.5", rx="3", ry="3"), + Rect(x="1078", y="250.5", rx="3", ry="3"), + Rect(x="771.44", y="103", rx="3", ry="3"), + Rect(x="770.44", y="358.75", rx="3", ry="3"), + Rect(x="770.44", y="390.25", rx="3", ry="3"), + Rect(x="769.44", y="477", rx="3", ry="3"), + Rect(x="769.44", y="508.5", rx="3", ry="3"), + Rect(x="1078", y="278", rx="3", ry="3"), + Rect(x="1078", y="342.5", rx="3", ry="3"), + Rect(x="1078", y="368.5", rx="3", ry="3"), + Rect(x="772.44", y="179", rx="3", ry="3"), + Rect(x="772.44", y="210.18", rx="3", ry="3"), + Rect(x="771.44", y="71.28", rx="3", ry="3"), + Rect(x="772.44", y="242", rx="3", ry="3"), + Rect(x="770.44", y="274.5", rx="3", ry="3"), + ], + ), + G( + className="val-2", + children=[ + Rect(x="362", y="32", rx="3", ry="3"), + Rect(x="362", y="82", rx="3", ry="3"), + Rect(x="362", y="132", rx="3", ry="3"), + Rect(x="362", y="182", rx="3", ry="3"), + Rect(x="362", y="231", rx="3", ry="3"), + Rect(x="362", y="282", rx="3", ry="3"), + Rect(x="362", y="329.5", rx="3", ry="3"), + Rect(x="362", y="382", rx="3", ry="3"), + ], + ), + G( + className="val-3", + children=[ + Rect(x="1410.69", y="271", rx="3", ry="3"), + Rect(x="1410.69", y="296.5", rx="3", ry="3"), + Rect(x="1410.69", y="322.5", rx="3", ry="3"), + Rect(x="1121", y="199", rx="3", ry="3"), + Rect(x="1121", y="224.5", rx="3", ry="3"), + Rect(x="1121", y="250.5", rx="3", ry="3"), + Rect(x="814.44", y="103", rx="3", ry="3"), + Rect(x="813.44", y="358.75", rx="3", ry="3"), + Rect(x="813.44", y="390.25", rx="3", ry="3"), + Rect(x="812.44", y="477", rx="3", ry="3"), + Rect(x="812.44", y="508.5", rx="3", ry="3"), + Rect(x="1121", y="278", rx="3", ry="3"), + Rect(x="1121", y="342.5", rx="3", ry="3"), + Rect(x="1121", y="368.5", rx="3", ry="3"), + Rect(x="815.44", y="179", rx="3", ry="3"), + Rect(x="815.44", y="210.18", rx="3", ry="3"), + Rect(x="814.44", y="71.28", rx="3", ry="3"), + Rect(x="815.44", y="242", rx="3", ry="3"), + Rect(x="813.44", y="274.5", rx="3", ry="3"), + ], + ), + G( + className="val-4", + children=[ + Rect(x="460", y="212.5", rx="3", ry="3"), + Rect(x="460", y="241", rx="3", ry="3"), + Rect(x="460", y="284.54", rx="3", ry="3"), + Rect(x="460", y="314", rx="3", ry="3"), + Rect(x="460", y="140.32", rx="3", ry="3"), + Rect(x="460", y="169.16", rx="3", ry="3"), + ], + ), + G( + className="val-5", + children=[ + Rect( + x="548.25", + y="212.98", + rx="2.86", + ry="2.86", + ), + Rect( + x="548.25", + y="241.48", + rx="2.86", + ry="2.86", + ), + Rect( + x="548.25", + y="285.02", + rx="2.86", + ry="2.86", + ), + Rect( + x="548.25", + y="314.48", + rx="2.86", + ry="2.86", + ), + Rect( + x="548.25", + y="140.8", + rx="2.86", + ry="2.86", + ), + Rect( + x="549.5", + y="169.64", + rx="2.86", + ry="2.86", + ), + ], + ), + G( + className="lines-arrows", + children=[ + Path( + id="p1", + d="M 100 243.72 L 120 220.28 L 475 220.28 L 495 243.72 Z", + fill="#ffffff", + stroke="#ff8000", + ), + Path( + d="M 260 62 L 285.99 62.15", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 260 112 L 285.15 111.92", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 260 162 L 285.57 161.69", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 260 212 L 285.15 211.85", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 285.66 262.41 L 260 262.07", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 260 312 L 284.73 312.18", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 260 362 L 284.28 361.95", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 260 412 L 285.57 412.12", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 310.02 62.15 L 413.63 62.01", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 418.88 62 L 411.89 65.51 L 413.63 62.01 L 411.88 58.51 Z", + fill="#ff8000", + stroke="#ff8000", + ), + Path( + d="M 309.92 111.92 L 413.63 112", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 418.88 112 L 411.88 115.49 L 413.63 112 L 411.88 108.49 Z", + fill="#ff8000", + stroke="#ff8000", + ), + Path( + d="M 309.08 162.08 L 413.63 162", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 418.88 162 L 411.88 165.51 L 413.63 162 L 411.88 158.51 Z", + fill="#ff8000", + stroke="#ff8000", + ), + Path( + d="M 310 212 L 413.63 212", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 418.88 212 L 411.88 215.5 L 413.63 212 L 411.88 208.5 Z", + fill="#ff8000", + stroke="#ff8000", + ), + Path( + d="M 309.92 262.02 L 413.63 262", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 418.88 262 L 411.88 265.5 L 413.63 262 L 411.88 258.5 Z", + fill="#ff8000", + stroke="#ff8000", + ), + Path( + d="M 309.36 312.18 L 413.63 312.01", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 418.88 312 L 411.89 315.51 L 413.63 312.01 L 411.88 308.51 Z", + fill="#ff8000", + stroke="#ff8000", + ), + Path( + d="M 309.08 361.95 L 413.63 362", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 418.88 362 L 411.88 365.5 L 413.63 362 L 411.88 358.5 Z", + fill="#ff8000", + stroke="#ff8000", + ), + Path( + d="M 309.36 408.56 L 413.63 408.97", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 418.88 409 L 411.87 412.47 L 413.63 408.97 L 411.9 405.47 Z", + fill="#ff8000", + stroke="#ff8000", + ), + Path( + d="M 750 207 L 652.37 207", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 647.12 207 L 654.12 203.5 L 652.37 207 L 654.12 210.5 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 646 236.57 L 743.63 236.03", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 748.88 236.01 L 741.9 239.54 L 743.63 236.03 L 741.86 232.54 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 750 502 L 110 502 Q 100 502 100 492 L 100 468.37", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 100 463.12 L 103.5 470.12 L 100 468.37 L 96.5 470.12 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 1050 504 L 942.37 504", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 937.12 504 L 944.12 500.5 L 942.37 504 L 944.12 507.5 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 1597.69 242.93 L 1534.06 242.93", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 1528.81 242.93 L 1535.81 239.43 L 1534.06 242.93 L 1535.81 246.43 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 1527.69 274.64 L 1591.32 274.64", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 1596.57 274.64 L 1589.57 278.14 L 1591.32 274.64 L 1589.57 271.14 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 1413 196 L 1413 132.37", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 1413 127.12 L 1416.5 134.12 L 1413 132.37 L 1409.5 134.12 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 1443 126 L 1443 189.63", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 1443 194.88 L 1439.5 187.88 L 1443 189.63 L 1446.5 187.88 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 1413.36 441 L 1413.03 377.37", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 1413.01 372.12 L 1416.54 379.1 L 1413.03 377.37 L 1409.54 379.14 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 1443 371 L 1443.33 432.13", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 1443.35 437.38 L 1439.82 430.4 L 1443.33 432.13 L 1446.82 430.36 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 1145.25 341.38 L 1141.75 334.38 L 1145.25 336.13 L 1148.75 334.38 Z", + fill="rgb(0, 0, 0)", + stroke="rgb(0, 0, 0)", + ), + Path( + d="M 740 82 L 652.37 82", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 647.12 82 L 654.12 78.5 L 652.37 82 L 654.12 85.5 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 744 386.75 L 656.37 386.75", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 651.12 386.75 L 658.12 383.25 L 656.37 386.75 L 658.12 390.25 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 651.37 269 L 743.63 269", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 646.12 269 L 653.12 265.5 L 651.37 269 L 653.12 272.5 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 748.88 269 L 741.88 272.5 L 743.63 269 L 741.88 265.5 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 1042 206.41 L 944.37 206.41", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 939.12 206.41 L 946.12 202.91 L 944.37 206.41 L 946.12 209.91 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 938 235.98 L 1035.63 235.44", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 1040.88 235.42 L 1033.9 238.95 L 1035.63 235.44 L 1033.86 231.95 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 943.37 268.41 L 1035.63 268.41", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 938.12 268.41 L 945.12 264.91 L 943.37 268.41 L 945.12 271.91 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 1040.88 268.41 L 1033.88 271.91 L 1035.63 268.41 L 1033.88 264.91 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 1042 354.32 L 944.37 354.32", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 939.12 354.32 L 946.12 350.82 L 944.37 354.32 L 946.12 357.82 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 938 383.89 L 1035.63 383.35", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 1040.88 383.33 L 1033.9 386.86 L 1035.63 383.35 L 1033.86 379.86 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 943.37 416.32 L 1035.63 416.32", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 938.12 416.32 L 945.12 412.82 L 943.37 416.32 L 945.12 419.82 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 1040.88 416.32 L 1033.88 419.82 L 1035.63 416.32 L 1033.88 412.82 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 1355 245.75 L 1257.37 245.75", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 1252.12 245.75 L 1259.12 242.25 L 1257.37 245.75 L 1259.12 249.25 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 1251 275.32 L 1348.63 274.78", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 1353.88 274.76 L 1346.9 278.29 L 1348.63 274.78 L 1346.86 271.29 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 1256.37 307.75 L 1348.63 307.75", + fill="none", + stroke="#00cccc", + ), + Path( + d="M 1251.12 307.75 L 1258.12 304.25 L 1256.37 307.75 L 1258.12 311.25 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + d="M 1353.88 307.75 L 1346.88 311.25 L 1348.63 307.75 L 1346.88 304.25 Z", + fill="#00cccc", + stroke="#00cccc", + ), + Path( + id="p2", + d="M 235 67 L 245 57 L 265 57 L 275 67 Z", + fill="#ffffff", + stroke="#ff8000", + ), + Path( + d="M 220 56 L 250 56", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 210 65 L 250 65", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 200 74 L 250 74", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 230 47.5 L 250 47.5", + fill="none", + stroke="#ff8000", + ), + Path( + id="p3", + d="M 235 117 L 245 107 L 265 107 L 275 117 Z", + fill="#ffffff", + stroke="#ff8000", + ), + Path( + d="M 220 106 L 250 106", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 210 115 L 250 115", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 200 124 L 250 124", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 230 97.5 L 250 97.5", + fill="none", + stroke="#ff8000", + ), + Path( + id="p4", + d="M 235 167 L 245 157 L 265 157 L 275 167 Z", + fill="#ffffff", + stroke="#ff8000", + ), + Path( + d="M 220 156 L 250 156", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 210 165 L 250 165", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 200 174 L 250 174", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 230 147.5 L 250 147.5", + fill="none", + stroke="#ff8000", + ), + Path( + id="p5", + d="M 235 217 L 245 207 L 265 207 L 275 217 Z", + fill="#ffffff", + stroke="#ff8000", + ), + Path( + d="M 220 206 L 250 206", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 210 215 L 250 215", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 200 224 L 250 224", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 230 197.5 L 250 197.5", + fill="none", + stroke="#ff8000", + ), + Path( + id="p6", + d="M 235 267 L 245 257 L 265 257 L 275 267 Z", + fill="#ffffff", + stroke="#ff8000", + ), + Path( + d="M 220 256 L 250 256", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 210 265 L 250 265", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 200 274 L 250 274", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 230 247.5 L 250 247.5", + fill="none", + stroke="#ff8000", + ), + Path( + id="p7", + d="M 235 317 L 245 307 L 265 307 L 275 317 Z", + fill="#ffffff", + stroke="#ff8000", + ), + Path( + d="M 220 306 L 250 306", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 210 315 L 250 315", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 200 324 L 250 324", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 230 297.5 L 250 297.5", + fill="none", + stroke="#ff8000", + ), + Path( + id="p8", + d="M 235 367 L 245 357 L 265 357 L 275 367 Z", + fill="#ffffff", + stroke="#ff8000", + ), + Path( + d="M 220 356 L 250 356", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 210 365 L 250 365", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 200 374 L 250 374", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 230 347.5 L 250 347.5", + fill="none", + stroke="#ff8000", + ), + Path( + id="p9", + d="M 235 417 L 245 407 L 265 407 L 275 417 Z", + fill="#ffffff", + stroke="#ff8000", + ), + Path( + d="M 220 406 L 250 406", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 210 415 L 250 415", + fill="none", + stroke="#ff8000", + ), + Path( + d="M 200 424 L 250 424", + fill="none", + stroke="#ff8000", + ), + ], + ), + G( + className="labels", + children=[ + Text( + x="12", + y="278", + fill="#FFFFFF", + fontSize="20px", + children="Wave Occupancy", + ), + Text( + x="12", + y="363", + fill="#FFFFFF", + fontSize="20px", + children="Wave Life", + ), + Text( + x="1428", + y="80", + fill="#FFFFFF", + fontSize="20px", + textAnchor="middle", + children="xGMI /", + ), + Text( + x="1428", + y="105", + fill="#FFFFFF", + fontSize="20px", + textAnchor="middle", + children="PCIe", + ), + Text( + x="1428", + y="487", + fill="#FFFFFF", + fontSize="20px", + textAnchor="middle", + children="GMI", + ), + Text( + x="1652", + y="263", + fill="#FFFFFF", + fontSize="20px", + textAnchor="middle", + children="HBM", + ), + Text( + x="1438", + y="230", + fill="#FFFFFF", + fontSize="20px", + textAnchor="middle", + children="Fabric", + ), + Text( + x="360", + y="47", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="SALU:", + ), + Text( + x="360", + y="97", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="SMEM:", + ), + Text( + x="360", + y="147", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="VALU:", + ), + Text( + x="360", + y="197", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="MFMA:", + ), + Text( + x="360", + y="246", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="VMEM:", + ), + Text( + x="360", + y="297", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="LDS:", + ), + Text( + x="360", + y="344", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="GWS:", + ), + Text( + x="360", + y="397", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Br:", + ), + Text( + x="1463", + y="285", + fill="rgb(0, 0, 0)", + fontSize="12px", + children="cycles", + ), + Text( + x="1408", + y="286", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Rd:", + ), + Text( + x="1463", + y="310", + fill="rgb(0, 0, 0)", + fontSize="12px", + children="cycles", + ), + Text( + x="1408", + y="311", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Wr:", + ), + Text( + x="1463", + y="336", + fill="rgb(0, 0, 0)", + fontSize="12px", + children="cycles", + ), + Text( + x="1408", + y="337", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Atomic:", + ), + Text( + x="1118", + y="214", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Rd:", + ), + Text( + x="1118", + y="239", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Wr:", + ), + Text( + x="1118", + y="265", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Atomic:", + ), + Text( + x="867", + y="117", + fill="rgb(0, 0, 0)", + fontSize="12px", + children="cycles", + ), + Text( + x="812", + y="117", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Lat:", + ), + Text( + x="866", + y="372", + fill="rgb(0, 0, 0)", + fontSize="12px", + children="%", + ), + Text( + x="810", + y="373", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Hit:", + ), + Text( + x="866", + y="404", + fill="rgb(0, 0, 0)", + fontSize="12px", + children="cycles", + ), + Text( + x="810", + y="405", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Lat:", + ), + Text( + x="865", + y="491", + fill="rgb(0, 0, 0)", + fontSize="12px", + children="%", + ), + Text( + x="809", + y="492", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Hit:", + ), + Text( + x="865", + y="522", + fill="rgb(0, 0, 0)", + fontSize="12px", + children="cycles", + ), + Text( + x="809", + y="523", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Lat:", + ), + Text( + x="1556", + y="239", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Rd:", + ), + Text( + x="1554", + y="269", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Wr:", + ), + Text( + x="699", + y="77", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Req:", + ), + Text( + x="684", + y="204", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Rd:", + ), + Text( + x="684", + y="233", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Wr:", + ), + Text( + x="696", + y="265", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Atomic:", + ), + Text( + x="102", + y="312", + fill="#FFFF33", + fontSize="20px", + fontWeight="bold", + children="per-GCD", + ), + Text( + x="102", + y="393", + fill="#FFFF33", + fontSize="20px", + fontWeight="bold", + children="cycles", + ), + Text( + x="1173", + y="292", + fill="rgb(0, 0, 0)", + fontSize="12px", + children="%", + ), + Text( + x="1118", + y="293", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Hit:", + ), + Text( + x="1173", + y="356", + fill="rgb(0, 0, 0)", + fontSize="12px", + children="cycles", + ), + Text( + x="1118", + y="357", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Rd:", + ), + Text( + x="1173", + y="382", + fill="rgb(0, 0, 0)", + fontSize="12px", + children="cycles", + ), + Text( + x="1118", + y="383", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Wr:", + ), + Text( + x="32", + y="126", + fill="#FFFFFF", + fontSize="14px", + children="Wave 0 Instr buff", + ), + Text( + x="32", + y="205", + fill="#FFFFFF", + fontSize="14px", + children="Wave N-1 Instr buff", + ), + Text( + x="442", + y="69", + fill="#FFFFFF", + fontSize="20px", + children="Active CUs", + ), + Text( + x="868", + y="193", + fill="rgb(0, 0, 0)", + fontSize="12px", + children="%", + ), + Text( + x="812", + y="194", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Hit:", + ), + Text( + x="868", + y="224", + fill="rgb(0, 0, 0)", + fontSize="12px", + children="cycles", + ), + Text( + x="812", + y="225", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Lat:", + ), + Text( + x="867", + y="85", + fill="rgb(0, 0, 0)", + fontSize="12px", + children="%", + ), + Text( + x="812", + y="85", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Util:", + ), + Text( + x="868", + y="256", + fill="rgb(0, 0, 0)", + fontSize="12px", + children="%", + ), + Text( + x="813", + y="256", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Coales:", + ), + Text( + x="432", + y="18", + fill="#FFFFFF", + fontSize="20px", + children="Exec", + ), + Text( + x="12", + y="18", + fill="#FFFFFF", + fontSize="20px", + children="Instr Buff", + ), + Text( + x="250", + y="18", + fill="#FFFFFF", + fontSize="20px", + children="Instr Dispatch", + ), + Text( + x="761", + y="26", + fill="#FFFFFF", + fontSize="20px", + children="LDS", + ), + Text( + x="760", + y="158", + fill="#FFFFFF", + fontSize="20px", + children="Vector L1 Cache", + ), + Text( + x="761", + y="337", + fill="#FFFFFF", + fontSize="20px", + children="Scalar L1D Cache", + ), + Text( + x="761", + y="451", + fill="#FFFFFF", + fontSize="20px", + children="Instr L1 Cache", + ), + Text( + x="1153", + y="63", + fill="#FFFFFF", + fontSize="20px", + textAnchor="middle", + children="L2 Cache", + ), + Text( + x="991", + y="499", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Req:", + ), + Text( + x="866", + y="288", + fill="rgb(0, 0, 0)", + fontSize="12px", + children="%", + ), + Text( + x="811", + y="288", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Stall:", + ), + Text( + x="468", + y="497", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Fetch:", + ), + Text( + x="1153", + y="333", + fill="#FFFFFF", + fontSize="14px", + textAnchor="middle", + textDecoration="underline", + children="Latency", + ), + Text( + x="543", + y="227", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="LDS Alloc:", + ), + Text( + x="543", + y="255", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Scratch Alloc:", + ), + Text( + x="543", + y="299", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Wavefronts:", + ), + Text( + x="543", + y="328", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="Workgroups:", + ), + Text( + x="543", + y="155", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="VGPRs:", + ), + Text( + x="544", + y="183", + fill="rgb(0, 0, 0)", + fontSize="12px", + textAnchor="end", + children="SGPRs:", + ), + Text( + x="684", + y="384", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Rd:", + ), + Text( + x="976", + y="204", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Rd:", + ), + Text( + x="976", + y="232", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Wr:", + ), + Text( + x="988", + y="264", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Atomic:", + ), + Text( + x="976", + y="352", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Rd:", + ), + Text( + x="976", + y="380", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Wr:", + ), + Text( + x="988", + y="412", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Atomic:", + ), + Text( + x="1292", + y="243", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Rd:", + ), + Text( + x="1293", + y="272", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Wr:", + ), + Text( + x="1301", + y="304", + fill="#FFFFFF", + fontSize="12px", + textAnchor="end", + children="Atomic:", + ), + ], + ), + insert_chart_data(mem_data, base_data), + ] + ) + ], + viewBox="-0.5 -0.5 1698 543", + ) + ], + ) + ], + ) diff --git a/projects/rocprofiler-compute/src/utils/roofline_calc.py b/projects/rocprofiler-compute/src/utils/roofline_calc.py index 9c3815dd4e..9f1821a4de 100644 --- a/projects/rocprofiler-compute/src/utils/roofline_calc.py +++ b/projects/rocprofiler-compute/src/utils/roofline_calc.py @@ -22,9 +22,10 @@ # SOFTWARE. ##############################################################################el -import sys +import os from dataclasses import dataclass +import logging import csv ################################################ @@ -94,43 +95,42 @@ def get_color(catagory): # ------------------------------------------------------------------------------------- # Plot BW at each cache level # ------------------------------------------------------------------------------------- -def calc_ceilings(roof_specs, benchmark_data, targ_mem_level, verbose): +def calc_ceilings(roofline_parameters, dtype, benchmark_data): """Given benchmarking data, calculate ceilings (or peak performance) for empirical roofline """ # TODO: This is where filtering by memory level will need to occur for standalone graphPoints = {"hbm": [], "l2": [], "l1": [], "lds": [], "valu": [], "mfma": []} - if targ_mem_level == "ALL": + if roofline_parameters['mem_level'] == "ALL": cacheHierarchy = ["HBM", "L2", "L1", "LDS"] else: - cacheHierarchy = targ_mem_level + cacheHierarchy = roofline_parameters['mem_level'] x1 = y1 = x2 = y2 = -1 x1_mfma = y1_mfma = x2_mfma = y2_mfma = -1 - target_precision = roof_specs["dtype"][2:] + target_precision = dtype[2:] - if roof_specs["dtype"] != "FP16" and roof_specs["dtype"] != "I8": + if dtype != "FP16" and dtype != "I8": peakOps = float( - benchmark_data[roof_specs["dtype"] + "Flops"][roof_specs["device"]] + benchmark_data[dtype + "Flops"][roofline_parameters['device_id']] ) for i in range(0, len(cacheHierarchy)): - # Plot BW line - if verbose >= 3: - print("Current cache level is ", cacheHierarchy[i]) + # Plot BW line + logging.debug("[roofline] Current cache level is ", cacheHierarchy[i]) curr_bw = cacheHierarchy[i] + "Bw" - peakBw = float(benchmark_data[curr_bw][roof_specs["device"]]) + peakBw = float(benchmark_data[curr_bw][roofline_parameters['device_id']]) - if roof_specs["dtype"] == "I8": - peakMFMA = float(benchmark_data["MFMAI8Ops"][roof_specs["device"]]) + if dtype == "I8": + peakMFMA = float(benchmark_data["MFMAI8Ops"][roofline_parameters['device_id']]) else: peakMFMA = float( - benchmark_data["MFMAF{}Flops".format(target_precision)][roof_specs["device"]] + benchmark_data["MFMAF{}Flops".format(target_precision)][roofline_parameters['device_id']] ) x1 = float(XMIN) y1 = float(XMIN) * peakBw # Note: No reg peakOps for FP16 or INT8 - if roof_specs["dtype"] != "FP16" and roof_specs["dtype"] != "I8": + if dtype != "FP16" and dtype != "I8": x2 = peakOps / peakBw y2 = peakOps @@ -142,9 +142,9 @@ def calc_ceilings(roof_specs, benchmark_data, targ_mem_level, verbose): y2_mfma = peakMFMA # These are the points to use: - if verbose >= 3: - print("x = [{}, {}]".format(x1, x2_mfma)) - print("y = [{}, {}]".format(y1, y2_mfma)) + logging.debug("[roofline] coordinate points:") + logging.debug("x = [{}, {}]".format(x1, x2_mfma)) + logging.debug("y = [{}, {}]".format(y1, y2_mfma)) graphPoints[cacheHierarchy[i].lower()].append([x1, x2_mfma]) graphPoints[cacheHierarchy[i].lower()].append([y1, y2_mfma]) @@ -154,28 +154,26 @@ def calc_ceilings(roof_specs, benchmark_data, targ_mem_level, verbose): # Plot computing roof # ------------------------------------------------------------------------------------- # Note: No FMA roof for FP16 or INT8 - if roof_specs["dtype"] != "FP16" and roof_specs["dtype"] != "I8": + if dtype != "FP16" and dtype != "I8": # Plot FMA roof x0 = XMAX if x2 < x0: x0 = x2 - if verbose >= 3: - print("FMA ROOF [{}, {}], [{},{}]".format(x0, XMAX, peakOps, peakOps)) + logging.debug("FMA ROOF [{}, {}], [{},{}]".format(x0, XMAX, peakOps, peakOps)) graphPoints["valu"].append([x0, XMAX]) graphPoints["valu"].append([peakOps, peakOps]) graphPoints["valu"].append(peakOps) # Plot MFMA roof if ( - x1_mfma != -1 or roof_specs["dtype"] == "FP16" or roof_specs["dtype"] == "I8" + x1_mfma != -1 or dtype == "FP16" or dtype == "I8" ): # assert that mfma has been assigned x0_mfma = XMAX if x2_mfma < x0_mfma: x0_mfma = x2_mfma - if verbose >= 3: - print("MFMA ROOF [{}, {}], [{},{}]".format(x0_mfma, XMAX, peakMFMA, peakMFMA)) + logging.debug("MFMA ROOF [{}, {}], [{},{}]".format(x0_mfma, XMAX, peakMFMA, peakMFMA)) graphPoints["mfma"].append([x0_mfma, XMAX]) graphPoints["mfma"].append([peakMFMA, peakMFMA]) graphPoints["mfma"].append(peakMFMA) @@ -187,7 +185,7 @@ def calc_ceilings(roof_specs, benchmark_data, targ_mem_level, verbose): # Overlay application performance # ------------------------------------------------------------------------------------- # Calculate relevent metrics for ai calculation -def calc_ai(sort_type, ret_df, verbose): +def calc_ai(sort_type, ret_df): """Given counter data, caclulate arithmetic intensity for each kernel in the application. """ df = ret_df["pmc_perf"] @@ -263,8 +261,7 @@ def calc_ai(sort_type, ret_df, verbose): + (df["SQ_INSTS_VALU_MFMA_MOPS_F64"][idx] * 512) ) except KeyError: - if verbose >= 3: - print("{}: Skipped total_flops at index {}".format(kernelName[:35], idx)) + logging.debug("[roofline] {}: Skipped total_flops at index {}".format(kernelName[:35], idx)) pass try: valu_flops += ( @@ -291,8 +288,7 @@ def calc_ai(sort_type, ret_df, verbose): ) ) except KeyError: - if verbose >= 3: - print("{}: Skipped valu_flops at index {}".format(kernelName[:35], idx)) + logging.debug("{}: Skipped valu_flops at index {}".format(kernelName[:35], idx)) pass try: @@ -302,8 +298,7 @@ def calc_ai(sort_type, ret_df, verbose): mfma_flops_f64 += df["SQ_INSTS_VALU_MFMA_MOPS_F64"][idx] * 512 mfma_iops_i8 += df["SQ_INSTS_VALU_MFMA_MOPS_I8"][idx] * 512 except KeyError: - if verbose >= 3: - print("{}: Skipped mfma ops at index {}".format(kernelName[:35], idx)) + logging.debug("[roofline] {}: Skipped mfma ops at index {}".format(kernelName[:35], idx)) pass try: @@ -313,15 +308,13 @@ def calc_ai(sort_type, ret_df, verbose): * L2_BANKS ) # L2_BANKS = 32 (since assuming mi200) except KeyError: - if verbose >= 3: - print("{}: Skipped lds_data at index {}".format(kernelName[:35], idx)) + logging.debug("[roofline] {}: Skipped lds_data at index {}".format(kernelName[:35], idx)) pass try: L1cache_data += df["TCP_TOTAL_CACHE_ACCESSES_sum"][idx] * 64 except KeyError: - if verbose >= 3: - print("{}: Skipped L1cache_data at index {}".format(kernelName[:35], idx)) + logging.debug("[roofline] {}: Skipped L1cache_data at index {}".format(kernelName[:35], idx)) pass try: @@ -332,8 +325,7 @@ def calc_ai(sort_type, ret_df, verbose): + df["TCP_TCC_READ_REQ_sum"][idx] * 64 ) except KeyError: - if verbose >= 3: - print("{}: Skipped L2cache_data at index {}".format(kernelName[:35], idx)) + logging.debug("[roofline] {}: Skipped L2cache_data at index {}".format(kernelName[:35], idx)) pass try: hbm_data += ( @@ -343,8 +335,7 @@ def calc_ai(sort_type, ret_df, verbose): + ((df["TCC_EA_WRREQ_sum"][idx] - df["TCC_EA_WRREQ_64B_sum"][idx]) * 32) ) except KeyError: - if verbose >= 3: - print("{}: Skipped hbm_data at index {}".format(kernelName[:35], idx)) + logging.debug("[roofline] {}: Skipped hbm_data at index {}".format(kernelName[:35], idx)) pass totalDuration += df["EndNs"][idx] - df["BeginNs"][idx] @@ -372,12 +363,11 @@ def calc_ai(sort_type, ret_df, verbose): avgDuration / calls, ) ) - if verbose >= 2: - print( - "Just added {} to AI_Data at index {}. # of calls: {}".format( - kernelName, idx, calls - ) + logging.debug( + "Just added {} to AI_Data at index {}. # of calls: {}".format( + kernelName, idx, calls ) + ) total_flops = ( valu_flops ) = ( @@ -487,8 +477,8 @@ def calc_ai(sort_type, ret_df, verbose): return intensityPoints -def constuct_roof(roof_specs, targ_mem_level, verbose): - benchmark_results = roof_specs["path"] + "/roofline.csv" +def constuct_roof(roofline_parameters, dtype): + benchmark_results = os.path.join(roofline_parameters["path_to_dir"], "roofline.csv") # ----------------------------------------------------- # Initialize roofline data dictionary from roofline.csv # ----------------------------------------------------- @@ -526,8 +516,6 @@ def constuct_roof(roof_specs, targ_mem_level, verbose): # ------------------ # Generate Roofline # ------------------ - results = calc_ceilings(roof_specs, benchmark_data, targ_mem_level, verbose) - # for key in results: - # print(key, "->", results[key]) + results = calc_ceilings(roofline_parameters, dtype, benchmark_data) return results diff --git a/projects/rocprofiler-compute/src/utils/tty.py b/projects/rocprofiler-compute/src/utils/tty.py index f63cee0946..c75dceb032 100644 --- a/projects/rocprofiler-compute/src/utils/tty.py +++ b/projects/rocprofiler-compute/src/utils/tty.py @@ -135,7 +135,6 @@ def show_all(args, runs, archConfigs, output): ) # show value + percentage # TODO: better alignment - t_df = ( cur_df[header] .astype(float)