PAPI  5.3.0.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
infiniband_list_events.c
Go to the documentation of this file.
1 /****************************/
2 /* THIS IS OPEN SOURCE CODE */
3 /****************************/
4 
15 #include <stdio.h>
16 #include <stdlib.h>
17 #include "papi_test.h"
18 
19 int main (int argc, char **argv)
20 {
21  int retval,cid,numcmp;
22  int total_events=0;
23  int code;
25  int r;
26  const PAPI_component_info_t *cmpinfo = NULL;
27 
28  /* Set TESTS_QUIET variable */
29  tests_quiet( argc, argv );
30 
31  /* PAPI Initialization */
33  if ( retval != PAPI_VER_CURRENT ) {
34  test_fail(__FILE__, __LINE__,"PAPI_library_init failed\n",retval);
35  }
36 
37  if (!TESTS_QUIET) {
38  printf("Listing all net events\n");
39  }
40 
41  numcmp = PAPI_num_components();
42 
43  for(cid=0; cid<numcmp; cid++) {
44 
45  if ( (cmpinfo = PAPI_get_component_info(cid)) == NULL) {
46  test_fail(__FILE__, __LINE__,"PAPI_get_component_info failed\n",-1);
47  }
48 
49  if ( strstr(cmpinfo->name, "infiniband") == NULL) {
50  continue;
51  }
52 
53  if (!TESTS_QUIET) {
54  printf("Component %d (%d) - %d events - %s\n",
55  cid, cmpinfo->CmpIdx,
56  cmpinfo->num_native_events, cmpinfo->name);
57  }
58 
59  code = PAPI_NATIVE_MASK;
60 
61  r = PAPI_enum_cmp_event( &code, PAPI_ENUM_FIRST, cid );
62  while ( r == PAPI_OK ) {
63 
64  retval = PAPI_event_code_to_name( code, event_name );
65  if ( retval != PAPI_OK ) {
66  test_fail( __FILE__, __LINE__, "PAPI_event_code_to_name", retval );
67  }
68 
69  if (!TESTS_QUIET) {
70  printf("%#x %s\n", code, event_name);
71  }
72 
73  total_events++;
74 
75  r = PAPI_enum_cmp_event( &code, PAPI_ENUM_EVENTS, cid );
76  }
77 
78  }
79 
80  if (total_events==0) {
81  test_skip(__FILE__,__LINE__,"No net events found", 0);
82  }
83 
84  test_pass( __FILE__, NULL, 0 );
85 
86  return 0;
87 }
88 
89 // vim:set ai ts=4 sw=4 sts=4 et:
char event_name[2][PAPI_MAX_STR_LEN]
Definition: data_range.c:23
char name[PAPI_MAX_STR_LEN]
Definition: papi.h:625
#define PAPI_NATIVE_MASK
const PAPI_component_info_t * PAPI_get_component_info(int cidx)
Definition: papi.c:803
#define PAPI_MAX_STR_LEN
Definition: fpapi.h:43
void test_skip(char *file, int line, char *call, int retval)
Definition: test_utils.c:614
int PAPI_num_components(void)
Definition: papi.c:4272
return PAPI_OK
Definition: linux-nvml.c:458
tests_quiet(argc, argv)
#define printf
Definition: papi_test.h:125
test_pass(__FILE__, NULL, 0)
int int argc
Definition: iozone.c:1609
int TESTS_QUIET
Definition: test_utils.c:11
char ** argv
Definition: iozone.c:1610
test_fail(__FILE__, __LINE__,"PAPI_library_init", retval)
int PAPI_library_init(int version)
Definition: papi.c:495
#define PAPI_VER_CURRENT
Definition: fpapi.h:14
int PAPI_enum_cmp_event(int *EventCode, int modifier, int cidx)
Definition: papi.c:1305
int PAPI_event_code_to_name(int EventCode, char *out)
Definition: papi.c:920
ssize_t retval
Definition: libasync.c:338
int main(int argc, char **argv)
List all appio events codes and names.