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 May 9 2024 | Version 5.6.0.0 |