# NOTE: Metrics representing a superset of other metrics must be declared first
# if they appear in the same group (displayRows). Otherwise different metrics will
# dominate in the group row depending on zoom level if overlay display mode is used.
version: 3
metricSets:
- alias: tu10x-gfxt
  name: Graphics Throughput Metrics for NVIDIA TU10x (frequency >= 10kHz)
  chips: [TU102, TU104, TU106]
  counterWidth: narrow
  displayRows:
  - name: $root:Activity
    type: overlay
    displayHeightScale: 0.5
    metrics:
    - GPU Active
    - Async Copy Engine Active
    - Sync Copy Engine Active
    - GR Active
  - name: $root:Memory
    type: overlay
    displayHeightScale: -0.5
    metrics:
    - GPU Memory Read Bandwidth
    - GPU Memory Write Bandwidth
    - PCIe Read Bandwidth
    - PCIe Write Bandwidth
  - name: GPU Active
    description: The graphics or copy engine is active
    type: overlay
    metrics:
    - GPU Active
    - Sync Copy Engine Active
    - Async Copy Engine Active
    - GR Active
  - name: Unit Throughputs
    description: Throughput of each major hardware unit
    type: overlay
    displayHeightScale: 2.0
    metrics:
    - SM Throughput
    - RTCORE Throughput
    - VAF Throughput
    - L1 Throughput
    - L2 Throughput
    - VRAM Throughput
    - PCIe Throughput
    - PD Throughput
    - PES+VPC Throughput
    - RASTER Throughput
    - PROP Throughput
    - ZROP Throughput
    - CROP Throughput
  - name: Compute in Flight
    description: Compute dispatches sent to the GPU queues that have been issued,
      but not yet complete
    type: overlay
    metrics:
    - Sync Compute in Flight
    - Async Compute in Flight
  - name: Draw/Dispatch Start
    description: Draw and dispatch start times
    type: overlay
    metrics:
    - Draw Started
    - Dispatch Started
  - name: SM Occupancy (TPC View)
    type: stacked
    displayHeightScale: 2.0
    metrics:
    - Vertex/Tess/Geometry Warps
    - Pixel Warps
    - Compute Warps
    - Unallocated Warps in Active SMs
    - Idle SM Unused Warp Slots
  - name: Warp Can't Launch
    description: Warp can't launch reasons
    type: overlay
    metrics:
    - PS Warp Can't Launch
    - PS Warp Can't Launch - Register Limited
    - CS Warp Can't Launch - Register Limited
  - name: SM Instruction Throughputs
    description: SM instruction throughput breakdown by pipe
    type: overlay
    metrics:
    - SM Issue Active
    - SM ALU Pipe Throughput
    - SM FMA Pipe Throughput
    - SM SFU Pipe Throughput
    - SM FP16+Tensor Pipe Throughput
  - name: L1 Throughputs
    description: L1 cache throughputs breakdown by stage
    type: overlay
    metrics:
    - L1 LSU Data-Stage Throughput
    - L1 Texture Data-Stage Throughput
    - L1 LSU Writeback-Stage Throughput
    - L1 Texture Filter-Stage Throughput
  - name: L2 Bandwidth
    description: L2 bandwidth breakdown by source unit
    type: stacked
    metrics:
    - L2 Bandwidth from CROP
    - L2 Bandwidth from L1
    - L2 Bandwidth from ZROP
  - name: L2 Hit Rates
    description: L2 cache hit rates in aggregate and for read operations from L1
    type: overlay
    metrics:
    - L2 Hit Rate
    - L2 Hit Rate from L1
  - name: GPU Memory Bandwidth
    description: GPU memory read/write bandwidth
    type: stacked
    metrics:
    - GPU Memory Read Bandwidth
    - GPU Memory Write Bandwidth
  - name: PCIe Bandwidth
    description: PCIe read/write bandwidth
    type: overlay
    metrics:
    - PCIe Read Bandwidth
    - PCIe Write Bandwidth
  - name: PCIe to BAR Requests
    description: PCIe to BAR 0/1/2 read/write requests
    type: overlay
    metrics:
    - PCIe Read Requests to BAR1
    - PCIe Write Requests to BAR1
    - PCIe Read Requests to BAR0
    - PCIe Write Requests to BAR0
    - PCIe Read Requests to BAR2
    - PCIe Write Requests to BAR2
  - name: ZCULL
    description: Total/Rejected number of samples sent to ZCULL
    type: overlay
    metrics:
    - ZCULL Rejected Samples
    - ZCULL Input Samples
  metrics:
  - name: GPU Active
    id: FE_A.TriageA.gpu__engine_cycles_active_gr_or_ce
    color: '#33B2B2'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Workloads
      suffix: .sum
  - name: Sync Copy Engine Active
    id: FE_A.TriageA.gpu__engine_cycles_active_any_syncce
    color: '#B2B233'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Workloads
      suffix: .sum
  - name: Async Copy Engine Active
    id: FE_A.TriageA.gpu__engine_cycles_active_any_asyncce
    color: '#FFA700'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Workloads
      suffix: .sum
  - name: GR Active
    id: FE_A.TriageA.gr__cycles_active
    description: Number of cycles the graphics/compute engine is active. The graphics
      and compute engine are active if there is any work in the graphics pipe or if
      the compute pipe is processing a dispatch.
    color: '#ED6A32'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Workloads
      suffix: .sum
  - name: SM Throughput
    id: SM.TriageA.sm__throughput
    color: '#D100EE'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: RTCORE Throughput
    id: rtcore__cycles_executed
    color: '#D18841'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: VAF Throughput
    id: TPC.TriageA.vaf__throughput
    color: '#D13341'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: L1 Throughput
    id: SM.TriageA.l1tex__throughput
    color: '#FFC425'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: L2 Throughput
    id: LTS.TriageA.lts__throughput
    color: '#00AEDB'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: VRAM Throughput
    id: FBPA.TriageA.dramc__throughput
    color: '#F37735'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: PCIe Throughput
    id: PCI.TriageA.pcie__throughput
    color: '#3577F3'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: PD Throughput
    id: HUB.TriageA.pda__throughput
    color: '#00B159'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: PES+VPC Throughput
    id: GPC_B.TriageA.pes__throughput
    color: '#3FB159'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: RASTER Throughput
    id: GPC_A.TriageA.raster__throughput
    color: '#6FB159'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: PROP Throughput
    id: GPC_A.TriageA.prop__throughput
    color: '#9FB159'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: ZROP Throughput
    id: ROP.TriageA.zrop__throughput
    color: '#854442'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: CROP Throughput
    id: ROP.TriageA.crop__throughput
    color: '#AFB159'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: Sync Compute in Flight
    id: HUB.TriageA.gr__dispatch_cycles_active_queue_sync
    color: '#FE7F9C'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: Async Compute in Flight
    id: HUB.TriageA.gr__dispatch_cycles_active_queue_async
    color: '#FFD179'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: Draw Started
    id: FE_A.TriageA.fe__draw_count
    description: Number of draw calls started
    color: '#F0F000'
    subMetrics:
    - name: Workloads
      suffix: .sum
  - name: Dispatch Started
    id: HUB.TriageA.gr__dispatch_count
    description: Number of compute dispatches/grid launches started
    color: '#00F0F0'
    subMetrics:
    - name: Workloads
      suffix: .sum
  - name: Vertex/Tess/Geometry Warps
    id: TPC.TriageA.tpc__warps_active_shader_vtg_realtime
    color: '#0057E7'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Avg
      suffix: .avg
    - name: Avg Warps per Cycle
      suffix: .avg.per_cycle_elapsed
  - name: Pixel Warps
    id: TPC.TriageA.tpc__warps_active_shader_ps_realtime
    color: '#008744'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Avg
      suffix: .avg
    - name: Avg Warps per Cycle
      suffix: .avg.per_cycle_elapsed
  - name: Compute Warps
    id: TPC.TriageA.tpc__warps_active_shader_cs_realtime
    color: '#FFA700'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Avg
      suffix: .avg
    - name: Avg Warps per Cycle
      suffix: .avg.per_cycle_elapsed
  - name: Unallocated Warps in Active SMs
    id: TPC.TriageA.tpc__warps_inactive_sm_active_realtime
    color: '#696969'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Avg
      suffix: .avg
    - name: Avg Warps per Cycle
      suffix: .avg.per_cycle_elapsed
  - name: Idle SM Unused Warp Slots
    id: TPC.TriageA.tpc__warps_inactive_sm_idle_realtime
    color: '#C0C0C0'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Avg
      suffix: .avg
    - name: Avg Warps per Cycle
      suffix: .avg.per_cycle_elapsed
  - name: PS Warp Can't Launch
    id: tpc__warp_launch_cycles_stalled_shader_ps
    color: '#FF6F00'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: PS Warp Can't Launch - Register Limited
    id: tpc__warp_launch_cycles_stalled_shader_ps_reason_register_allocation
    color: '#00CF00'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: CS Warp Can't Launch - Register Limited
    id: tpc__warp_launch_cycles_stalled_shader_cs_reason_register_allocation
    color: '#1111CF'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: SM Issue Active
    id: SM.TriageA.sm__inst_executed_realtime
    description: SM instruction issue rate. Each SM can issue 4 instructions/cycle
      (1 instruction/SMSP/cycle).
    color: '#CFCF3F'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Instructions
      suffix: .sum
    - name: Avg Inst/Clk per SM
      suffix: .avg.per_cycle_elapsed
    - name: Peak Inst/Clk per SM
      suffix: .avg.peak_sustained
  - name: SM ALU Pipe Throughput
    id: SM.TriageA.sm__inst_executed_pipe_alu_realtime
    color: '#FF6F00'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Instructions
      suffix: .sum
    - name: Avg Inst/Clk per SM
      suffix: .avg.per_cycle_elapsed
    - name: Peak Inst/Clk per SM
      suffix: .avg.peak_sustained
  - name: SM FMA Pipe Throughput
    id: SM.TriageA.sm__inst_executed_pipe_fma_realtime
    color: '#00CF00'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Instructions
      suffix: .sum
    - name: Avg Inst/Clk per SM
      suffix: .avg.per_cycle_elapsed
    - name: Peak Inst/Clk per SM
      suffix: .avg.peak_sustained
  - name: SM SFU Pipe Throughput
    id: SM.TriageA.sm__inst_executed_pipe_xu_realtime
    color: '#00003F'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Instructions
      suffix: .sum
    - name: Avg Inst/Clk per SM
      suffix: .avg.per_cycle_elapsed
    - name: Peak Inst/Clk per SM
      suffix: .avg.peak_sustained
  - name: SM FP16+Tensor Pipe Throughput
    id: SM.TriageA.sm__pipe_shared_cycles_active_realtime
    description: Cycles the tensor pipe or fp16x2 pipe is active
    color: '#CF003F'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Instructions
      suffix: .sum
    - name: Avg Inst/Clk per SM
      suffix: .avg.per_cycle_elapsed
    - name: Peak Inst/Clk per SM
      suffix: .avg.peak_sustained
  - name: L1 LSU Data-Stage Throughput
    id: SM.TriageA.l1tex__data_pipe_lsu_wavefronts
    color: '#CFCF3F'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: L1 Texture Data-Stage Throughput
    id: SM.TriageA.l1tex__data_pipe_tex_wavefronts_realtime
    color: '#00003F'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: L1 LSU Writeback-Stage Throughput
    id: SM.TriageA.l1tex__lsu_writeback_active
    color: '#CF003F'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: L1 Texture Filter-Stage Throughput
    id: SM.TriageA.l1tex__f_cycles_active
    color: '#3F00CF'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: L2 Bandwidth from CROP
    id: TriageA.lts__t_sector_throughput_srcunit_crop
    color: '#AA1111'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: L2 Bandwidth from L1
    id: TriageA.lts__t_sector_throughput_srcunit_tex
    color: '#11AA11'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: L2 Bandwidth from ZROP
    id: TriageA.lts__t_sector_throughput_srcunit_zrop
    color: '#1111AA'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: L2 Hit Rate
    id: LTS.TriageA.lts__average_t_sector_op_read_realtime_hit_rate
    color: '#88001B'
    subMetrics:
    - name: Ratio %
      label: $pct
      suffix: .pct
  - name: L2 Hit Rate from L1
    id: LTS.TriageA.lts__average_t_sector_srcunit_tex_op_read_realtime_hit_rate
    color: '#FFCA18'
    subMetrics:
    - name: Ratio %
      label: $pct
      suffix: .pct
  - name: GPU Memory Read Bandwidth
    id: FBPA.TriageA.dramc__read_throughput
    color: '#CCCC00'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: GPU Memory Write Bandwidth
    id: FBPA.TriageA.dramc__write_throughput
    color: '#CC00CC'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
  - name: PCIe Read Bandwidth
    id: PCI.TriageA.pcie__read_bytes
    description: Number of bytes received by GPU (includes protocol)
    color: '#FF3D00'
    schedulingRule: migOptional
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Bytes
      label: $bytes
      suffix: .sum
    - name: GB/s
      label: $bytes/s
      suffix: .sum.per_second
      multiplier: 1.0e-09
  - name: PCIe Write Bandwidth
    id: PCI.TriageA.pcie__write_bytes
    description: Number of bytes transmitted by GPU (includes protocol)
    color: '#00CFCF'
    schedulingRule: migOptional
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Bytes
      label: $bytes
      suffix: .sum
    - name: GB/s
      label: $bytes/s
      suffix: .sum.per_second
      multiplier: 1.0e-09
  - name: PCIe Read Requests to BAR1
    id: pcie__rx_requests_aperture_bar1_op_read
    description: CPU+Peer Reads from VRAM over PCIe
    color: '#87FFFF'
    subMetrics:
    - name: Requests
      suffix: .sum
  - name: PCIe Write Requests to BAR1
    id: pcie__rx_requests_aperture_bar1_op_write
    description: CPU+Peer Writes to VRAM over PCIe
    color: '#8700FF'
    subMetrics:
    - name: Requests
      suffix: .sum
  - name: PCIe Read Requests to BAR0
    id: pcie__rx_requests_aperture_bar0_op_read
    color: '#AFFF87'
    subMetrics:
    - name: Requests
      suffix: .sum
  - name: PCIe Write Requests to BAR0
    id: pcie__rx_requests_aperture_bar0_op_write
    color: '#870087'
    subMetrics:
    - name: Requests
      suffix: .sum
  - name: PCIe Read Requests to BAR2
    id: pcie__rx_requests_aperture_bar2_op_read
    color: '#AFAF00'
    subMetrics:
    - name: Requests
      suffix: .sum
  - name: PCIe Write Requests to BAR2
    id: pcie__rx_requests_aperture_bar2_op_write
    color: '#870000'
    subMetrics:
    - name: Requests
      suffix: .sum
  - name: ZCULL Rejected Samples
    id: GPC_A.TriageA.raster__zcull_input_samples_op_rejected_realtime
    color: '#663399'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Sum
      suffix: .sum
  - name: ZCULL Input Samples
    id: GPC_A.TriageA.raster__zcull_input_samples_realtime
    color: '#CC3399'
    subMetrics:
    - name: Throughput %
      label: $pct
      suffix: .avg.pct_of_peak_sustained_elapsed
    - name: Sum
      suffix: .sum
