48 {
49
51 int retVal = 0;
52 int cid = -1;
57
58 if (argc < 2) {
59 printf("usage: %s -d <duration> [ -l <loops>][-s][-m metric[:device=0][:tile=0]]\n", argv[0]);
60 return 0;
61 }
62
63 retVal = putenv("ZET_ENABLE_API_TRACING_EXP=0");
65 if (retVal) {
66 printf("Invalid input parameters.\n");
67 printf("usage: %s -d <duration> [ -l <loops>][-s][-m metric[:device=0][:tile=0]]\n", argv[0]);
68 return 0;
69 }
72
74 if (cid < 0) {
75 return 1;
76 }
77
81 fprintf(
stderr,
"Error on enum_cmp_event for component[ %s ], abort.\n",
COMP_NAME);
83 return 1;
84 }
86 do {
87 memset( &info, 0, sizeof ( info ) );
92 }
94
96 fprintf(
stderr,
"Error on enum_cmp_event, abort.\n");
98 return 1;
99 }
100 retVal =
initMetricSet(metric_names, num_metrics, &event_set);
103 return 1;
104 }
105 long long *
metric_values = (
long long *)calloc(num_metrics,
sizeof(
long long));
107 fprintf(
stderr,
"Memory allocation failed, abort.\n");
109 return 1;
110 }
113 fprintf(
stderr,
"Error on PAPI_start, retVal %d\n", retVal);
116 return 1;
117 }
118
121 for (uint32_t
i=0;
i<param.
loops;
i++) {
123 for (int j=0; j<num_metrics; j++) {
124 printf(
"%-50s ...... %llu\n", metric_names[j],
metric_values[j]);
125 }
126 printf("======\n");
129 }
130
132 }
135 fprintf(
stderr,
"Error on PAPI_stop, retVal %d\n", retVal);
138 return 1;
139 }
140 for (
int i=0;
i<num_metrics;
i++) {
142 }
145 return 0;
146}
Enumerate PAPI preset or native events for a given component.
Get the event's name and description info.
Read hardware counters from an event set.
Reset the hardware event counts in an event set.
Finish using PAPI and free all related resources.
Start counting hardware events in an event set.
Stop counting hardware events in an event set.
int parseInputParam(int argc, char **argv, InParams *param)
int initMetricSet(char **metric_names, int num_metrics, int *eventSet)
long long metric_values[MAX_NUM_METRICS]