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.
Thu Dec 14 2023 | Version 7.1.0.0 |