16 #define MAX_powercap_EVENTS 64 18 int main (
int argc,
char **argv )
22 int retval,cid,powercap_cid=-1,numcmp;
38 if ( !
TESTS_QUIET ) printf(
"Trying all powercap events\n" );
42 for( cid=0; cid<numcmp; cid++ ) {
45 test_fail( __FILE__, __LINE__,
"PAPI_get_component_info()\n", 0 );
47 if ( strstr( cmpinfo->
name,
"powercap" ) ) {
49 if ( !
TESTS_QUIET ) printf(
"Found powercap component at cid %d\n",powercap_cid );
52 printf(
"powercap component disabled: %s\n",
55 test_skip( __FILE__,__LINE__,
"powercap component disabled",0 );
63 test_skip( __FILE__,__LINE__,
"No powercap component found\n",0 );
67 test_skip( __FILE__,__LINE__,
"No counters in the powercap component\n",0 );
89 if (!(strstr(event_names[
num_events],
"SUBZONE")) && (strstr(event_names[
num_events],
"POWER_LIMIT"))) {
110 printf(
"\nCURRENT LIMITS\n");
111 for(
i=0;
i<num_limits;
i++ ) {
112 printf(
"EVENT: %s\tLIMIT: %0.2lf Watts\n", event_names[limit_map[
i]], ((
double)
values[limit_map[
i]]*1e-6));
117 printf(
"\nSETTING LIMITS 10 WATTS BELOW CURRENT LIMITS\n");
124 printf(
"\nREADING LIMITS TO MAKE SURE THEY ARE SET\n");
130 printf(
"\nNEW LIMITS\n");
131 for(
i=0;
i<num_limits;
i++ ) {
132 printf(
"EVENT: %s\tLIMIT: %0.2lf Watts\n", event_names[limit_map[
i]], ((
double)
values[limit_map[
i]]*1e-6));
136 printf(
"\nRESET LIMITS BEFORE EXITING...");
142 printf(
"\nREADING RESET LIMITS TO MAKE SURE THEY ARE SET\n");
148 printf(
"\nRESET LIMITS\n");
149 for(
i=0;
i<num_limits;
i++ ) {
150 printf(
"EVENT: %s\tLIMIT: %0.2lf Watts\n", event_names[limit_map[
i]], ((
double)
values[limit_map[
i]]*1e-6));
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)
void test_pass(const char *filename)
int PAPI_add_event(int EventSet, int EventCode)
int PAPI_write(int EventSet, long long *values)
int PAPI_num_components(void)
Return codes and api definitions.
void test_skip(const char *file, int line, const char *call, int retval)
int PAPI_library_init(int version)
int main(int argc, char **argv)
char name[PAPI_MAX_STR_LEN]
int PAPI_enum_cmp_event(int *EventCode, int modifier, int cidx)
int PAPI_cleanup_eventset(int EventSet)
int PAPI_create_eventset(int *EventSet)
int PAPI_event_code_to_name(int EventCode, char *out)
void test_fail(const char *file, int line, const char *call, int retval)
int PAPI_destroy_eventset(int *EventSet)
int PAPI_read(int EventSet, long long *values)
int PAPI_start(int EventSet)
#define MAX_powercap_EVENTS
Tests basic functionality of powercap component.
static long long values[NUM_EVENTS]