Descripción general de la PMU

La unidad de supervisión de rendimiento (PMU) es un componente de hardware dentro del núcleo de la CPU que supervisa cómo el procesador ejecuta el código. Cuando habilitas la PMU en una instancia de Compute Engine A4X, C4A, C4 o M4, puedes acceder a los contadores de rendimiento en la PMU con software de supervisión de rendimiento. Este enfoque te permite optimizar las cargas de trabajo sensibles al rendimiento, como la computación de alto rendimiento (HPC) o el aprendizaje automático (AA), ya que te ayuda a identificar y abordar los cuellos de botella en el rendimiento de tus aplicaciones.

En este documento, se explican el comportamiento, la facturación y las limitaciones de la PMU. Para obtener información sobre cómo habilitar la PMU en una instancia de A4X, C4A, C4 o M4, consulta Habilita la PMU en instancias de Compute Engine.

Información sobre la PMU

La PMU se compone de un conjunto de contadores de hardware denominados contadores de supervisión del rendimiento (PMC). Estos contadores son registros específicos del modelo que cuentan cada vez que se produce un evento de procesador de bajo nivel dentro de la CPU, como una predicción errónea de una rama o una error de caché. Puedes leer y configurar los PMC en la PMU con software de supervisión del rendimiento, como Intel VTune Profiler.

Después de habilitar la PMU en una instancia de procesamiento, esta se ejecuta en segundo plano y supervisa de forma continua los eventos de rendimiento con los PMC. De manera opcional, puedes configurar umbrales para los PMC específicos con el software de supervisión del rendimiento que prefieras. Si un PMC supera el umbral designado, la PMU notifica al software.

Eventos de la PMU

De forma predeterminada, la PMU está inhabilitada en las instancias de procesamiento. Para habilitarlo, especifica los tipos de eventos de CPU de bajo nivel que se deben hacer un seguimiento habilitando uno de los siguientes tipos de PMU:

  • Arquitectónicos (ARCHITECTURAL): Puedes medir los siguientes eventos de rendimiento arquitectónico:
    • Instrucciones de ramas retiradas: Es la cantidad de instrucciones de ramas retiradas. Usa este evento para medir la ejecución de tu código y, así, identificar posibles cuellos de botella en el rendimiento.
    • Omisiones de ramas retiradas: Es la cantidad de instrucciones de ramas que se predijeron de forma incorrecta, lo que hace que el procesador se detenga y descarte las instrucciones recuperadas. Si ves un número alto para este evento, es probable que puedas optimizar el rendimiento de la CPU.
    • Instrucciones retiradas: Es la cantidad de instrucciones que la CPU procesa correctamente. Usa este evento para medir la capacidad de procesamiento de instrucciones de la CPU.
    • Ranuras de arriba hacia abajo: Es la cantidad de ranuras disponibles dentro de la canalización de un procesador que se usan para ejecutar instrucciones de forma simultánea. Usa este evento para comprender la eficiencia con la que tu código usa los recursos del procesador.
    • Ciclos centrales sin detener: Es la cantidad de ciclos centrales cuando el subproceso no se detiene, por ejemplo, debido a la administración de energía o las interrupciones. Usa este evento para evaluar el uso general del procesador.
    • Ciclos de referencia sin detener: Es la cantidad de ciclos de referencia cuando el núcleo no se detiene, por ejemplo, cuando se recuperan datos o instrucciones. El núcleo se detiene cuando ejecuta las instrucciones HLT o MWAIT. Los ciclos de referencia operan a una frecuencia fija, lo que proporciona una referencia de tiempo estable incluso cuando la velocidad del procesador cambia para conservar energía. Usa este evento para medir el tiempo dedicado a una tarea y, así, identificar los cuellos de botella de rendimiento en tu código.
  • Estándar (STANDARD): Puedes medir todos los eventos del tipo de PMU arquitectónica y cualquier evento local dentro del núcleo de la CPU, incluidos los eventos de caché de nivel 2 (L2).
  • Mejorado (ENHANCED): Puedes medir todos los eventos del tipo de PMU estándar y cualquier evento local fuera del núcleo de la CPU, incluidos los eventos de caché de nivel 3 (L3).

Plataformas de CPU y series de máquinas compatibles

Puedes habilitar la PMU en instancias de procesamiento que usen las siguientes series de máquinas y plataformas de CPU:

Plataforma de CPU Series de máquinas Tipos de seguimiento de PMU
Procesador Google Axion C4A ARCHITECTURAL y STANDARD
Procesador escalable Intel Xeon (Emerald Rapids) de 5ª generación C4 y M4 ARCHITECTURAL, STANDARD y ENHANCED
Procesador escalable Intel Xeon (Granite Rapids) de 6ª generación C4 ARCHITECTURAL, STANDARD y ENHANCED
Procesador NVIDIA Grace A4X ARCHITECTURAL y STANDARD

Eventos de PMU compatibles por plataforma de CPU

En las siguientes tablas, se enumeran los eventos de PMU admitidos por plataforma de CPU:

Google Axion

En la siguiente tabla, se enumeran los eventos de PMU compatibles con los procesadores Google Axion que tienen núcleos Armv9 Neoverse V2.

