2.6. Using Hardware Performance Counters

While running the application, set the environment variable PCL_EVENT or TAU_METRICS , to specify which hardware performance counter TAU should use while profiling the application.

[Note] Note

By default, only one counter is tracked at a time. To track more than one counter use -MULTIPLECOUNTERS. See Section 2.4, “Using Hardware Counters for Measurement” for more details.

To select floating point instructions for profiling using PAPI, you would:

% configure -papi=/usr/local/packages/papi-3.5.0
% make clean install
% cd examples/papi
% setenv TAU_METRICS PAPI_FP_INS
% a.out
    

In addition to the following events, you can use native events (see papi_native) on a given CPU by setting TAU_ to PAPI_NATIVE_<event>. For example:

% setenv PAPI_NATIVE PAPI_NATIVE_PM_BIQ_IDU_FULL_CYC
% a.out
      

By default PAPI will profile events in all domains (users space, kernel, hypervisor, etc). You can restrict the set of domains for papi event profiling by using the TAU_PAPI_DOMAIN environment variable with these values (in a colon separated list, if desired): PAPI_DOM_USER, PAPI_DOM_KERNEL, PAPI_DOM_SUPERVISOR, and PAPI_DOM_OTHER like thus:

% setenv TAU_PAPI_DOMAIN PAPI_DOM_SUPERVISOR:PAPI_DOM_OTHER