PAPI  5.3.0.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sw_multiplex.h
Go to the documentation of this file.
1 #ifndef MULTIPLEX_H
2 #define MULTIPLEX_H
3 
4 #define PAPI_MAX_SW_MPX_EVENTS 32
5 
6 /* Structure contained in the EventSet structure that
7  holds information about multiplexing. */
8 
9 typedef enum
11 
16 typedef struct _MPX_EventSet {
19  struct _threadlist *mythr;
21  struct _masterevent *(mev[PAPI_MAX_SW_MPX_EVENTS]);
25  long long start_c, stop_c;
26  long long start_values[PAPI_MAX_SW_MPX_EVENTS];
27  long long stop_values[PAPI_MAX_SW_MPX_EVENTS];
28  long long start_hc[PAPI_MAX_SW_MPX_EVENTS];
29 } MPX_EventSet;
30 
31 typedef struct EventSetMultiplexInfo {
33  int ns;
34  int flags;
36 
37 int mpx_check( int EventSet );
38 int mpx_init( int );
39 int mpx_add_event( MPX_EventSet **, int EventCode, int domain,
40  int granularity );
41 int mpx_remove_event( MPX_EventSet **, int EventCode );
42 int MPX_add_events( MPX_EventSet ** mpx_events, int *event_list, int num_events,
43  int domain, int granularity );
44 int MPX_stop( MPX_EventSet * mpx_events, long long *values );
45 int MPX_cleanup( MPX_EventSet ** mpx_events );
46 void MPX_shutdown( void );
47 int MPX_reset( MPX_EventSet * mpx_events );
48 int MPX_read( MPX_EventSet * mpx_events, long long *values, int called_by_stop );
49 int MPX_start( MPX_EventSet * mpx_events );
50 
51 #endif /* MULTIPLEX_H */
long long stop_c
Definition: sw_multiplex.h:25
void MPX_shutdown(void)
MPX_EventSet * mpx_evset
Definition: sw_multiplex.h:32
int num_events
int MPX_stop(MPX_EventSet *mpx_events, long long *values)
Definition: sw_multiplex.c:974
#define PAPI_MAX_SW_MPX_EVENTS
Definition: sw_multiplex.h:4
int MPX_read(MPX_EventSet *mpx_events, long long *values, int called_by_stop)
Definition: sw_multiplex.c:823
int MPX_add_events(MPX_EventSet **mpx_events, int *event_list, int num_events, int domain, int granularity)
Definition: sw_multiplex.c:676
MPX_status status
Definition: sw_multiplex.h:17
int MPX_start(MPX_EventSet *mpx_events)
Definition: sw_multiplex.c:692
int MPX_cleanup(MPX_EventSet **mpx_events)
int mpx_add_event(MPX_EventSet **mpx_events, int EventCode, int domain, int granularity)
Definition: sw_multiplex.c:305
int mpx_init(int interval_ns)
struct _threadlist * mythr
Definition: sw_multiplex.h:19
int EventSet
int MPX_reset(MPX_EventSet *mpx_events)
Definition: sw_multiplex.c:937
MPX_status
Definition: sw_multiplex.h:9
int mpx_remove_event(MPX_EventSet **mpx_events, int EventCode)
Definition: sw_multiplex.c:418
static long long values[NUM_EVENTS]
Definition: init_fini.c:10
int mpx_check(int EventSet)