Измерение промахов кэша данных L1 с помощью perf и papi

В чем разница между PAPI_L1_LDM в papi и L1-dcache-load-misses в perf?

Я использовал тот же параметр, например и-пропускает">этот пост здесь.

Итак, в результате я получаю для папи:

PAPI_L1_DCM: 515 <- L1 data cache miss (probably L1D_READ_MISSES_ALL + L1D_READ_MISSES_RETRIED?)
PAPI_L1_ICM: 300 <- L1 Instruction cache miss
PAPI_L1_LDM: 441 <- L1 Load data miss
PAPI_L1_TCM: 815 <- L1 Total cache miss

К сожалению, PAPI_L1_DCA не поддерживается на этой машине.

И для производительности (только в пользовательском пространстве, поскольку папи также измеряет только пользовательское пространство, а не пространство ядра): call: perf stat -B -e L1-dcache-load-misses:u,cache-misses:u ./perf

    16,539      L1-dcache-load-misses
       128      cache-misses:u  

16 539 кажется более разумным для N=1000000. В чем разница между промахом загрузки данных (PAPI_L1_LDM в papi) и промахом кэша данных (PAPI_L1_DCM в papi) и почему эти числа различаются в papi и perf? Связан ли cache-misses:u в производительности с промахами кеша L2?

редактировать: Аппаратное обеспечение (семейство Xeon E5-2600 v3, 12 ядер Haswell-EP)


person boraas    schedule 03.08.2017    source источник
comment
Теперь я пользуюсь Vtune, так как графический интерфейс дает вам также фрагмент командной строки.   -  person boraas    schedule 11.08.2017