More on pmu tools
To use the comprehensive profiling (toplev)
./toplev.py -v -m -l3 -C2 — ./tc -g 25 -k 4 -n 1 |& less | tee -a tc_toplev_l3_C2.txt
this uses toplev, a comprehensive profiling tool that can tell you everything from front_end, back_end bound . This particular command uses level 3, and is reporting only for core 2 (reporting all cores can be a bit messy).
To see memory_bound ratio, you need to turn on L3.
Remember to set the following flag for certain counters to be accessed.
echo 0 | sudo tee /proc/sys/kernel/nmi_watchdog
Documentation can be found here
To see the list of ocperf events
python ./pmu-tools/ocperf.py list
It will download a cpu event file that matches the CPU. You can try it separately
python event_download.py -a
Make sure you have the permission to access the file.
To run with one fo the events
python ./pmu-tools/ocperf.py stat -e cycle_activity.stalls_l1d_pending -e cycles:pp ls
you can pass any perf arguments through to ocperf.py, it will patch through to perf.
perf stat records the cound, perf record is sampling based.
ocperf stat is similar to ocount,