CPrototype:
#include <papi.h>
int PAPI_set_domain(intdomain);
Parametersdomain one of the following constants as defined in the papi.h header file
• PAPI_DOM_USER User context counted
• PAPI_DOM_KERNEL Kernel/OS context counted
• PAPI_DOM_OTHER Exception/transient mode counted
• PAPI_DOM_SUPERVISOR Supervisor/hypervisor context counted
• PAPI_DOM_ALL All above contexts counted
• PAPI_DOM_MIN The smallest available context
• PAPI_DOM_MAX The largest available context
ReturnvaluesPAPI_OKPAPI_EINVAL One or more of the arguments is invalid.
PAPI_set_domain sets the default counting domain for all new event sets created by PAPI_create_eventset
in all threads. This call implicitly sets the domain for the cpu component (component 0) and is included
to preserve backward compatibility.
Example:
int ret;
// Initialize the library
ret = PAPI_library_init(PAPI_VER_CURRENT);
if (ret > 0 && ret != PAPI_VER_CURRENT) {
fprintf(stderr,"PAPI library version mismatch!\n");
exit(1);
}
if (ret < 0) handle_error(ret);
// Set the default domain for the cpu component
ret = PAPI_set_domain(PAPI_DOM_KERNEL);
if (ret != PAPI_OK) handle_error(ret);
ret = PAPI_create_eventset(&EventSet);
if (ret != PAPI_OK) handle_error(ret);
SeealsoPAPI_set_cmp_domainPAPI_set_granularityPAPI_set_optPAPI_get_opt