Advanced configuration
You can override the default settings used by Linaro MAP when making
perf_event_open
calls. Specify one or more flags in a preamble section in square brackets at the start of the perf metrics definition string (either on the command line or at the top of a template file).
/path/to/forge/bin/map --profile --target-host=myhost \
--perf-metrics="[optional,noinherit]; instructions; cpu-cycles"
Possible options are:
[optional]: Do not abort the program if the requested metrics cannot be collected. Set this if you want to continue profiling even if the no Perf metric results is returned.
[noinherit]: Disable multithreading support (new threads will not inherit the event counter configuration). If you specified events, they are only collected on the main thread (in the case of MPI programs, the thread that called
MPI_thread_init
).[nopinned]: Disable pinning events on the PMU. If you have specified this, event counting might be multiplexed. We recommend that you do not do this as it interacts poorly with the Linaro Forge sampling strategy.
[noexclude=kernel]: Do not exclude kernel events that happen in kernel space. This might require a more permissive
perf_event_paranoid
level.[noexclude=hv]: Do not exclude events that happen in the hypervisor. This is mainly for PMUs that have built-in support for handling this. Most machines require extra support for handling hypervisor measurements.
[noexclude=idle]: Do not exclude counting software events when the CPU is running the idle task. This is only relevant for software events.