All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
PAPI_get_opt Class Reference

Get PAPI library or event set options. More...

Detailed Description

C Interface:
#include <papi.h>
int PAPI_get_opt( int option, PAPI_option_t * ptr );
[in]optionDefines the option to get. Possible values are briefly described in the table below.
[in,out]ptrPointer to a structure determined by the selected option. See PAPI_option_t for a description of possible structures.
Return values
PAPI_EINVALThe specified option or parameter is invalid.
PAPI_ENOEVSTThe EventSet specified does not exist.
PAPI_ECMPThe option is not implemented for the current component.
PAPI_ENOINITPAPI has not been initialized.

PAPI_get_opt() queries the options of the PAPI library or a specific event set 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 returns different values in the structure. Some options require a component index to be provided. These options are handled explicitly by the PAPI_get_cmp_opt() call.

Some options, such as PAPI_DOMAIN and PAPI_MULTIPLEX are also available as separate entry points in both C and Fortran.

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_get_opt option parameter
PAPI_DEFDOMGet default counting domain for newly created event sets. Requires a component index.
PAPI_DEFGRNGet default counting granularity. Requires a component index.
PAPI_DEBUGGet 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_MULTIPLEXGet current multiplexing state for specified EventSet.
PAPI_DEF_ITIMERGet the type of itimer used in software multiplexing, overflowing and profiling.
PAPI_DEF_MPX_NSGet the sampling time slice in nanoseconds for multiplexing and overflow.
PAPI_ATTACHGet thread or process id to which event set is attached. Returns TRUE if currently attached.
PAPI_CPU_ATTACHGet ptr->cpu.cpu_num and Attach state for EventSet specified in ptr->cpu.eventset.
PAPI_DETACHGet thread or process id to which event set is attached. Returns TRUE if currently attached.
PAPI_DOMAINGet domain for EventSet specified in ptr->domain.eventset. Will error if eventset is not bound to a component.
PAPI_GRANULGet granularity for EventSet specified in ptr->granularity.eventset. Will error if eventset is not bound to a component.
PAPI_INHERITGet current inheritance state for specified EventSet.
PAPI_PRELOADGet LD_PRELOAD environment equivalent.
PAPI_CLOCKRATEGet clockrate in MHz.
PAPI_MAX_CPUSGet number of CPUs.
PAPI_EXEINFOGet Executable addresses for text/data/bss.
PAPI_HWINFOGet information about the hardware.
PAPI_LIB_VERSIONGet the full PAPI version of the library.
PAPI_MAX_HWCTRSGet number of counters. Requires a component index.
PAPI_MAX_MPX_CTRSGet maximum number of multiplexing counters. Requires a component index.
PAPI_SHLIBINFOGet shared library information used by the program.
PAPI_COMPONENTINFOGet the PAPI features the specified component supports. Requires a component index.
See Also

The documentation for this class was generated from the following file: