Quiero calcular el número total de errores de caché L2 mientras estoy ejecutando un programa A en particular. ¿Hay alguna forma de encontrar errores de caché en el caché L2?
Tengo que saber que los tipos de eventos de contador de rendimiento de la CPU Core i7 "L2_LINES_OUT" están disponibles para contar las líneas de caché L2 desalojadas, pero no sé cómo usarlo.
Estoy usando Linux y una máquina Intel i7 IvyBridge.
Cualquier puntero o enlace será muy apreciado.
De acuerdo con este resumen , puede usar los l2_rqsts l2_rqsts:
0x01: (name=demand_data_rd_hit) Demand Data Read requests that hit L2 cache 0x03: (name=all_demand_data_rd) Demand Data Read requests 0x04: (name=rfo_hit) RFO requests that hit L2 cache 0x08: (name=rfo_miss) RFO requests that miss L2 cache 0x0c: (name=all_rfo) RFO requests to L2 cache 0x10: (name=code_rd_hit) L2 cache hits when fetching instructions, code reads. 0x20: (name=code_rd_miss) L2 cache misses when fetching instructions 0x30: (name=all_code_rd) L2 code requests 0x40: (name=pf_hit) Requests from the L2 hardware prefetchers that hit L2 cache 0x80: (name=pf_miss) Requests from the L2 hardware prefetchers that miss L2 cache 0xc0: (name=all_pf) Requests from L2 hardware prefetchers Simplemente puede usar - (all_demand_data_rd - demand_data_rd_hit) para contar las fallas de demanda
Buscar PAPI, es una herramienta que puede usar para leer la PMU antes y después de que el segmento de código que desea recopilar las fallas de caché L2.