Go to the source code of this file.
◆ add_remove_event()
| static int add_remove_event |
( |
int |
EventSet, |
|
|
int |
evt |
|
) |
| |
|
static |
Definition at line 48 of file papi_event_chooser.c.
49{
51
53
54 } else {
56 printf( "Error removing event.\n" );
57 }
58 }
60}
add PAPI preset or native hardware event to an event set
removes a hardware event from a PAPI event set.
◆ is_derived()
Definition at line 35 of file papi_event_chooser.c.
36{
37 if ( strlen( info->
derived ) == 0 )
38 return ( "No" );
39 else if ( strcmp( info->
derived,
"NOT_DERIVED" ) == 0 )
40 return ( "No" );
41 else if ( strcmp( info->
derived,
"DERIVED_CMPD" ) == 0 )
42 return ( "No" );
43 else
44 return ( "Yes" );
45}
char derived[PAPI_MIN_STR_LEN]
◆ main()
| int main |
( |
int |
argc, |
|
|
char ** |
argv |
|
) |
| |
Definition at line 193 of file papi_event_chooser.c.
194{
196 int pevent,cevent;
198
200
201 if ( argc < 3 ) {
202 goto use_exit;
203 }
204
205
208 fprintf(
stderr,
"Error! PAPI_library_init\n");
210 }
211
214 fprintf(
stderr,
"Error! PAPI_set_debug\n");
216 }
217
219 "which can be added with given events.\n",
220 &hwinfo );
222 fprintf(
stderr,
"Error! PAPI_get_hardware_info\n");
223 return 2;
224 }
225
228 fprintf(
stderr,
"PAPI_create_eventset error\n" );
229 return 1;
230 }
231
234 fprintf(
stderr,
"Event %s can't be found\n", argv[2] );
235 return 1;
236 }
238
239 for(
i = 2;
i < argc;
i++ ) {
242 fprintf(
stderr,
"Event %s can't be found\n", argv[
i] );
243 return 1;
244 }
247 fprintf(
stderr,
"Event %s can't be counted with others %d\n",
249 return 1;
250 }
251 }
252
253 if ( !strcmp( "NATIVE", argv[1] ) ) {
255 }
256 else if ( !strcmp( "PRESET", argv[1] ) ) {
258 }
259 else {
260 goto use_exit;
261 }
262 return 0;
263
264use_exit:
266 "Usage: papi_event_chooser NATIVE|PRESET evt1 evt2 ... \n" );
267 return 1;
268}
Create a new empty PAPI EventSet.
Convert a name to a numeric hardware event code.
return component an event belongs to
initialize the PAPI library.
Set the current debug level for error output from PAPI.
◆ native()
Definition at line 85 of file papi_event_chooser.c.
86{
90
91 j = 0;
92
93
94
98 printf(
"Cannot find first event in component %d\n",
cidx);
99 }
100
101 do {
103
107 do {
111 strchr( info.
symbol,
':' ),
113 }
116 j++;
117 }
118 } else {
121 j++;
122 }
123 }
124
126
127
128
129
130
133 printf( "Groups: " );
134 do {
139 printf( "\n" );
140 }
141
142 printf( "---------------------------------------------"
143 "----------------------------\n" );
144 }
146
147 printf( "------------------------------------------"
148 "-------------------------------\n" );
149 printf( "Total events reported: %d\n", j );
150
151 exit( 0 );
152}
Enumerate PAPI preset or native events for a given component.
Get the event's name and description info.
#define PAPI_NTV_GROUP_AND_MASK
#define PAPI_NTV_ENUM_UMASKS
#define PAPI_NTV_GROUP_SHIFT
static int add_remove_event(int EventSet, int evt)
static int show_event_info(int evt)
char symbol[PAPI_HUGE_STR_LEN]
char long_descr[PAPI_HUGE_STR_LEN]
◆ preset()
| static int preset |
( |
void |
| ) |
|
|
static |
Definition at line 155 of file papi_event_chooser.c.
156{
160
161 printf( " Name Code " );
162 printf( "Deriv Description (Note)\n" );
163
164
167
168 do {
172 printf( "%-13s%#x %-5s%s",
176 printf(
" (%s)", info.
note );
177 printf( "\n" );
178 }
180 printf( "Error in PAPI_remove_event\n" );
181 j++;
182 }
184
185 printf
186 ( "-------------------------------------------------------------------------\n" );
187 printf( "Total events reported: %d\n", j );
188
189 exit( 0 );
190}
Enumerate PAPI preset or native events.
static char * is_derived(PAPI_event_info_t *info)
char note[PAPI_HUGE_STR_LEN]
◆ show_event_info()
| static int show_event_info |
( |
int |
evt | ) |
|
|
static |
Definition at line 63 of file papi_event_chooser.c.
64{
65 int k;
68
70 printf( "%s\t%#x\n |%s|\n",
72
73 for( k = 0; k < (
int ) info.
count; k++ ) {
74 if ( strlen( info.
name[k] ) ) {
75 printf( " |Register Value[%d]: %#-10x %s|\n",
77 }
78 }
79 }
81}
char name[PAPI_MAX_INFO_TERMS][PAPI_2MAX_STR_LEN]
unsigned int code[PAPI_MAX_INFO_TERMS]
◆ EventSet
◆ retval