Código del evento Tipo de seguimiento de PMU Nombre del evento
0x0 ARQUITECTÓNICO SW_INCR
0x3 ARQUITECTÓNICO L1D_CACHE_REFILL
0x4 ARQUITECTÓNICO L1D_CACHE
0x8 ARQUITECTÓNICO INST_RETIRED
0x10 ARQUITECTÓNICO BR_MIS_PRED
0x11 ARQUITECTÓNICO CPU_CYCLES
0x12 ARQUITECTÓNICO BR_PRED
0x1b ARQUITECTÓNICO INST_SPEC
0x1e ARQUITECTÓNICO CHAIN
0x23 ARQUITECTÓNICO STALL_FRONTEND
0x24 ARQUITECTÓNICO STALL_BACKEND
0x39 ARQUITECTÓNICO L1D_CACHE_LMISS_RD
0x3c ARQUITECTÓNICO ESTANCAMIENTO
0x40 ARQUITECTÓNICO L1D_CACHE_RD
0x4006 ARQUITECTÓNICO L1I_CACHE_LMISS
0x8006 ARQUITECTÓNICO SVE_INST_SPEC
0x0 ESTÁNDAR SW_INCR
0x1 ESTÁNDAR L1I_CACHE_REFILL
0x2 ESTÁNDAR L1I_TLB_REFILL
0x3 ESTÁNDAR L1D_CACHE_REFILL
0x4 ESTÁNDAR L1D_CACHE
0x5 ESTÁNDAR L1D_TLB_REFILL
0x8 ESTÁNDAR INST_RETIRED
0x9 ESTÁNDAR EXC_TAKEN
0xA ESTÁNDAR EXC_RETURN
0xb ESTÁNDAR CID_WRITE_RETIRED
0x10 ESTÁNDAR BR_MIS_PRED
0x11 ESTÁNDAR CPU_CYCLES
0x12 ESTÁNDAR BR_PRED
0x13 ESTÁNDAR MEM_ACCESS
0x14 ESTÁNDAR L1I_CACHE
0x15 ESTÁNDAR L1D_CACHE_WB
0x16 ESTÁNDAR L2D_CACHE
0x17 ESTÁNDAR L2D_CACHE_REFILL
0x18 ESTÁNDAR L2D_CACHE_WB
0x19 ESTÁNDAR BUS_ACCESS
0x1b ESTÁNDAR INST_SPEC
0x1c ESTÁNDAR TTBR_WRITE_RETIRED
0x1d ESTÁNDAR BUS_CYCLES
0x1e ESTÁNDAR CHAIN
0x20 ESTÁNDAR L2D_CACHE_ALLOCATE
0x21 ESTÁNDAR BR_RETIRED
0x22 ESTÁNDAR BR_MIS_PRED_RETIRED
0x23 ESTÁNDAR STALL_FRONTEND
0x24 ESTÁNDAR STALL_BACKEND
0x25 ESTÁNDAR L1D_TLB
0x26 ESTÁNDAR L1I_TLB
0x2d ESTÁNDAR L2D_TLB_REFILL
0x2f ESTÁNDAR L2D_TLB
0x31 ESTÁNDAR REMOTE_ACCESS
0x34 ESTÁNDAR DTLB_WALK
0x35 ESTÁNDAR ITLB_WALK
0x39 ESTÁNDAR L1D_CACHE_LMISS_RD
0x3a ESTÁNDAR OP_RETIRED
0x3b ESTÁNDAR OP_SPEC
0x3c ESTÁNDAR ESTANCAMIENTO
0x3d ESTÁNDAR STALL_SLOT_BACKEND
0x3e ESTÁNDAR STALL_SLOT_FRONTEND
0x3f ESTÁNDAR STALL_SLOT
0x40 ESTÁNDAR L1D_CACHE_RD
0x41 ESTÁNDAR L1D_CACHE_WR
0x42 ESTÁNDAR L1D_CACHE_REFILL_RD
0x43 ESTÁNDAR L1D_CACHE_REFILL_WR
0x44 ESTÁNDAR L1D_CACHE_REFILL_INNER
0x45 ESTÁNDAR L1D_CACHE_REFILL_OUTER
0x46 ESTÁNDAR L1D_CACHE_WB_VICTIM
0x47 ESTÁNDAR L1D_CACHE_WB_CLEAN
0x48 ESTÁNDAR L1D_CACHE_INVAL
0x4c ESTÁNDAR L1D_TLB_REFILL_RD
0x4d ESTÁNDAR L1D_TLB_REFILL_WR
0x4e ESTÁNDAR L1D_TLB_RD
0x4f ESTÁNDAR L1D_TLB_WR
0x50 ESTÁNDAR L2D_CACHE_RD
0x51 ESTÁNDAR L2D_CACHE_WR
0x52 ESTÁNDAR L2D_CACHE_REFILL_RD
0x53 ESTÁNDAR L2D_CACHE_REFILL_WR
0x56 ESTÁNDAR L2D_CACHE_WB_VICTIM
0x57 ESTÁNDAR L2D_CACHE_WB_CLEAN
0x58 ESTÁNDAR L2D_CACHE_INVAL
0x5c ESTÁNDAR L2D_TLB_REFILL_RD
0x5d ESTÁNDAR L2D_TLB_REFILL_WR
0x5e ESTÁNDAR L2D_TLB_RD
0x5f ESTÁNDAR L2D_TLB_WR
0x60 ESTÁNDAR BUS_ACCESS_RD
0x61 ESTÁNDAR BUS_ACCESS_WR
0x66 ESTÁNDAR MEM_ACCESS_RD
0x67 ESTÁNDAR MEM_ACCESS_WR
0x68 ESTÁNDAR UNALIGNED_LD_SPEC
0x69 ESTÁNDAR UNALIGNED_ST_SPEC
0x6a ESTÁNDAR UNALIGNED_LDST_SPEC
0x6c ESTÁNDAR LDREX_SPEC
0x6d ESTÁNDAR STREX_PASS_SPEC
0x6e ESTÁNDAR STREX_FAIL_SPEC
0x6f ESTÁNDAR STREX_SPEC
0x70 ESTÁNDAR LD_SPEC
0x71 ESTÁNDAR ST_SPEC
0x73 ESTÁNDAR DP_SPEC
0x74 ESTÁNDAR ASE_SPEC
0x75 ESTÁNDAR VFP_SPEC
0x76 ESTÁNDAR PC_WRITE_SPEC
0x77 ESTÁNDAR CRYPTO_SPEC
0x78 ESTÁNDAR BR_IMMED_SPEC
0x79 ESTÁNDAR BR_RETURN_SPEC
0x7a ESTÁNDAR BR_INDIRECT_SPEC
0x7c ESTÁNDAR ISB_SPEC
0x7d ESTÁNDAR DSB_SPEC
0x7e ESTÁNDAR DMB_SPEC
0x81 ESTÁNDAR EXC_UNDEF
0x82 ESTÁNDAR EXC_SVC
0x83 ESTÁNDAR EXC_PABORT
0x84 ESTÁNDAR EXC_DABORT
0x86 ESTÁNDAR EXC_IRQ
0x87 ESTÁNDAR EXC_FIQ
0x88 ESTÁNDAR EXC_SMC
0x8a ESTÁNDAR EXC_HVC
0x8b ESTÁNDAR EXC_TRAP_PABORT
0x8c ESTÁNDAR EXC_TRAP_DABORT
0x8d ESTÁNDAR EXC_TRAP_OTHER
0x8e ESTÁNDAR EXC_TRAP_IRQ
0x8f ESTÁNDAR EXC_TRAP_FIQ
0x90 ESTÁNDAR RC_LD_SPEC
0x91 ESTÁNDAR RC_ST_SPEC
0x4004 ESTÁNDAR CNT_CYCLES
0x4005 ESTÁNDAR STALL_BACKEND_MEM
0x4006 ESTÁNDAR L1I_CACHE_LMISS
0x4009 ESTÁNDAR L2D_CACHE_LMISS_RD
0x4020 ESTÁNDAR LDST_ALIGN_LAT
0x4021 ESTÁNDAR LD_ALIGN_LAT
0x4022 ESTÁNDAR ST_ALIGN_LAT
0x8005 ESTÁNDAR ASE_INST_SPEC
0x8006 ESTÁNDAR SVE_INST_SPEC
0x8014 ESTÁNDAR FP_HP_SPEC
0x8018 ESTÁNDAR FP_SP_SPEC
0x801c ESTÁNDAR FP_DP_SPEC
0x8074 ESTÁNDAR SVE_PRED_SPEC
0x8075 ESTÁNDAR SVE_PRED_EMPTY_SPEC
0x8076 ESTÁNDAR SVE_PRED_FULL_SPEC
0x8077 ESTÁNDAR SVE_PRED_PARTIAL_SPEC
0x8079 ESTÁNDAR SVE_PRED_NOT_FULL_SPEC
0x80bc ESTÁNDAR SVE_LDFF_SPEC
0x80bd ESTÁNDAR SVE_LDFF_FAULT_SPEC
0x80c0 ESTÁNDAR FP_SCALE_OPS_SPEC
0x80c1 ESTÁNDAR FP_FIXED_OPS_SPEC
0x80e3 ESTÁNDAR ASE_SVE_INT8_SPEC
0x80e7 ESTÁNDAR ASE_SVE_INT16_SPEC
0x80eb ESTÁNDAR ASE_SVE_INT32_SPEC
0x80ef ESTÁNDAR ASE_SVE_INT64_SPEC

Emerald Rapids de Intel

En la siguiente tabla, se enumeran los eventos de PMU compatibles con los procesadores Intel Emerald Rapids (EMR) de 5ª generación.

