table of contents
        
      
      
    | PAPI_set_opt(3) | PAPI | PAPI_set_opt(3) | 
NAME¶
PAPI_set_opt - Set PAPI library or event set options.
SYNOPSIS¶
Detailed Description¶
C Interface:
int PAPI_set_opt( int option, PAPI_option_t * ptr );
Parameters
ptr Pointer to a structure determined by the selected option. See PAPI_option_t for a description of possible structures.
Return values
PAPI_EINVAL The specified option or parameter is invalid.
PAPI_ENOEVST The EventSet specified does not exist.
PAPI_EISRUN The EventSet is currently counting events.
PAPI_ECMP The option is not implemented for the current component.
PAPI_ENOINIT PAPI has not been initialized.
PAPI_EINVAL_DOM Invalid domain has been requested.
PAPI_set_opt() changes the options of the PAPI library or a specific EventSet created by PAPI_create_eventset. Some options may require that the EventSet be bound to a component before they can execute successfully. This can be done either by adding an event or by explicitly calling PAPI_assign_eventset_component.
Ptr is a pointer to the PAPI_option_t structure, which is actually a union of different structures for different options. Not all options require or return information in these structures. Each requires different values to be set. Some options require a component index to be provided. These options are handled implicitly through the option structures.
Note
The reader is encouraged to peruse the ctests code in the PAPI distribution for examples of usage of PAPI_set_opt.
Possible values for the PAPI_set_opt option parameter
OPTION DEFINITION PAPI_DEFDOM Set default counting domain for
    newly created event sets. Requires a
  
   component index. PAPI_DEFGRN Set default counting granularity. Requires a
    component index. PAPI_DEBUG Set the PAPI debug state and the debug handler.
    The debug state is
  
   specified in ptr->debug.level. The debug handler is specified in
  
   ptr->debug.handler. For further information regarding debug states and
  
   the behavior of the handler, see PAPI_set_debug. PAPI_MULTIPLEX Enable
    specified EventSet for multiplexing. PAPI_DEF_ITIMER Set the type of itimer
    used in software multiplexing, overflowing
  
   and profiling. PAPI_DEF_MPX_NS Set the sampling time slice in nanoseconds for
    multiplexing and overflow. PAPI_DEF_ITIMER_NS See PAPI_DEF_MPX_NS.
    PAPI_ATTACH Attach EventSet specified in ptr->attach.eventset to thread
    or process id
  
   specified in in ptr->attach.tid. PAPI_CPU_ATTACH Attach EventSet specified
    in ptr->cpu.eventset to cpu specified in in
  
   ptr->cpu.cpu_num. PAPI_DETACH Detach EventSet specified in
    ptr->attach.eventset from any thread
  
   or process id. PAPI_DOMAIN Set domain for EventSet specified in
    ptr->domain.eventset.
  
   Will error if eventset is not bound to a component. PAPI_GRANUL Set
    granularity for EventSet specified in ptr->granularity.eventset.
  
   Will error if eventset is not bound to a component. PAPI_INHERIT Enable or
    disable inheritance for specified EventSet. PAPI_DATA_ADDRESS Set data
    address range to restrict event counting for EventSet specified
  
   in ptr->addr.eventset. Starting and ending addresses are specified in
  
   ptr->addr.start and ptr->addr.end, respectively. If exact addresses
  
   cannot be instantiated, offsets are returned in ptr->addr.start_off and
  
   ptr->addr.end_off. Currently implemented on Itanium only.
    PAPI_INSTR_ADDRESS Set instruction address range as described above. Itanium
    only.
See also
PAPI_set_multiplex
PAPI_set_domain
PAPI_option_t
Author¶
Generated automatically by Doxygen for PAPI from the source code.
| Wed Jun 25 2025 19:30:49 | Version 7.2.0.0 |