PAPI_set_domain - Man Page

Set the default counting domain for new event sets bound to the cpu component.


Detailed Description

C Prototype:

#include <papi.h>
int PAPI_set_domain( int domain );


domain 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  
Return values

PAPI_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.


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");
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);
See also

PAPI_set_cmp_domain PAPI_set_granularity PAPI_set_opt PAPI_get_opt


Generated automatically by Doxygen for PAPI from the source code.


Tue Mar 28 2023 Version PAPI