Data Structures |
| struct | PAPI_all_thr_spec_t |
| struct | PAPI_sprofil_t |
| struct | PAPI_itimer_option_t |
| struct | PAPI_inherit_option_t |
| struct | PAPI_domain_option_t |
| struct | PAPI_granularity_option_t |
| struct | PAPI_preload_info_t |
| struct | PAPI_component_info_t |
| struct | PAPI_mpx_info_t |
| struct | PAPI_debug_option_t |
| struct | PAPI_address_map_t |
| | get the executable's address space info More...
|
| struct | PAPI_exe_info_t |
| | get the executable's info More...
|
| struct | PAPI_shlib_info_t |
| struct | PAPI_mh_tlb_info_t |
| struct | PAPI_mh_cache_info_t |
| struct | PAPI_mh_level_t |
| struct | PAPI_mh_info_t |
| | mh for mem hierarchy maybe? More...
|
| struct | PAPI_hw_info_t |
| | Hardware info structure. More...
|
| struct | PAPI_attach_option_t |
| struct | PAPI_cpu_option_t |
| struct | PAPI_multiplex_option_t |
| struct | PAPI_addr_range_option_t |
| | address range specification for range restricted counting if both are zero, range is disabled More...
|
| union | PAPI_option_t |
| | A pointer to the following is passed to PAPI_set/get_opt() More...
|
| struct | PAPI_dmem_info_t |
| | A pointer to the following is passed to PAPI_get_dmem_info() More...
|
| struct | PAPI_event_info_t |
Defines |
| #define | PAPI_VERSION_NUMBER(maj, min, rev, inc) (((maj)<<24) | ((min)<<16) | ((rev)<<8) | (inc)) |
| #define | PAPI_VERSION_MAJOR(x) (((x)>>24) & 0xff) |
| #define | PAPI_VERSION_MINOR(x) (((x)>>16) & 0xff) |
| #define | PAPI_VERSION_REVISION(x) (((x)>>8) & 0xff) |
| #define | PAPI_VERSION_INCREMENT(x) ((x) & 0xff) |
| #define | PAPI_VERSION PAPI_VERSION_NUMBER(5,0,1,0) |
| #define | PAPI_VER_CURRENT (PAPI_VERSION & 0xffff0000) |
| #define | IS_NATIVE(EventCode) ( ( EventCode & PAPI_NATIVE_MASK ) && !(EventCode & PAPI_PRESET_MASK) ) |
| #define | IS_PRESET(EventCode) ( ( EventCode & PAPI_PRESET_MASK ) && !(EventCode & PAPI_NATIVE_MASK) ) |
| #define | IS_USER_DEFINED(EventCode) ( ( EventCode & PAPI_PRESET_MASK ) && (EventCode & PAPI_NATIVE_MASK) ) |
| #define | PAPI_OK 0 |
| #define | PAPI_EINVAL -1 |
| #define | PAPI_ENOMEM -2 |
| #define | PAPI_ESYS -3 |
| #define | PAPI_ECMP -4 |
| #define | PAPI_ESBSTR -4 |
| #define | PAPI_ECLOST -5 |
| #define | PAPI_EBUG -6 |
| #define | PAPI_ENOEVNT -7 |
| #define | PAPI_ECNFLCT -8 |
| #define | PAPI_ENOTRUN -9 |
| #define | PAPI_EISRUN -10 |
| #define | PAPI_ENOEVST -11 |
| #define | PAPI_ENOTPRESET -12 |
| #define | PAPI_ENOCNTR -13 |
| #define | PAPI_EMISC -14 |
| #define | PAPI_EPERM -15 |
| #define | PAPI_ENOINIT -16 |
| #define | PAPI_ENOCMP -17 |
| #define | PAPI_ENOSUPP -18 |
| #define | PAPI_ENOIMPL -19 |
| #define | PAPI_EBUF -20 |
| #define | PAPI_EINVAL_DOM -21 |
| #define | PAPI_EATTR -22 |
| #define | PAPI_ECOUNT -23 |
| #define | PAPI_ECOMBO -24 |
| #define | PAPI_NUM_ERRORS 25 |
| #define | PAPI_NOT_INITED 0 |
| #define | PAPI_LOW_LEVEL_INITED 1 /* Low level has called library init */ |
| #define | PAPI_HIGH_LEVEL_INITED 2 /* High level has called library init */ |
| #define | PAPI_THREAD_LEVEL_INITED 4 /* Threads have been inited */ |
| #define | PAPI_NULL -1 |
| #define | PAPI_DOM_USER 0x1 |
| #define | PAPI_DOM_MIN PAPI_DOM_USER |
| #define | PAPI_DOM_KERNEL 0x2 |
| #define | PAPI_DOM_OTHER 0x4 |
| #define | PAPI_DOM_SUPERVISOR 0x8 |
| #define | PAPI_DOM_ALL (PAPI_DOM_USER|PAPI_DOM_KERNEL|PAPI_DOM_OTHER|PAPI_DOM_SUPERVISOR) |
| #define | PAPI_DOM_MAX PAPI_DOM_ALL |
| #define | PAPI_DOM_HWSPEC 0x80000000 |
| #define | PAPI_USR1_TLS 0x0 |
| #define | PAPI_USR2_TLS 0x1 |
| #define | PAPI_HIGH_LEVEL_TLS 0x2 |
| #define | PAPI_NUM_TLS 0x3 |
| #define | PAPI_TLS_USR1 PAPI_USR1_TLS |
| #define | PAPI_TLS_USR2 PAPI_USR2_TLS |
| #define | PAPI_TLS_HIGH_LEVEL PAPI_HIGH_LEVEL_TLS |
| #define | PAPI_TLS_NUM PAPI_NUM_TLS |
| #define | PAPI_TLS_ALL_THREADS 0x10 |
| #define | PAPI_USR1_LOCK 0x0 |
| #define | PAPI_USR2_LOCK 0x1 |
| #define | PAPI_NUM_LOCK 0x2 |
| #define | PAPI_LOCK_USR1 PAPI_USR1_LOCK |
| #define | PAPI_LOCK_USR2 PAPI_USR2_LOCK |
| #define | PAPI_LOCK_NUM PAPI_NUM_LOCK |
| #define | PAPI_VENDOR_UNKNOWN 0 |
| #define | PAPI_VENDOR_INTEL 1 |
| #define | PAPI_VENDOR_AMD 2 |
| #define | PAPI_VENDOR_IBM 3 |
| #define | PAPI_VENDOR_CRAY 4 |
| #define | PAPI_VENDOR_SUN 5 |
| #define | PAPI_VENDOR_FREESCALE 6 |
| #define | PAPI_VENDOR_ARM 7 |
| #define | PAPI_VENDOR_MIPS 8 |
| #define | PAPI_GRN_THR 0x1 |
| #define | PAPI_GRN_MIN PAPI_GRN_THR |
| #define | PAPI_GRN_PROC 0x2 |
| #define | PAPI_GRN_PROCG 0x4 |
| #define | PAPI_GRN_SYS 0x8 |
| #define | PAPI_GRN_SYS_CPU 0x10 |
| #define | PAPI_GRN_MAX PAPI_GRN_SYS_CPU |
| #define | PAPI_STOPPED 0x01 |
| #define | PAPI_RUNNING 0x02 |
| #define | PAPI_PAUSED 0x04 |
| #define | PAPI_NOT_INIT 0x08 |
| #define | PAPI_OVERFLOWING 0x10 |
| #define | PAPI_PROFILING 0x20 |
| #define | PAPI_MULTIPLEXING 0x40 |
| #define | PAPI_ATTACHED 0x80 |
| #define | PAPI_CPU_ATTACHED 0x100 |
| #define | PAPI_QUIET 0 |
| #define | PAPI_VERB_ECONT 1 |
| #define | PAPI_VERB_ESTOP 2 |
| #define | PAPI_PROFIL_POSIX 0x0 |
| #define | PAPI_PROFIL_RANDOM 0x1 |
| #define | PAPI_PROFIL_WEIGHTED 0x2 |
| #define | PAPI_PROFIL_COMPRESS 0x4 |
| #define | PAPI_PROFIL_BUCKET_16 0x8 |
| #define | PAPI_PROFIL_BUCKET_32 0x10 |
| #define | PAPI_PROFIL_BUCKET_64 0x20 |
| #define | PAPI_PROFIL_FORCE_SW 0x40 |
| #define | PAPI_PROFIL_DATA_EAR 0x80 |
| #define | PAPI_PROFIL_INST_EAR 0x100 |
| #define | PAPI_PROFIL_BUCKETS (PAPI_PROFIL_BUCKET_16 | PAPI_PROFIL_BUCKET_32 | PAPI_PROFIL_BUCKET_64) |
| #define | PAPI_OVERFLOW_FORCE_SW 0x40 |
| #define | PAPI_OVERFLOW_HARDWARE 0x80 |
| #define | PAPI_MULTIPLEX_DEFAULT 0x0 |
| #define | PAPI_MULTIPLEX_FORCE_SW 0x1 |
| #define | PAPI_INHERIT_ALL 1 |
| #define | PAPI_INHERIT_NONE 0 |
| #define | PAPI_DETACH 1 |
| #define | PAPI_DEBUG 2 |
| #define | PAPI_MULTIPLEX 3 |
| #define | PAPI_DEFDOM 4 |
| #define | PAPI_DOMAIN 5 |
| #define | PAPI_DEFGRN 6 |
| #define | PAPI_GRANUL 7 |
| #define | PAPI_DEF_MPX_NS 8 |
| #define | PAPI_MAX_MPX_CTRS 11 |
| #define | PAPI_PROFIL 12 |
| #define | PAPI_PRELOAD 13 |
| #define | PAPI_CLOCKRATE 14 |
| #define | PAPI_MAX_HWCTRS 15 |
| #define | PAPI_HWINFO 16 |
| #define | PAPI_EXEINFO 17 |
| #define | PAPI_MAX_CPUS 18 |
| #define | PAPI_ATTACH 19 |
| #define | PAPI_SHLIBINFO 20 |
| #define | PAPI_LIB_VERSION 21 |
| #define | PAPI_COMPONENTINFO 22 |
| #define | PAPI_DATA_ADDRESS 23 |
| #define | PAPI_INSTR_ADDRESS 24 |
| #define | PAPI_DEF_ITIMER 25 |
| #define | PAPI_DEF_ITIMER_NS 26 |
| #define | PAPI_CPU_ATTACH 27 |
| #define | PAPI_INHERIT 28 |
| #define | PAPI_USER_EVENTS_FILE 29 |
| #define | PAPI_INIT_SLOTS |
| #define | PAPI_MIN_STR_LEN 64 /* For small strings, like names & stuff */ |
| #define | PAPI_MAX_STR_LEN 128 /* For average run-of-the-mill strings */ |
| #define | PAPI_2MAX_STR_LEN 256 /* For somewhat longer run-of-the-mill strings */ |
| #define | PAPI_HUGE_STR_LEN 1024 /* This should be defined in terms of a system parameter */ |
| #define | PAPI_DERIVED 0x1 /* Flag to indicate that the event is derived */ |
| #define | PAPI_ENUM_ALL PAPI_ENUM_EVENTS |
| #define | PAPI_PRESET_BIT_MSC (1 << PAPI_PRESET_ENUM_MSC) /* Miscellaneous preset event bit */ |
| #define | PAPI_PRESET_BIT_INS (1 << PAPI_PRESET_ENUM_INS) /* Instruction related preset event bit */ |
| #define | PAPI_PRESET_BIT_IDL (1 << PAPI_PRESET_ENUM_IDL) /* Stalled or Idle preset event bit */ |
| #define | PAPI_PRESET_BIT_BR (1 << PAPI_PRESET_ENUM_BR) /* branch related preset events */ |
| #define | PAPI_PRESET_BIT_CND (1 << PAPI_PRESET_ENUM_CND) /* conditional preset events */ |
| #define | PAPI_PRESET_BIT_MEM (1 << PAPI_PRESET_ENUM_MEM) /* memory related preset events */ |
| #define | PAPI_PRESET_BIT_CACH (1 << PAPI_PRESET_ENUM_CACH) /* cache related preset events */ |
| #define | PAPI_PRESET_BIT_L1 (1 << PAPI_PRESET_ENUM_L1) /* L1 cache related preset events */ |
| #define | PAPI_PRESET_BIT_L2 (1 << PAPI_PRESET_ENUM_L2) /* L2 cache related preset events */ |
| #define | PAPI_PRESET_BIT_L3 (1 << PAPI_PRESET_ENUM_L3) /* L3 cache related preset events */ |
| #define | PAPI_PRESET_BIT_TLB (1 << PAPI_PRESET_ENUM_TLB) /* Translation Lookaside Buffer events */ |
| #define | PAPI_PRESET_BIT_FP (1 << PAPI_PRESET_ENUM_FP) /* Floating Point related preset events */ |
| #define | PAPI_NTV_GROUP_AND_MASK 0x00FF0000 /* bits occupied by group number */ |
| #define | PAPI_NTV_GROUP_SHIFT 16 /* bit shift to encode group number */ |
| #define | long_long long long |
| #define | u_long_long unsigned long long |
| #define | PAPI_MH_TYPE_EMPTY 0x0 |
| #define | PAPI_MH_TYPE_INST 0x1 |
| #define | PAPI_MH_TYPE_DATA 0x2 |
| #define | PAPI_MH_TYPE_VECTOR 0x4 |
| #define | PAPI_MH_TYPE_TRACE 0x8 |
| #define | PAPI_MH_TYPE_UNIFIED (PAPI_MH_TYPE_INST|PAPI_MH_TYPE_DATA) |
| #define | PAPI_MH_CACHE_TYPE(a) (a & 0xf) |
| #define | PAPI_MH_TYPE_WT 0x00 /* write-through cache */ |
| #define | PAPI_MH_TYPE_WB 0x10 /* write-back cache */ |
| #define | PAPI_MH_CACHE_WRITE_POLICY(a) (a & 0xf0) |
| #define | PAPI_MH_TYPE_UNKNOWN 0x000 |
| #define | PAPI_MH_TYPE_LRU 0x100 |
| #define | PAPI_MH_TYPE_PSEUDO_LRU 0x200 |
| #define | PAPI_MH_CACHE_REPLACEMENT_POLICY(a) (a & 0xf00) |
| #define | PAPI_MH_TYPE_TLB 0x1000 /* tlb, not memory cache */ |
| #define | PAPI_MH_TYPE_PREF 0x2000 /* prefetch buffer */ |
| #define | PAPI_MH_MAX_LEVELS 6 /* # descriptors for each TLB or cache level */ |
| #define | PAPI_MAX_MEM_HIERARCHY_LEVELS 4 |
| #define | PAPIF_DMEM_VMPEAK 1 |
| #define | PAPIF_DMEM_VMSIZE 2 |
| #define | PAPIF_DMEM_RESIDENT 3 |
| #define | PAPIF_DMEM_HIGH_WATER 4 |
| #define | PAPIF_DMEM_SHARED 5 |
| #define | PAPIF_DMEM_TEXT 6 |
| #define | PAPIF_DMEM_LIBRARY 7 |
| #define | PAPIF_DMEM_HEAP 8 |
| #define | PAPIF_DMEM_LOCKED 9 |
| #define | PAPIF_DMEM_STACK 10 |
| #define | PAPIF_DMEM_PAGESIZE 11 |
| #define | PAPIF_DMEM_PTE 12 |
| #define | PAPIF_DMEM_MAXVAL 12 |
| #define | PAPI_MAX_INFO_TERMS 12 /* should match PAPI_EVENTS_IN_DERIVED_EVENT defined in papi_internal.h */ |
| #define | PAPI_COMPONENT_INDEX(a) PAPI_get_event_component(a) |
| #define | PAPI_descr_error(a) PAPI_strerror(a) |
Typedefs |
| typedef unsigned long | PAPI_thread_id_t |
| typedef void(* | PAPI_overflow_handler_t )(int EventSet, void *address, long long overflow_vector, void *context) |
| typedef int(* | PAPI_debug_handler_t )(int code) |
| typedef char * | PAPI_user_defined_events_file_t |
Enumerations |
| enum | {
PAPI_ENUM_EVENTS = 0,
PAPI_ENUM_FIRST,
PAPI_PRESET_ENUM_AVAIL,
PAPI_PRESET_ENUM_MSC,
PAPI_PRESET_ENUM_INS,
PAPI_PRESET_ENUM_IDL,
PAPI_PRESET_ENUM_BR,
PAPI_PRESET_ENUM_CND,
PAPI_PRESET_ENUM_MEM,
PAPI_PRESET_ENUM_CACH,
PAPI_PRESET_ENUM_L1,
PAPI_PRESET_ENUM_L2,
PAPI_PRESET_ENUM_L3,
PAPI_PRESET_ENUM_TLB,
PAPI_PRESET_ENUM_FP,
PAPI_NTV_ENUM_UMASKS,
PAPI_NTV_ENUM_UMASK_COMBOS,
PAPI_NTV_ENUM_IARR,
PAPI_NTV_ENUM_DARR,
PAPI_NTV_ENUM_OPCM,
PAPI_NTV_ENUM_IEAR,
PAPI_NTV_ENUM_DEAR,
PAPI_NTV_ENUM_GROUPS
} |
| enum | { PAPI_LOCATION_CORE = 0,
PAPI_LOCATION_CPU,
PAPI_LOCATION_PACKAGE,
PAPI_LOCATION_UNCORE
} |
| | This structure is the event information that is exposed to the user through the API. More...
|
| enum | { PAPI_DATATYPE_UINT64 = 0,
PAPI_DATATYPE_INT64,
PAPI_DATATYPE_FP64
} |
| enum | { PAPI_VALUETYPE_RUNNING_SUM = 0,
PAPI_VALUETYPE_ABSOLUTE
} |
| enum | { PAPI_TIMESCOPE_SINCE_START = 0,
PAPI_TIMESCOPE_SINCE_LAST,
PAPI_TIMESCOPE_UNTIL_NEXT,
PAPI_TIMESCOPE_POINT
} |
| enum | { PAPI_UPDATETYPE_ARBITRARY = 0,
PAPI_UPDATETYPE_PUSH,
PAPI_UPDATETYPE_PULL,
PAPI_UPDATETYPE_FIXEDFREQ
} |
Functions |
| int | PAPI_accum (int EventSet, long long *values) |
| int | PAPI_add_event (int EventSet, int Event) |
| int | PAPI_add_named_event (int EventSet, char *EventName) |
| int | PAPI_add_events (int EventSet, int *Events, int number) |
| int | PAPI_assign_eventset_component (int EventSet, int cidx) |
| int | PAPI_attach (int EventSet, unsigned long tid) |
| int | PAPI_cleanup_eventset (int EventSet) |
| int | PAPI_create_eventset (int *EventSet) |
| int | PAPI_detach (int EventSet) |
| int | PAPI_destroy_eventset (int *EventSet) |
| int | PAPI_enum_event (int *EventCode, int modifier) |
| int | PAPI_enum_cmp_event (int *EventCode, int modifier, int cidx) |
| int | PAPI_event_code_to_name (int EventCode, char *out) |
| int | PAPI_event_name_to_code (char *in, int *out) |
| int | PAPI_get_dmem_info (PAPI_dmem_info_t *dest) |
| int | PAPI_get_event_info (int EventCode, PAPI_event_info_t *info) |
| const PAPI_exe_info_t * | PAPI_get_executable_info (void) |
| const PAPI_hw_info_t * | PAPI_get_hardware_info (void) |
| const PAPI_component_info_t * | PAPI_get_component_info (int cidx) |
| int | PAPI_get_multiplex (int EventSet) |
| int | PAPI_get_opt (int option, PAPI_option_t *ptr) |
| int | PAPI_get_cmp_opt (int option, PAPI_option_t *ptr, int cidx) |
| long long | PAPI_get_real_cyc (void) |
| long long | PAPI_get_real_nsec (void) |
| long long | PAPI_get_real_usec (void) |
| const PAPI_shlib_info_t * | PAPI_get_shared_lib_info (void) |
| int | PAPI_get_thr_specific (int tag, void **ptr) |
| int | PAPI_get_overflow_event_index (int Eventset, long long overflow_vector, int *array, int *number) |
| long long | PAPI_get_virt_cyc (void) |
| long long | PAPI_get_virt_nsec (void) |
| long long | PAPI_get_virt_usec (void) |
| int | PAPI_is_initialized (void) |
| int | PAPI_library_init (int version) |
| int | PAPI_list_events (int EventSet, int *Events, int *number) |
| int | PAPI_list_threads (unsigned long *tids, int *number) |
| int | PAPI_lock (int) |
| int | PAPI_multiplex_init (void) |
| int | PAPI_num_cmp_hwctrs (int cidx) |
| int | PAPI_num_events (int EventSet) |
| int | PAPI_overflow (int EventSet, int EventCode, int threshold, int flags, PAPI_overflow_handler_t handler) |
| void | PAPI_perror (char *msg) |
| int | PAPI_profil (void *buf, unsigned bufsiz, caddr_t offset, unsigned scale, int EventSet, int EventCode, int threshold, int flags) |
| int | PAPI_query_event (int EventCode) |
| int | PAPI_query_named_event (char *EventName) |
| int | PAPI_read (int EventSet, long long *values) |
| int | PAPI_read_ts (int EventSet, long long *values, long long *cyc) |
| int | PAPI_register_thread (void) |
| int | PAPI_remove_event (int EventSet, int EventCode) |
| int | PAPI_remove_named_event (int EventSet, char *EventName) |
| int | PAPI_remove_events (int EventSet, int *Events, int number) |
| int | PAPI_reset (int EventSet) |
| int | PAPI_set_debug (int level) |
| int | PAPI_set_cmp_domain (int domain, int cidx) |
| int | PAPI_set_domain (int domain) |
| int | PAPI_set_cmp_granularity (int granularity, int cidx) |
| int | PAPI_set_granularity (int granularity) |
| int | PAPI_set_multiplex (int EventSet) |
| int | PAPI_set_opt (int option, PAPI_option_t *ptr) |
| int | PAPI_set_thr_specific (int tag, void *ptr) |
| void | PAPI_shutdown (void) |
| int | PAPI_sprofil (PAPI_sprofil_t *prof, int profcnt, int EventSet, int EventCode, int threshold, int flags) |
| int | PAPI_start (int EventSet) |
| int | PAPI_state (int EventSet, int *status) |
| int | PAPI_stop (int EventSet, long long *values) |
| char * | PAPI_strerror (int) |
| unsigned long | PAPI_thread_id (void) |
| int | PAPI_thread_init (unsigned long(*id_fn)(void)) |
| int | PAPI_unlock (int) |
| int | PAPI_unregister_thread (void) |
| int | PAPI_write (int EventSet, long long *values) |
| int | PAPI_get_event_component (int EventCode) |
| int | PAPI_get_component_index (char *name) |
| int | PAPI_disable_component (int cidx) |
| int | PAPI_disable_component_by_name (char *name) |
| int | PAPI_accum_counters (long long *values, int array_len) |
| int | PAPI_num_counters (void) |
| int | PAPI_num_components (void) |
| int | PAPI_read_counters (long long *values, int array_len) |
| int | PAPI_start_counters (int *events, int array_len) |
| int | PAPI_stop_counters (long long *values, int array_len) |
| int | PAPI_flips (float *rtime, float *ptime, long long *flpins, float *mflips) |
| int | PAPI_flops (float *rtime, float *ptime, long long *flpops, float *mflops) |
| int | PAPI_ipc (float *rtime, float *ptime, long long *ins, float *ipc) |
| int | PAPI_num_hwctrs (void) |