logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

PAPI_set_cmp_domain - Set the default counting domain for new event sets bound to the specified

Author

       Generated automatically by Doxygen for PAPI from the source code.

Version 7.1.0.0                                  Thu Dec 14 2023                          PAPI_set_cmp_domain(3)

Detailed Description

CPrototype:
           #include <papi.h>
            int PAPI_set_cmp_domain(intdomain,intcidx);

       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
           • PAPI_DOM_HWSPEC  Something  other  than  CPU like stuff. Individual components can decode low order
             bits for more meaning
           cidx An integer identifier for a component. By convention, component 0 is always the cpu component.

       ReturnvaluesPAPI_OKPAPI_EINVAL One or more of the arguments is invalid.
           PAPI_ENOCMP The argument cidx is not a valid component.

       PAPI_set_cmp_domain sets the default counting domain for all new event sets in all threads, and  requires
       an  explicit component argument. Event sets that are already in existence are not affected. To change the
       domain of an existing event set, please see PAPI_set_opt. The reader should note that the  domain  of  an
       event  set  affects  only the mode in which the counter continues to run. Counts are still aggregated for
       the current process, and not for any other processes in the system. Thus when requesting  PAPI_DOM_KERNEL
       , the user is asking for events that occur on behalf of the process, inside the kernel.
       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_cmp_domain(PAPI_DOM_KERNEL,0);
           if (ret != PAPI_OK) handle_error(ret);
           ret = PAPI_create_eventset(&EventSet);
           if (ret != PAPI_OK) handle_error(ret);

       SeealsoPAPI_set_domainPAPI_set_granularityPAPI_set_optPAPI_get_opt

Name

       PAPI_set_cmp_domain - Set the default counting domain for new event sets bound to the specified
       component.

Synopsis

See Also