File: PAPI_add_event.3

package info (click to toggle)
papi 5.3.2-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 27,244 kB
  • ctags: 37,740
  • sloc: ansic: 384,780; makefile: 3,319; fortran: 3,306; xml: 2,460; sh: 791; python: 515; perl: 269; asm: 24
file content (93 lines) | stat: -rw-r--r-- 2,613 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
.TH "PAPI_add_event" 3 "Mon Jun 30 2014" "Version 5.3.2.0" "PAPI" \" -*- nroff -*-
.ad l
.nh
.SH NAME
PAPI_add_event \- 
.PP
add PAPI preset or native hardware event to an event set  

.SH SYNOPSIS
.br
.PP
.SH "Detailed Description"
.PP 

.PP
.nf
@par C Interface:
\#include <papi.h> @n
int PAPI_add_event( int  EventSet, int  EventCode );

PAPI_add_event adds one event to a PAPI Event Set. @n
A hardware event can be either a PAPI preset or a native hardware event code.
For a list of PAPI preset events, see PAPI_presets or run the avail test case
in the PAPI distribution. PAPI presets can be passed to PAPI_query_event to see
if they exist on the underlying architecture.
For a list of native events available on current platform, run the papi_native_avail
utility in the PAPI distribution. For the encoding of native events,
see PAPI_event_name_to_code to learn how to generate native code for the
supported native event on the underlying architecture.

@param EventSet
    An integer handle for a PAPI Event Set as created by PAPI_create_eventset.
@param EventCode 
    A defined event such as PAPI_TOT_INS. 

@retval Positive-Integer
    The number of consecutive elements that succeeded before the error. 
@retval PAPI_EINVAL 
    One or more of the arguments is invalid.
@retval PAPI_ENOMEM 
    Insufficient memory to complete the operation.
@retval PAPI_ENOEVST 
    The event set specified does not exist.
@retval PAPI_EISRUN 
    The event set is currently counting events.
@retval PAPI_ECNFLCT 
    The underlying counter hardware can not count this event and other events 
    in the event set simultaneously.
@retval PAPI_ENOEVNT 
    The PAPI preset is not available on the underlying hardware.
@retval PAPI_EBUG 
    Internal error, please send mail to the developers. 

@par Examples:

.fi
.PP
 
.PP
.nf
*   int EventSet = PAPI_NULL;
*   unsigned int native = 0x0;
*   if ( PAPI_create_eventset( &EventSet ) != PAPI_OK )
*   handle_error( 1 );
*   // Add Total Instructions Executed to our EventSet
*   if ( PAPI_add_event( EventSet, PAPI_TOT_INS ) != PAPI_OK )
*   handle_error( 1 );
*   // Add native event PM_CYC to EventSet
*   if ( PAPI_event_name_to_code( "PM_CYC", &native ) != PAPI_OK )
*   handle_error( 1 );
*   if ( PAPI_add_event( EventSet, native ) != PAPI_OK )
*   handle_error( 1 );
*   

.fi
.PP
.PP
.PP
.nf
@see PAPI_cleanup_eventset @n
PAPI_destroy_eventset @n
PAPI_event_code_to_name @n
PAPI_remove_events @n
PAPI_query_event @n
PAPI_presets @n
PAPI_native @n
PAPI_remove_event.fi
.PP
 

.SH "Author"
.PP 
Generated automatically by Doxygen for PAPI from the source code\&.