Código del evento UMask Tipo de seguimiento de PMU Nombre del evento
0x03 0x04 ESTÁNDAR LD_BLOCKS.ADDRESS_ALIAS
0x03 0x82 ESTÁNDAR LD_BLOCKS.STORE_FORWARD
0x03 0x88 ESTÁNDAR LD_BLOCKS.NO_SR
0x11 0x02 ESTÁNDAR ITLB_MISSES.WALK_COMPLETED_4K
0x11 0x04 ESTÁNDAR ITLB_MISSES.WALK_COMPLETED_2M_4M
0x11 0x0E ESTÁNDAR ITLB_MISSES.WALK_COMPLETED
0x11 0x10 ESTÁNDAR ITLB_MISSES.WALK_ACTIVE
0x11 0x20 ESTÁNDAR ITLB_MISSES.STLB_HIT
0x12 0x02 ESTÁNDAR DTLB_LOAD_MISSES.WALK_COMPLETED_4K
0x12 0x04 ESTÁNDAR DTLB_LOAD_MISSES.WALK_COMPLETED_2M_4M
0x12 0x08 ESTÁNDAR DTLB_LOAD_MISSES.WALK_COMPLETED_1G
0x12 0x0E ESTÁNDAR DTLB_LOAD_MISSES.WALK_COMPLETED
0x12 0x10 ESTÁNDAR DTLB_LOAD_MISSES.WALK_ACTIVE
0x12 0x20 ESTÁNDAR DTLB_LOAD_MISSES.STLB_HIT
0x13 0x02 ESTÁNDAR DTLB_STORE_MISSES.WALK_COMPLETED_4K
0x13 0x04 ESTÁNDAR DTLB_STORE_MISSES.WALK_COMPLETED_2M_4M
0x13 0x08 ESTÁNDAR DTLB_STORE_MISSES.WALK_COMPLETED_1G
0x13 0x0E ESTÁNDAR DTLB_STORE_MISSES.WALK_COMPLETED
0x13 0x10 ESTÁNDAR DTLB_STORE_MISSES.WALK_ACTIVE
0x13 0x20 ESTÁNDAR DTLB_STORE_MISSES.STLB_HIT
0x20 0x04 MEJORADAS OFFCORE_REQUESTS_OUTSTANDING.CYCLES_WITH_DEMAND_RFO
0x20 0x08 MEJORADAS OFFCORE_REQUESTS_OUTSTANDING.ALL_DATA_RD
0x21 0x01 MEJORADAS OFFCORE_REQUESTS.DEMAND_DATA_RD
0x21 0x08 MEJORADAS OFFCORE_REQUESTS.DATA_RD
0x21 0x80 MEJORADAS OFFCORE_REQUESTS.ALL_REQUESTS
0x24 0x21 ESTÁNDAR L2_RQSTS.DEMAND_DATA_RD_MISS
0x24 0x22 ESTÁNDAR L2_RQSTS.RFO_MISS
0x24 0x24 ESTÁNDAR L2_RQSTS.CODE_RD_MISS
0x24 0x27 ESTÁNDAR L2_RQSTS.ALL_DEMAND_MISS
0x24 0x28 ESTÁNDAR L2_RQSTS.SWPF_MISS
0x24 0x3F ESTÁNDAR L2_RQSTS.MISS
0x24 0xC1 ESTÁNDAR L2_RQSTS.DEMAND_DATA_RD_HIT
0x24 0xC2 ESTÁNDAR L2_RQSTS.RFO_HIT
0x24 0xC4 ESTÁNDAR L2_RQSTS.CODE_RD_HIT
0x24 0xC8 ESTÁNDAR L2_RQSTS.SWPF_HIT
0x24 0xE1 ESTÁNDAR L2_RQSTS.ALL_DEMAND_DATA_RD
0x24 0xE2 ESTÁNDAR L2_RQSTS.ALL_RFO
0x24 0xE4 ESTÁNDAR L2_RQSTS.ALL_CODE_RD
0x24 0xE7 ESTÁNDAR L2_RQSTS.ALL_DEMAND_REFERENCES
0x24 0xFF ESTÁNDAR L2_RQSTS.REFERENCES
0x25 0x1F ESTÁNDAR L2_LINES_IN.ALL
0x26 0x01 ESTÁNDAR L2_LINES_OUT.SILENT
0x26 0x02 ESTÁNDAR L2_LINES_OUT.NON_SILENT
0x2D 0x01 MEJORADAS XQ.FULL_CYCLES
0x2E 0x41 MEJORADAS LONGEST_LAT_CACHE.MISS
0x3C 0x00 ARQUITECTÓNICO CPU_CLK_UNHALTED.THREAD_P
0x40 0x01 ESTÁNDAR SW_PREFETCH_ACCESS.NTA
0x40 0x02 ESTÁNDAR SW_PREFETCH_ACCESS.T0
0x40 0x04 ESTÁNDAR SW_PREFETCH_ACCESS.T1_T2
0x40 0x08 ESTÁNDAR SW_PREFETCH_ACCESS.PREFETCHW
0x43 0xFD ESTÁNDAR MEM_LOAD_COMPLETED.L1_MISS_ANY
0x44 0x01 ESTÁNDAR MEM_STORE_RETIRED.L2_HIT
0x47 0x02 ESTÁNDAR MEMORY_ACTIVITY.CYCLES_L1D_MISS
0x47 0x03 ESTÁNDAR MEMORY_ACTIVITY.STALLS_L1D_MISS
0x47 0x05 ESTÁNDAR MEMORY_ACTIVITY.STALLS_L2_MISS
0x47 0x09 MEJORADAS MEMORY_ACTIVITY.STALLS_L3_MISS
0x48 0x01 ESTÁNDAR L1D_PEND_MISS.PENDING
0x48 0x02 ESTÁNDAR L1D_PEND_MISS.FB_FULL
0x48 0x04 ESTÁNDAR L1D_PEND_MISS.L2_STALL
0x4C 0x01 ESTÁNDAR LOAD_HIT_PREFETCH.SWPF
0x51 0x01 ESTÁNDAR L1D.REPLACEMENT
0x54 0x01 MEJORADAS TX_MEM.ABORT_CONFLICT
0x54 0x02 MEJORADAS TX_MEM.ABORT_CAPACITY_WRITE
0x54 0x80 MEJORADAS TX_MEM.ABORT_CAPACITY_READ
0x61 0x02 ESTÁNDAR DSB2MITE_SWITCHES.PENALTY_CYCLES
0x75 0x01 ESTÁNDAR INST_DECODED.DECODERS
0x76 0x01 ESTÁNDAR UOPS_DECODED.DEC0_UOPS
0x79 0x04 ESTÁNDAR IDQ.MITE_CYCLES_ANY
0x79 0x08 ESTÁNDAR IDQ.DSB_CYCLES_ANY
0x79 0x20 ESTÁNDAR IDQ.MS_CYCLES_ANY
0x80 0x04 ESTÁNDAR ICACHE_DATA.STALLS
0x83 0x04 ESTÁNDAR ICACHE_TAG.STALLS
0x87 0x01 ESTÁNDAR DECODE.LCP
0x9C 0x01 ESTÁNDAR IDQ_UOPS_NOT_DELIVERED.CORE
0xA2 0x02 ESTÁNDAR RESOURCE_STALLS.SCOREBOARD
0xA2 0x08 ESTÁNDAR RESOURCE_STALLS.SB
0xA3 0x01 ESTÁNDAR CYCLE_ACTIVITY.CYCLES_L2_MISS
0xA3 0x04 ESTÁNDAR CYCLE_ACTIVITY.STALLS_TOTAL
0xA3 0x05 ESTÁNDAR CYCLE_ACTIVITY.STALLS_L2_MISS
0xA3 0x06 MEJORADAS CYCLE_ACTIVITY.STALLS_L3_MISS
0xA3 0x08 ESTÁNDAR CYCLE_ACTIVITY.CYCLES_L1D_MISS
0xA3 0x0C ESTÁNDAR CYCLE_ACTIVITY.STALLS_L1D_MISS
0xA3 0x10 ESTÁNDAR CYCLE_ACTIVITY.CYCLES_MEM_ANY
0xA4 0x01 ARQUITECTÓNICO TOPDOWN.SLOTS_P
0xA4 0x02 ESTÁNDAR TOPDOWN.BACKEND_BOUND_SLOTS
0xA4 0x04 ESTÁNDAR TOPDOWN.BAD_SPEC_SLOTS
0xA4 0x08 ESTÁNDAR TOPDOWN.BR_MISPREDICT_SLOTS
0xA4 0x10 ESTÁNDAR TOPDOWN.MEMORY_BOUND_SLOTS
0xA5 0x07 ESTÁNDAR RS_EMPTY.CYCLES
0xA6 0x02 ESTÁNDAR EXE_ACTIVITY.1_PORTS_UTIL
0xA6 0x04 ESTÁNDAR EXE_ACTIVITY.2_PORTS_UTIL
0xA6 0x08 ESTÁNDAR EXE_ACTIVITY.3_PORTS_UTIL
0xA6 0x10 ESTÁNDAR EXE_ACTIVITY.4_PORTS_UTIL
0xA6 0x21 ESTÁNDAR EXE_ACTIVITY.BOUND_ON_LOADS
0xA6 0x40 ESTÁNDAR EXE_ACTIVITY.BOUND_ON_STORES
0xA6 0x80 ESTÁNDAR EXE_ACTIVITY.EXE_BOUND_0_PORTS
0xA8 0x01 ESTÁNDAR LSD.CYCLES_ACTIVE
0xAD 0x01 ESTÁNDAR INT_MISC.RECOVERY_CYCLES
0xAD 0x10 ESTÁNDAR INT_MISC.UOP_DROPPING
0xAD 0x20 ESTÁNDAR INT_MISC.MBA_STALLS
0xAD 0x80 ESTÁNDAR INT_MISC.CLEAR_RESTEER_CYCLES
0xAE 0x01 ESTÁNDAR UOPS_ISSUED.ANY
0xB0 0x01 ESTÁNDAR ARITH.FP_DIVIDER_ACTIVE
0xB0 0x08 ESTÁNDAR ARITH.IDIV_ACTIVE
0xB0 0x09 ESTÁNDAR ARITH.DIVIDER_ACTIVE
0xB1 0x01 ESTÁNDAR UOPS_EXECUTED.CYCLES_GE_1
0xB1 0x02 ESTÁNDAR UOPS_EXECUTED.CORE
0xB1 0x10 ESTÁNDAR UOPS_EXECUTED.X87
0xB2 0x01 ESTÁNDAR UOPS_DISPATCHED.PORT_0
0xB2 0x02 ESTÁNDAR UOPS_DISPATCHED.PORT_1
0xB2 0x04 ESTÁNDAR UOPS_DISPATCHED.PORT_2_3_10
0xB2 0x10 ESTÁNDAR UOPS_DISPATCHED.PORT_4_9
0xB2 0x20 ESTÁNDAR UOPS_DISPATCHED.PORT_5_11
0xB2 0x40 ESTÁNDAR UOPS_DISPATCHED.PORT_6
0xB2 0x80 ESTÁNDAR UOPS_DISPATCHED.PORT_7_8
0xB3 0x01 ESTÁNDAR FP_ARITH_DISPATCHED.PORT_0
0xB3 0x02 ESTÁNDAR FP_ARITH_DISPATCHED.PORT_1
0xB3 0x04 ESTÁNDAR FP_ARITH_DISPATCHED.PORT_5
0xB7 0x02 ESTÁNDAR EXE.AMX_BUSY
0xC0 0x00 ARQUITECTÓNICO INST_RETIRED.ANY_P
0xC0 0x02 ESTÁNDAR INST_RETIRED.NOP
0xC0 0x08 ESTÁNDAR INST_RETIRED.REP_ITERATION
0xC0 0x10 ESTÁNDAR INST_RETIRED.MACRO_FUSED
0xC1 0x02 ESTÁNDAR ASSISTS.FP
0xC1 0x08 ESTÁNDAR ASSISTS.PAGE_FAULT
0xC1 0x10 ESTÁNDAR ASSISTS.SSE_AVX_MIX
0xC1 0x1B ESTÁNDAR ASSISTS.ANY
0xC2 0x01 ESTÁNDAR UOPS_RETIRED.HEAVY
0xC2 0x02 ESTÁNDAR UOPS_RETIRED.SLOTS
0xC3 0x01 ESTÁNDAR MACHINE_CLEARS.COUNT
0xC3 0x02 ESTÁNDAR MACHINE_CLEARS.MEMORY_ORDERING
0xC3 0x04 ESTÁNDAR MACHINE_CLEARS.SMC
0xC4 0x00 ARQUITECTÓNICO BR_INST_RETIRED.ALL_BRANCHES
0xC4 0x01 ESTÁNDAR BR_INST_RETIRED.COND_TAKEN
0xC4 0x02 ESTÁNDAR BR_INST_RETIRED.NEAR_CALL
0xC4 0x08 ESTÁNDAR BR_INST_RETIRED.NEAR_RETURN
0xC4 0x10 ESTÁNDAR BR_INST_RETIRED.COND_NTAKEN
0xC4 0x11 ESTÁNDAR BR_INST_RETIRED.COND
0xC4 0x20 ESTÁNDAR BR_INST_RETIRED.NEAR_TAKEN
0xC4 0x40 ESTÁNDAR BR_INST_RETIRED.FAR_BRANCH
0xC4 0x80 ESTÁNDAR BR_INST_RETIRED.INDIRECT
0xC5 0x00 ARQUITECTÓNICO BR_MISP_RETIRED.ALL_BRANCHES
0xC5 0x01 ESTÁNDAR BR_MISP_RETIRED.COND_TAKEN
0xC5 0x02 ESTÁNDAR BR_MISP_RETIRED.INDIRECT_CALL
0xC5 0x08 ESTÁNDAR BR_MISP_RETIRED.RET
0xC5 0x10 ESTÁNDAR BR_MISP_RETIRED.COND_NTAKEN
0xC5 0x11 ESTÁNDAR BR_MISP_RETIRED.COND
0xC5 0x20 ESTÁNDAR BR_MISP_RETIRED.NEAR_TAKEN
0xC5 0x80 ESTÁNDAR BR_MISP_RETIRED.INDIRECT
0xC7 0x01 ESTÁNDAR FP_ARITH_INST_RETIRED.SCALAR_DOUBLE
0xC7 0x02 ESTÁNDAR FP_ARITH_INST_RETIRED.SCALAR_SINGLE
0xC7 0x04 ESTÁNDAR FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE
0xC7 0x08 ESTÁNDAR FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE
0xC7 0x10 ESTÁNDAR FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE
0xC7 0x20 ESTÁNDAR FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE
0xC7 0x40 ESTÁNDAR FP_ARITH_INST_RETIRED.512B_PACKED_DOUBLE
0xC7 0x80 ESTÁNDAR FP_ARITH_INST_RETIRED.512B_PACKED_SINGLE
0xC9 0x01 MEJORADAS RTM_RETIRED.START
0xC9 0x02 MEJORADAS RTM_RETIRED.COMMIT
0xC9 0x04 MEJORADAS RTM_RETIRED.ABORTED
0xC9 0x08 MEJORADAS RTM_RETIRED.ABORTED_MEM
0xC9 0x20 MEJORADAS RTM_RETIRED.ABORTED_UNFRIENDLY
0xC9 0x40 MEJORADAS RTM_RETIRED.ABORTED_MEMTYPE
0xC9 0x80 MEJORADAS RTM_RETIRED.ABORTED_EVENTS
0xCE 0x01 ESTÁNDAR AMX_OPS_RETIRED.INT8
0xCE 0x02 ESTÁNDAR AMX_OPS_RETIRED.BF16
0xCF 0x01 ESTÁNDAR FP_ARITH_INST_RETIRED2.SCALAR_HALF
0xCF 0x02 ESTÁNDAR FP_ARITH_INST_RETIRED2.COMPLEX_SCALAR_HALF
0xCF 0x03 ESTÁNDAR FP_ARITH_INST_RETIRED2.SCALAR
0xCF 0x04 ESTÁNDAR FP_ARITH_INST_RETIRED2.128B_PACKED_HALF
0xCF 0x08 ESTÁNDAR FP_ARITH_INST_RETIRED2.256B_PACKED_HALF
0xCF 0x10 ESTÁNDAR FP_ARITH_INST_RETIRED2.512B_PACKED_HALF
0xCF 0x1C ESTÁNDAR FP_ARITH_INST_RETIRED2.VECTOR
0xD0 0x11 ESTÁNDAR MEM_INST_RETIRED.STLB_MISS_LOADS
0xD0 0x12 ESTÁNDAR MEM_INST_RETIRED.STLB_MISS_STORES
0xD0 0x21 ESTÁNDAR MEM_INST_RETIRED.LOCK_LOADS
0xD0 0x41 ESTÁNDAR MEM_INST_RETIRED.SPLIT_LOADS
0xD0 0x42 ESTÁNDAR MEM_INST_RETIRED.SPLIT_STORES
0xD0 0x81 ESTÁNDAR MEM_INST_RETIRED.ALL_LOADS
0xD0 0x82 ESTÁNDAR MEM_INST_RETIRED.ALL_STORES
0xD0 0x83 ESTÁNDAR MEM_INST_RETIRED.ANY
0xD1 0x01 ESTÁNDAR MEM_LOAD_RETIRED.L1_HIT
0xD1 0x02 ESTÁNDAR MEM_LOAD_RETIRED.L2_HIT
0xD1 0x04 MEJORADAS MEM_LOAD_RETIRED.L3_HIT
0xD1 0x08 ESTÁNDAR MEM_LOAD_RETIRED.L1_MISS
0xD1 0x10 ESTÁNDAR MEM_LOAD_RETIRED.L2_MISS
0xD1 0x20 MEJORADAS MEM_LOAD_RETIRED.L3_MISS
0xD1 0x40 ESTÁNDAR MEM_LOAD_RETIRED.FB_HIT
0xD2 0x01 MEJORADAS MEM_LOAD_L3_HIT_RETIRED.XSNP_MISS
0xD2 0x02 MEJORADAS MEM_LOAD_L3_HIT_RETIRED.XSNP_NO_FWD
0xD2 0x04 MEJORADAS MEM_LOAD_L3_HIT_RETIRED.XSNP_FWD
0xD2 0x08 MEJORADAS MEM_LOAD_L3_HIT_RETIRED.XSNP_NONE
0xD3 0x01 MEJORADAS MEM_LOAD_L3_MISS_RETIRED.LOCAL_DRAM
0xD3 0x02 MEJORADAS MEM_LOAD_L3_MISS_RETIRED.REMOTE_DRAM
0xD3 0x04 MEJORADAS MEM_LOAD_L3_MISS_RETIRED.REMOTE_HITM
0xD3 0x08 MEJORADAS MEM_LOAD_L3_MISS_RETIRED.REMOTE_FWD
0xD4 0x04 ESTÁNDAR MEM_LOAD_MISC_RETIRED.UC
0xE0 0x20 ESTÁNDAR MISC2_RETIRED.LFENCE
0xE5 0x03 ESTÁNDAR MEM_UOP_RETIRED.ANY
0xE7 0x03 ESTÁNDAR INT_VEC_RETIRED.ADD_128
0xE7 0x0C ESTÁNDAR INT_VEC_RETIRED.ADD_256
0xE7 0x10 ESTÁNDAR INT_VEC_RETIRED.VNNI_128
0xE7 0x13 ESTÁNDAR INT_VEC_RETIRED.128BIT
0xE7 0x20 ESTÁNDAR INT_VEC_RETIRED.VNNI_256
0xE7 0x40 ESTÁNDAR INT_VEC_RETIRED.SHUFFLES
0xE7 0x80 ESTÁNDAR INT_VEC_RETIRED.MUL_256
0xE7 0xAC ESTÁNDAR INT_VEC_RETIRED.256BIT
0xEC 0x10 ESTÁNDAR CPU_CLK_UNHALTED.C01
0xEC 0x20 ESTÁNDAR CPU_CLK_UNHALTED.C02
0xEC 0x40 ESTÁNDAR CPU_CLK_UNHALTED.PAUSE
0xEC 0x70 ESTÁNDAR CPU_CLK_UNHALTED.C0_WAIT

