27 int retval,cid,host_micpower_cid=-1,numcmp;
30 int i,code,enum_retval;
32 long long start_time,before_time,after_time;
40 fprintf(stderr,
"PAPI_library_init failed\n");
46 for(cid=0; cid<numcmp; cid++) {
49 fprintf(stderr,
"PAPI_get_component_info failed\n");
53 if (strstr(cmpinfo->
name,
"host_micpower")) {
54 host_micpower_cid=cid;
55 printf(
"Found host_micpower component at cid %d\n", host_micpower_cid);
58 fprintf(stderr,
"No host_micpower events found: %s\n",
68 fprintf(stderr,
"No host_micpower component found\n");
77 while ( enum_retval ==
PAPI_OK ) {
81 printf(
"Error translating %#x\n",code);
100 printf(
"Error! No host_micpower events found!\n");
108 fprintf(stderr,
"Could not open %s\n",
filenames[
i]);
117 fprintf(stderr,
"Error creating eventset!\n");
124 fprintf(stderr,
"Error adding event %s\n",
events[
i]);
138 fprintf(stderr,
"PAPI_start() failed\n");
149 fprintf(stderr,
"PAPI_start() failed\n");
152 total_time=((double)(after_time-start_time))/1.0e9;
153 elapsed_time=((double)(after_time-before_time))/1.0e9;
156 if( (strstr(
events[
i],
"vccp") != NULL) ||
157 (strstr(
events[
i],
"vddg") != NULL) ||
158 (strstr(
events[
i],
"vddq") != NULL) ) {
160 fprintf(
fff[
i],
"%.4f %.1f (* Average Voltage (Volt) for %s *)\n",
165 if( strstr(
events[
i],
"tot0") != NULL ){
166 energy += elapsed_time*((double)
values[
i]/1.0e6);
167 fprintf(
fff[
i],
"%.4f %.1f %.1f (* Average Power (Watt) and Energy consumption (kWs) for %s *)\n",
173 fprintf(
fff[
i],
"%.4f %.1f (* Average Power (Watt) for %s *)\n",
char event_name[2][PAPI_MAX_STR_LEN]
int PAPI_stop(int EventSet, long long *values)
char disabled_reason[PAPI_MAX_STR_LEN]
const PAPI_component_info_t * PAPI_get_component_info(int cidx)
int PAPI_num_components(void)
char filenames[MAX_EVENTS][BUFSIZ]
int PAPI_add_named_event(int EventSet, const char *EventName)
char events[MAX_EVENTS][BUFSIZ]
int PAPI_library_init(int version)
char name[PAPI_MAX_STR_LEN]
int PAPI_enum_cmp_event(int *EventCode, int modifier, int cidx)
int PAPI_create_eventset(int *EventSet)
int PAPI_event_code_to_name(int EventCode, char *out)
long long PAPI_get_real_nsec(void)
int PAPI_start(int EventSet)
static long long values[NUM_EVENTS]