PAPI 7.1.0.0
|
Set PAPI library or event set options. More...
[in] | option | Defines the option to be set. Possible values are briefly described in the table below. |
[in,out] | ptr | Pointer to a structure determined by the selected option. See PAPI_option_t for a description of possible structures. |
PAPI_OK | |
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.
The reader is encouraged to peruse the ctests code in the PAPI distribution for examples of usage of PAPI_set_opt.
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. |
xPAPI_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. |