Granite Rapids de Intel

En la siguiente tabla, se enumeran los eventos de PMU compatibles con los procesadores Intel Granite Rapids de 6ª generación.

Código del evento UMask Tipo de seguimiento de PMU Nombre del evento
0x03 0x04 ESTÁNDAR LD_BLOCKS.ADDRESS_ALIAS
0x03 0x82 ESTÁNDAR LD_BLOCKS.STORE_FORWARD
0x03 0x88 ESTÁNDAR LD_BLOCKS.NO_SR
0x11 0x02 ESTÁNDAR ITLB_MISSES.WALK_COMPLETED_4K
0x11 0x04 ESTÁNDAR ITLB_MISSES.WALK_COMPLETED_2M_4M
0x11 0x0E ESTÁNDAR ITLB_MISSES.WALK_COMPLETED
0x11 0x10 ESTÁNDAR ITLB_MISSES.WALK_ACTIVE
0x11 0x20 ESTÁNDAR ITLB_MISSES.STLB_HIT
0x12 0x02 ESTÁNDAR DTLB_LOAD_MISSES.WALK_COMPLETED_4K
0x12 0x04 ESTÁNDAR DTLB_LOAD_MISSES.WALK_COMPLETED_2M_4M
0x12 0x08 ESTÁNDAR DTLB_LOAD_MISSES.WALK_COMPLETED_1G
0x12 0x0E ESTÁNDAR DTLB_LOAD_MISSES.WALK_COMPLETED
0x12 0x10 ESTÁNDAR DTLB_LOAD_MISSES.WALK_ACTIVE
0x12 0x20 ESTÁNDAR DTLB_LOAD_MISSES.STLB_HIT
0x13 0x02 ESTÁNDAR DTLB_STORE_MISSES.WALK_COMPLETED_4K
0x13 0x04 ESTÁNDAR DTLB_STORE_MISSES.WALK_COMPLETED_2M_4M
0x13 0x08 ESTÁNDAR DTLB_STORE_MISSES.WALK_COMPLETED_1G
0x13 0x0E ESTÁNDAR DTLB_STORE_MISSES.WALK_COMPLETED
0x13 0x10 ESTÁNDAR DTLB_STORE_MISSES.WALK_ACTIVE
0x13 0x20 ESTÁNDAR DTLB_STORE_MISSES.STLB_HIT
0x20 0x01 MEJORADAS OFFCORE_REQUESTS_OUTSTANDING.CYCLES_WITH_DEMAND_DATA_RD
0x20 0x02 MEJORADAS OFFCORE_REQUESTS_OUTSTANDING.CYCLES_WITH_DEMAND_CODE_RD
0x20 0x04 MEJORADAS OFFCORE_REQUESTS_OUTSTANDING.CYCLES_WITH_DEMAND_RFO
0x20 0x08 MEJORADAS OFFCORE_REQUESTS_OUTSTANDING.CYCLES_WITH_DATA_RD
0x20 0x10 MEJORADAS OFFCORE_REQUESTS_OUTSTANDING.CYCLES_WITH_L3_MISS_DEMAND_DATA_RD
0x21 0x01 MEJORADAS OFFCORE_REQUESTS.DEMAND_DATA_RD
0x21 0x02 MEJORADAS OFFCORE_REQUESTS.DEMAND_CODE_RD
0x21 0x04 MEJORADAS OFFCORE_REQUESTS.DEMAND_RFO
0x21 0x08 MEJORADAS OFFCORE_REQUESTS.DATA_RD
0x21 0x10 MEJORADAS OFFCORE_REQUESTS.L3_MISS_DEMAND_DATA_RD
0x21 0x80 MEJORADAS OFFCORE_REQUESTS.ALL_REQUESTS
0x23 0x40 ESTÁNDAR L2_TRANS.L2_WB
0x24 0x21 ESTÁNDAR L2_RQSTS.DEMAND_DATA_RD_MISS
0x24 0x22 ESTÁNDAR L2_RQSTS.RFO_MISS
0x24 0x24 ESTÁNDAR L2_RQSTS.CODE_RD_MISS
0x24 0x27 ESTÁNDAR L2_RQSTS.ALL_DEMAND_MISS
0x24 0x28 ESTÁNDAR L2_RQSTS.SWPF_MISS
0x24 0x30 ESTÁNDAR L2_RQSTS.HWPF_MISS
0x24 0x3F ESTÁNDAR L2_RQSTS.MISS
0x24 0xC1 ESTÁNDAR L2_RQSTS.DEMAND_DATA_RD_HIT
0x24 0xC2 ESTÁNDAR L2_RQSTS.RFO_HIT
0x24 0xC4 ESTÁNDAR L2_RQSTS.CODE_RD_HIT
0x24 0xC8 ESTÁNDAR L2_RQSTS.SWPF_HIT
0x24 0xDF ESTÁNDAR L2_RQSTS.HIT
0x24 0xE1 ESTÁNDAR L2_RQSTS.ALL_DEMAND_DATA_RD
0x24 0xE2 ESTÁNDAR L2_RQSTS.ALL_RFO
0x24 0xE4 ESTÁNDAR L2_RQSTS.ALL_CODE_RD
0x24 0xE7 ESTÁNDAR L2_RQSTS.ALL_DEMAND_REFERENCES
0x24 0xF0 ESTÁNDAR L2_RQSTS.ALL_HWPF
0x24 0xFF ESTÁNDAR L2_RQSTS.REFERENCES
0x25 0x1F ESTÁNDAR L2_LINES_IN.ALL
0x26 0x01 ESTÁNDAR L2_LINES_OUT.SILENT
0x26 0x02 ESTÁNDAR L2_LINES_OUT.NON_SILENT
0x26 0x04 ESTÁNDAR L2_LINES_OUT.USELESS_HWPF
0x2D 0x01 MEJORADAS XQ.FULL_CYCLES
0x2E 0x41 MEJORADAS LONGEST_LAT_CACHE.MISS
0x2E 0x4F MEJORADAS LONGEST_LAT_CACHE.REFERENCE
0x3C 0x00 ARQUITECTÓNICO CPU_CLK_UNHALTED.THREAD_P
0x3C 0x01 ARQUITECTÓNICO CPU_CLK_UNHALTED.REF_TSC_P
0x40 0x01 ESTÁNDAR SW_PREFETCH_ACCESS.NTA
0x40 0x02 ESTÁNDAR SW_PREFETCH_ACCESS.T0
0x40 0x04 ESTÁNDAR SW_PREFETCH_ACCESS.T1_T2
0x40 0x08 ESTÁNDAR SW_PREFETCH_ACCESS.PREFETCHW
0x40 0xF ESTÁNDAR SW_PREFETCH_ACCESS.ANY
0x43 0xFD ESTÁNDAR MEM_LOAD_COMPLETED.L1_MISS_ANY
0x44 0x01 ESTÁNDAR MEM_STORE_RETIRED.L2_HIT
0x47 0x02 ESTÁNDAR MEMORY_ACTIVITY.CYCLES_L1D_MISS
0x47 0x03 ESTÁNDAR MEMORY_ACTIVITY.STALLS_L1D_MISS
0x47 0x05 ESTÁNDAR MEMORY_ACTIVITY.STALLS_L2_MISS
0x47 0x09 MEJORADAS MEMORY_ACTIVITY.STALLS_L3_MISS
0x48 0x01 ESTÁNDAR L1D_PEND_MISS.PENDING
0x48 0x02 ESTÁNDAR L1D_PEND_MISS.FB_FULL
0x48 0x04 ESTÁNDAR L1D_PEND_MISS.L2_STALLS
0x4C 0x01 ESTÁNDAR LOAD_HIT_PREFETCH.SWPF
0x51 0x01 ESTÁNDAR L1D.REPLACEMENT
0x51 0x20 ESTÁNDAR L1D.HWPF_MISS
0x54 0x01 MEJORADAS TX_MEM.ABORT_CONFLICT
0x54 0x02 MEJORADAS TX_MEM.ABORT_CAPACITY_WRITE
0x54 0x80 MEJORADAS TX_MEM.ABORT_CAPACITY_READ
0x60 0x01 ESTÁNDAR BACLEARS.ANY
0x61 0x02 ESTÁNDAR DSB2MITE_SWITCHES.PENALTY_CYCLES
0x75 0x01 ESTÁNDAR INST_DECODED.DECODERS
0x76 0x01 ESTÁNDAR UOPS_DECODED.DEC0_UOPS
0x79 0x04 ESTÁNDAR IDQ.MITE_CYCLES_ANY
0x79 0x08 ESTÁNDAR IDQ.DSB_CYCLES_ANY
0x79 0x20 ESTÁNDAR IDQ.MS_CYCLES_ANY
0x80 0x04 ESTÁNDAR ICACHE_DATA.STALLS
0x83 0x04 ESTÁNDAR ICACHE_TAG.STALLS
0x87 0x01 ESTÁNDAR DECODE.LCP
0x87 0x02 ESTÁNDAR DECODE.MS_BUSY
0x9C 0x01 ESTÁNDAR IDQ_UOPS_NOT_DELIVERED.CORE
0xA2 0x02 ESTÁNDAR RESOURCE_STALLS.SCOREBOARD
0xA2 0x08 ESTÁNDAR RESOURCE_STALLS.SB
0xA3 0x01 ESTÁNDAR CYCLE_ACTIVITY.CYCLES_L2_MISS
0xA3 0x02 MEJORADAS CYCLE_ACTIVITY.CYCLES_L3_MISS
0xA3 0x04 ESTÁNDAR CYCLE_ACTIVITY.STALLS_TOTAL
0xA3 0x05 ESTÁNDAR CYCLE_ACTIVITY.STALLS_L2_MISS
0xA3 0x06 MEJORADAS CYCLE_ACTIVITY.STALLS_L3_MISS
0xA3 0x08 ESTÁNDAR CYCLE_ACTIVITY.CYCLES_L1D_MISS
0xA3 0x0C ESTÁNDAR CYCLE_ACTIVITY.STALLS_L1D_MISS
0xA3 0x10 ESTÁNDAR CYCLE_ACTIVITY.CYCLES_MEM_ANY
0xA4 0x01 ARQUITECTÓNICO TOPDOWN.SLOTS_P
0xA4 0x02 ESTÁNDAR TOPDOWN.BACKEND_BOUND_SLOTS
0xA4 0x04 ESTÁNDAR TOPDOWN.BAD_SPEC_SLOTS
0xA4 0x08 ESTÁNDAR TOPDOWN.BR_MISPREDICT_SLOTS
0xA4 0x10 ESTÁNDAR TOPDOWN.MEMORY_BOUND_SLOTS
0xA5 0x01 ESTÁNDAR RS.EMPTY_RESOURCE
0xA5 0x07 ESTÁNDAR RS.EMPTY
0xA6 0x02 ESTÁNDAR EXE_ACTIVITY.1_PORTS_UTIL
0xA6 0x04 ESTÁNDAR EXE_ACTIVITY.2_PORTS_UTIL
0xA6 0x08 ESTÁNDAR EXE_ACTIVITY.3_PORTS_UTIL
0xA6 0x10 ESTÁNDAR EXE_ACTIVITY.4_PORTS_UTIL
0xA6 0x21 ESTÁNDAR EXE_ACTIVITY.BOUND_ON_LOADS
0xA6 0x40 ESTÁNDAR EXE_ACTIVITY.BOUND_ON_STORES
0xA6 0x80 ESTÁNDAR EXE_ACTIVITY.EXE_BOUND_0_PORTS
0xA6 0xC ESTÁNDAR EXE_ACTIVITY.2_3_PORTS_UTIL
0xA8 0x01 ESTÁNDAR LSD.CYCLES_ACTIVE
0xAD 0x01 ESTÁNDAR INT_MISC.RECOVERY_CYCLES
0xAD 0x10 ESTÁNDAR INT_MISC.UOP_DROPPING
0xAD 0x20 ESTÁNDAR INT_MISC.MBA_STALLS
0xAD 0x80 ESTÁNDAR INT_MISC.CLEAR_RESTEER_CYCLES
0xAE 0x01 ESTÁNDAR UOPS_ISSUED.ANY
0xB0 0x01 ESTÁNDAR ARITH.FPDIV_ACTIVE
0xB0 0x08 ESTÁNDAR ARITH.IDIV_ACTIVE
0xB0 0x09 ESTÁNDAR ARITH.DIV_ACTIVE
0xB1 0x01 ESTÁNDAR UOPS_EXECUTED.CYCLES_GE_1
0xB1 0x02 ESTÁNDAR UOPS_EXECUTED.CORE
0xB1 0x10 ESTÁNDAR UOPS_EXECUTED.X87
0xB2 0x01 ESTÁNDAR UOPS_DISPATCHED.PORT_0
0xB2 0x02 ESTÁNDAR UOPS_DISPATCHED.PORT_1
0xB2 0x04 ESTÁNDAR UOPS_DISPATCHED.PORT_2_3_10
0xB2 0x10 ESTÁNDAR UOPS_DISPATCHED.PORT_4_9
0xB2 0x20 ESTÁNDAR UOPS_DISPATCHED.PORT_5_11
0xB2 0x40 ESTÁNDAR UOPS_DISPATCHED.PORT_6
0xB2 0x80 ESTÁNDAR UOPS_DISPATCHED.PORT_7_8
0xB3 0x01 ESTÁNDAR FP_ARITH_DISPATCHED.PORT_0
0xB3 0x02 ESTÁNDAR FP_ARITH_DISPATCHED.PORT_1
0xB3 0x04 ESTÁNDAR FP_ARITH_DISPATCHED.PORT_5
0xB7 0x02 ESTÁNDAR EXE.AMX_BUSY
0xC0 0x00 ARQUITECTÓNICO INST_RETIRED.ANY_P
0xC0 0x02 ESTÁNDAR INST_RETIRED.NOP
0xC0 0x08 ESTÁNDAR INST_RETIRED.REP_ITERATION
0xC0 0x10 ESTÁNDAR INST_RETIRED.MACRO_FUSED
0xC1 0x02 ESTÁNDAR ASSISTS.FP
0xC1 0x04 ESTÁNDAR ASSISTS.HARDWARE
0xC1 0x08 ESTÁNDAR ASSISTS.PAGE_FAULT
0xC1 0x10 ESTÁNDAR ASSISTS.SSE_AVX_MIX
0xC1 0x1B ESTÁNDAR ASSISTS.ANY
0xC2 0x01 ESTÁNDAR UOPS_RETIRED.HEAVY
0xC2 0x02 ESTÁNDAR UOPS_RETIRED.SLOTS
0xC3 0x01 ESTÁNDAR MACHINE_CLEARS.COUNT
0xC3 0x02 ESTÁNDAR MACHINE_CLEARS.MEMORY_ORDERING
0xC3 0x04 ESTÁNDAR MACHINE_CLEARS.SMC
0xC4 0x00 ARQUITECTÓNICO BR_INST_RETIRED.ALL_BRANCHES
0xC4 0x01 ESTÁNDAR BR_INST_RETIRED.COND_TAKEN
0xC4 0x02 ESTÁNDAR BR_INST_RETIRED.NEAR_CALL
0xC4 0x08 ESTÁNDAR BR_INST_RETIRED.NEAR_RETURN
0xC4 0x10 ESTÁNDAR BR_INST_RETIRED.COND_NTAKEN
0xC4 0x11 ESTÁNDAR BR_INST_RETIRED.COND
0xC4 0x20 ESTÁNDAR BR_INST_RETIRED.NEAR_TAKEN
0xC4 0x40 ESTÁNDAR BR_INST_RETIRED.FAR_BRANCH
0xC4 0x80 ESTÁNDAR BR_INST_RETIRED.INDIRECT
0xC5 0x00 ARQUITECTÓNICO BR_MISP_RETIRED.ALL_BRANCHES
0xC5 0x01 ESTÁNDAR BR_MISP_RETIRED.COND_TAKEN
0xC5 0x02 ESTÁNDAR BR_MISP_RETIRED.INDIRECT_CALL
0xC5 0x08 ESTÁNDAR BR_MISP_RETIRED.RET
0xC5 0x10 ESTÁNDAR BR_MISP_RETIRED.COND_NTAKEN
0xC5 0x11 ESTÁNDAR BR_MISP_RETIRED.COND
0xC5 0x20 ESTÁNDAR BR_MISP_RETIRED.NEAR_TAKEN
0xC5 0x41 ESTÁNDAR BR_MISP_RETIRED.COND_TAKEN_COST
0xC5 0x42 ESTÁNDAR BR_MISP_RETIRED.INDIRECT_CALL_COST
0xC5 0x44 ESTÁNDAR BR_MISP_RETIRED.ALL_BRANCHES_COST
0xC5 0x48 ESTÁNDAR BR_MISP_RETIRED.RET_COST
0xC5 0x50 ESTÁNDAR BR_MISP_RETIRED.COND_NTAKEN_COST
0xC5 0x51 ESTÁNDAR BR_MISP_RETIRED.COND_COST
0xC5 0x60 ESTÁNDAR BR_MISP_RETIRED.NEAR_TAKEN_COST
0xC5 0x80 ESTÁNDAR BR_MISP_RETIRED.INDIRECT
0xC5 0xC0 ESTÁNDAR BR_MISP_RETIRED.INDIRECT_COST
0xC7 0x01 ESTÁNDAR FP_ARITH_INST_RETIRED.SCALAR_DOUBLE
0xC7 0x02 ESTÁNDAR FP_ARITH_INST_RETIRED.SCALAR_SINGLE
0xC7 0x03 ESTÁNDAR FP_ARITH_INST_RETIRED.SCALAR
0xC7 0x04 ESTÁNDAR FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE
0xC7 0x08 ESTÁNDAR FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE
0xC7 0x10 ESTÁNDAR FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE
0xC7 0x18 ESTÁNDAR FP_ARITH_INST_RETIRED.4_FLOPS
0xC7 0x20 ESTÁNDAR FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE
0xC7 0x40 ESTÁNDAR FP_ARITH_INST_RETIRED.512B_PACKED_DOUBLE
0xC7 0x60 ESTÁNDAR FP_ARITH_INST_RETIRED.8_FLOPS
0xC7 0x80 ESTÁNDAR FP_ARITH_INST_RETIRED.512B_PACKED_SINGLE
0xC7 0xFC ESTÁNDAR FP_ARITH_INST_RETIRED.VECTOR
0xC9 0x01 MEJORADAS RTM_RETIRED.START
0xC9 0x02 MEJORADAS RTM_RETIRED.COMMIT
0xC9 0x04 MEJORADAS RTM_RETIRED.ABORTED
0xC9 0x08 MEJORADAS RTM_RETIRED.ABORTED_MEM
0xC9 0x20 MEJORADAS RTM_RETIRED.ABORTED_UNFRIENDLY
0xC9 0x40 MEJORADAS RTM_RETIRED.ABORTED_MEMTYPE
0xC9 0x80 MEJORADAS RTM_RETIRED.ABORTED_EVENTS
0xCF 0x01 ESTÁNDAR FP_ARITH_INST_RETIRED2.SCALAR_HALF
0xCF 0x02 ESTÁNDAR FP_ARITH_INST_RETIRED2.COMPLEX_SCALAR_HALF
0xCF 0x03 ESTÁNDAR FP_ARITH_INST_RETIRED2.SCALAR
0xCF 0x04 ESTÁNDAR FP_ARITH_INST_RETIRED2.128B_PACKED_HALF
0xCF 0x08 ESTÁNDAR FP_ARITH_INST_RETIRED2.256B_PACKED_HALF
0xCF 0x10 ESTÁNDAR FP_ARITH_INST_RETIRED2.512B_PACKED_HALF
0xCF 0x1C ESTÁNDAR FP_ARITH_INST_RETIRED2.VECTOR
0xD0 0x09 ESTÁNDAR MEM_INST_RETIRED.STLB_HIT_LOADS
0xD0 0x0A ESTÁNDAR MEM_INST_RETIRED.STLB_HIT_STORES
0xD0 0x11 ESTÁNDAR MEM_INST_RETIRED.STLB_MISS_LOADS
0xD0 0x12 ESTÁNDAR MEM_INST_RETIRED.STLB_MISS_STORES
0xD0 0x21 ESTÁNDAR MEM_INST_RETIRED.LOCK_LOADS
0xD0 0x41 ESTÁNDAR MEM_INST_RETIRED.SPLIT_LOADS
0xD0 0x42 ESTÁNDAR MEM_INST_RETIRED.SPLIT_STORES
0xD0 0x81 ESTÁNDAR MEM_INST_RETIRED.ALL_LOADS
0xD0 0x82 ESTÁNDAR MEM_INST_RETIRED.ALL_STORES
0xD0 0x83 ESTÁNDAR MEM_INST_RETIRED.ANY
0xD1 0x01 ESTÁNDAR MEM_LOAD_RETIRED.L1_HIT
0xD1 0x02 ESTÁNDAR MEM_LOAD_RETIRED.L2_HIT
0xD1 0x04 MEJORADAS MEM_LOAD_RETIRED.L3_HIT
0xD1 0x08 ESTÁNDAR MEM_LOAD_RETIRED.L1_MISS
0xD1 0x10 ESTÁNDAR MEM_LOAD_RETIRED.L2_MISS
0xD1 0x20 MEJORADAS MEM_LOAD_RETIRED.L3_MISS
0xD1 0x40 ESTÁNDAR MEM_LOAD_RETIRED.FB_HIT
0xD2 0x01 MEJORADAS MEM_LOAD_L3_HIT_RETIRED.XSNP_MISS
0xD2 0x02 MEJORADAS MEM_LOAD_L3_HIT_RETIRED.XSNP_NO_FWD
0xD2 0x04 MEJORADAS MEM_LOAD_L3_HIT_RETIRED.XSNP_FWD
0xD2 0x08 MEJORADAS MEM_LOAD_L3_HIT_RETIRED.XSNP_NONE
0xD3 0x01 MEJORADAS MEM_LOAD_L3_MISS_RETIRED.LOCAL_DRAM
0xD3 0x02 MEJORADAS MEM_LOAD_L3_MISS_RETIRED.REMOTE_DRAM
0xD3 0x04 MEJORADAS MEM_LOAD_L3_MISS_RETIRED.REMOTE_HITM
0xD3 0x08 MEJORADAS MEM_LOAD_L3_MISS_RETIRED.REMOTE_FWD
0xD4 0x04 ESTÁNDAR MEM_LOAD_MISC_RETIRED.UC
0xE0 0x20 ESTÁNDAR MISC2_RETIRED.LFENCE
0xE5 0x03 ESTÁNDAR MEM_UOP_RETIRED.ANY
0xE7 0x03 ESTÁNDAR INT_VEC_RETIRED.ADD_128
0xE7 0x0C ESTÁNDAR INT_VEC_RETIRED.ADD_256
0xE7 0x10 ESTÁNDAR INT_VEC_RETIRED.VNNI_128
0xE7 0x13 ESTÁNDAR INT_VEC_RETIRED.128BIT
0xE7 0x20 ESTÁNDAR INT_VEC_RETIRED.VNNI_256
0xE7 0x40 ESTÁNDAR INT_VEC_RETIRED.SHUFFLES
0xE7 0x80 ESTÁNDAR INT_VEC_RETIRED.MUL_256
0xE7 0xAC ESTÁNDAR INT_VEC_RETIRED.256BIT
0xEC 0x10 ESTÁNDAR CPU_CLK_UNHALTED.C01
0xEC 0x20 ESTÁNDAR CPU_CLK_UNHALTED.C02
0xEC 0x40 ESTÁNDAR CPU_CLK_UNHALTED.PAUSE
0xEC 0x70 ESTÁNDAR CPU_CLK_UNHALTED.C0_WAIT

NVIDIA Grace

En la siguiente tabla, se enumeran los eventos de PMU compatibles con los procesadores NVIDIA Grace que incluyen núcleos Arm Neoverse V2.

Código del evento Tipo de seguimiento de PMU Nombre del evento
0x0 ARQUITECTÓNICO SW_INCR
0x3 ARQUITECTÓNICO L1D_CACHE_REFILL
0x4 ARQUITECTÓNICO L1D_CACHE
0x8 ARQUITECTÓNICO INST_RETIRED
0x10 ARQUITECTÓNICO BR_MIS_PRED
0x11 ARQUITECTÓNICO CPU_CYCLES
0x12 ARQUITECTÓNICO BR_PRED
0x1b ARQUITECTÓNICO INST_SPEC
0x1e ARQUITECTÓNICO CHAIN
0x23 ARQUITECTÓNICO STALL_FRONTEND
0x24 ARQUITECTÓNICO STALL_BACKEND
0x39 ARQUITECTÓNICO L1D_CACHE_LMISS_RD
0x3c ARQUITECTÓNICO ESTANCAMIENTO
0x40 ARQUITECTÓNICO L1D_CACHE_RD
0x4006 ARQUITECTÓNICO L1I_CACHE_LMISS
0x8006 ARQUITECTÓNICO SVE_INST_SPEC
0x0 ESTÁNDAR SW_INCR
0x1 ESTÁNDAR L1I_CACHE_REFILL
0x2 ESTÁNDAR L1I_TLB_REFILL
0x3 ESTÁNDAR L1D_CACHE_REFILL
0x4 ESTÁNDAR L1D_CACHE
0x5 ESTÁNDAR L1D_TLB_REFILL
0x8 ESTÁNDAR INST_RETIRED
0x9 ESTÁNDAR EXC_TAKEN
0xA ESTÁNDAR EXC_RETURN
0xb ESTÁNDAR CID_WRITE_RETIRED
0x10 ESTÁNDAR BR_MIS_PRED
0x11 ESTÁNDAR CPU_CYCLES
0x12 ESTÁNDAR BR_PRED
0x13 ESTÁNDAR MEM_ACCESS
0x14 ESTÁNDAR L1I_CACHE
0x15 ESTÁNDAR L1D_CACHE_WB
0x16 ESTÁNDAR L2D_CACHE
0x17 ESTÁNDAR L2D_CACHE_REFILL
0x18 ESTÁNDAR L2D_CACHE_WB
0x19 ESTÁNDAR BUS_ACCESS
0x1b ESTÁNDAR INST_SPEC
0x1c ESTÁNDAR TTBR_WRITE_RETIRED
0x1d ESTÁNDAR BUS_CYCLES
0x1e ESTÁNDAR CHAIN
0x20 ESTÁNDAR L2D_CACHE_ALLOCATE
0x21 ESTÁNDAR BR_RETIRED
0x22 ESTÁNDAR BR_MIS_PRED_RETIRED
0x23 ESTÁNDAR STALL_FRONTEND
0x24 ESTÁNDAR STALL_BACKEND
0x25 ESTÁNDAR L1D_TLB
0x26 ESTÁNDAR L1I_TLB
0x2d ESTÁNDAR L2D_TLB_REFILL
0x2f ESTÁNDAR L2D_TLB
0x31 ESTÁNDAR REMOTE_ACCESS
0x34 ESTÁNDAR DTLB_WALK
0x35 ESTÁNDAR ITLB_WALK
0x39 ESTÁNDAR L1D_CACHE_LMISS_RD
0x3a ESTÁNDAR OP_RETIRED
0x3b ESTÁNDAR OP_SPEC
0x3c ESTÁNDAR ESTANCAMIENTO
0x3d ESTÁNDAR STALL_SLOT_BACKEND
0x3e ESTÁNDAR STALL_SLOT_FRONTEND
0x3f ESTÁNDAR STALL_SLOT
0x40 ESTÁNDAR L1D_CACHE_RD
0x41 ESTÁNDAR L1D_CACHE_WR
0x42 ESTÁNDAR L1D_CACHE_REFILL_RD
0x43 ESTÁNDAR L1D_CACHE_REFILL_WR
0x44 ESTÁNDAR L1D_CACHE_REFILL_INNER
0x45 ESTÁNDAR L1D_CACHE_REFILL_OUTER
0x46 ESTÁNDAR L1D_CACHE_WB_VICTIM
0x47 ESTÁNDAR L1D_CACHE_WB_CLEAN
0x48 ESTÁNDAR L1D_CACHE_INVAL
0x4c ESTÁNDAR L1D_TLB_REFILL_RD
0x4d ESTÁNDAR L1D_TLB_REFILL_WR
0x4e ESTÁNDAR L1D_TLB_RD
0x4f ESTÁNDAR L1D_TLB_WR
0x50 ESTÁNDAR L2D_CACHE_RD
0x51 ESTÁNDAR L2D_CACHE_WR
0x52 ESTÁNDAR L2D_CACHE_REFILL_RD
0x53 ESTÁNDAR L2D_CACHE_REFILL_WR
0x56 ESTÁNDAR L2D_CACHE_WB_VICTIM
0x57 ESTÁNDAR L2D_CACHE_WB_CLEAN
0x58 ESTÁNDAR L2D_CACHE_INVAL
0x5c ESTÁNDAR L2D_TLB_REFILL_RD
0x5d ESTÁNDAR L2D_TLB_REFILL_WR
0x5e ESTÁNDAR L2D_TLB_RD
0x5f ESTÁNDAR L2D_TLB_WR
0x60 ESTÁNDAR BUS_ACCESS_RD
0x61 ESTÁNDAR BUS_ACCESS_WR
0x66 ESTÁNDAR MEM_ACCESS_RD
0x67 ESTÁNDAR MEM_ACCESS_WR
0x68 ESTÁNDAR UNALIGNED_LD_SPEC
0x69 ESTÁNDAR UNALIGNED_ST_SPEC
0x6a ESTÁNDAR UNALIGNED_LDST_SPEC
0x6c ESTÁNDAR LDREX_SPEC
0x6d ESTÁNDAR STREX_PASS_SPEC
0x6e ESTÁNDAR STREX_FAIL_SPEC
0x6f ESTÁNDAR STREX_SPEC
0x70 ESTÁNDAR LD_SPEC
0x71 ESTÁNDAR ST_SPEC
0x73 ESTÁNDAR DP_SPEC
0x74 ESTÁNDAR ASE_SPEC
0x75 ESTÁNDAR VFP_SPEC
0x76 ESTÁNDAR PC_WRITE_SPEC
0x77 ESTÁNDAR CRYPTO_SPEC
0x78 ESTÁNDAR BR_IMMED_SPEC
0x79 ESTÁNDAR BR_RETURN_SPEC
0x7a ESTÁNDAR BR_INDIRECT_SPEC
0x7c ESTÁNDAR ISB_SPEC
0x7d ESTÁNDAR DSB_SPEC
0x7e ESTÁNDAR DMB_SPEC
0x81 ESTÁNDAR EXC_UNDEF
0x82 ESTÁNDAR EXC_SVC
0x83 ESTÁNDAR EXC_PABORT
0x84 ESTÁNDAR EXC_DABORT
0x86 ESTÁNDAR EXC_IRQ
0x87 ESTÁNDAR EXC_FIQ
0x88 ESTÁNDAR EXC_SMC
0x8a ESTÁNDAR EXC_HVC
0x8b ESTÁNDAR EXC_TRAP_PABORT
0x8c ESTÁNDAR EXC_TRAP_DABORT
0x8d ESTÁNDAR EXC_TRAP_OTHER
0x8e ESTÁNDAR EXC_TRAP_IRQ
0x8f ESTÁNDAR EXC_TRAP_FIQ
0x90 ESTÁNDAR RC_LD_SPEC
0x91 ESTÁNDAR RC_ST_SPEC
0x4004 ESTÁNDAR CNT_CYCLES
0x4005 ESTÁNDAR STALL_BACKEND_MEM
0x4006 ESTÁNDAR L1I_CACHE_LMISS
0x4009 ESTÁNDAR L2D_CACHE_LMISS_RD
0x4020 ESTÁNDAR LDST_ALIGN_LAT
0x4021 ESTÁNDAR LD_ALIGN_LAT
0x4022 ESTÁNDAR ST_ALIGN_LAT
0x8005 ESTÁNDAR ASE_INST_SPEC
0x8006 ESTÁNDAR SVE_INST_SPEC
0x8014 ESTÁNDAR FP_HP_SPEC
0x8018 ESTÁNDAR FP_SP_SPEC
0x801c ESTÁNDAR FP_DP_SPEC
0x8074 ESTÁNDAR SVE_PRED_SPEC
0x8075 ESTÁNDAR SVE_PRED_EMPTY_SPEC
0x8076 ESTÁNDAR SVE_PRED_FULL_SPEC
0x8077 ESTÁNDAR SVE_PRED_PARTIAL_SPEC
0x8079 ESTÁNDAR SVE_PRED_NOT_FULL_SPEC
0x80bc ESTÁNDAR SVE_LDFF_SPEC
0x80bd ESTÁNDAR SVE_LDFF_FAULT_SPEC
0x80c0 ESTÁNDAR FP_SCALE_OPS_SPEC
0x80c1 ESTÁNDAR FP_FIXED_OPS_SPEC
0x80e3 ESTÁNDAR ASE_SVE_INT8_SPEC
0x80e7 ESTÁNDAR ASE_SVE_INT16_SPEC
0x80eb ESTÁNDAR ASE_SVE_INT32_SPEC
0x80ef ESTÁNDAR ASE_SVE_INT64_SPEC

Precios

No hay costos asociados con el uso de la PMU en una instancia de procesamiento.

Limitaciones

Solo puedes habilitar el tipo de PMU mejorado en instancias de C4 o M4 que usen uno de los siguientes tipos de máquinas:

  • Cualquier tipo de máquina C4 con 144 o 288 CPU virtuales

  • Uno de los siguientes tipos de máquinas M4:

    • m4-megamem-112

    • m4-megamem-224

    • m4-ultramem-56

    • m4-ultramem-112

    • m4-ultramem-224

¿Qué sigue?