24 #define THRESHOLD 200000 25 #define OVER_FMT "handler(%d ) Overflow at %p! bit=%#llx \n" 26 #define ERROR_RETURN(retval) { fprintf(stderr, "Error %d %s:line %d: \n", retval,__FILE__,__LINE__); exit(retval); } 111 printf(
"Thread %#x PAPI_TOT_INS : \t%lld\n",(
int)
PAPI_thread_id(),
113 printf(
" PAPI_TOT_CYC: \t%lld\n",
values[1]);
120 int main(
int argc,
char **argv)
133 printf(
"Library initialization error! \n");
149 pthread_attr_init(&attr);
150 pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM);
154 rc = pthread_create(&thread_one, &attr,
Thread, (
void *)&flops1);
160 rc = pthread_create(&thread_two, &attr,
Thread, (
void *)&flops2);
165 pthread_attr_destroy(&attr);
166 pthread_join(thread_one, NULL);
167 pthread_join(thread_two, NULL);
174 printf(
"Master real usec : \t%lld\n",
elapsed_us);
175 printf(
"Master real cycles : \t%lld\n",
elapsed_cyc);
int PAPI_stop(int EventSet, long long *values)
int PAPI_add_event(int EventSet, int EventCode)
unsigned long int pthread_t
unsigned long PAPI_thread_id(void)
int PAPI_remove_event(int EventSet, int EventCode)
int PAPI_overflow(int EventSet, int EventCode, int threshold, int flags, PAPI_overflow_handler_t handler)
Return codes and api definitions.
int main(int argc, char **argv)
int PAPI_thread_init(unsigned long int(*id_fn)(void))
int PAPI_library_init(int version)
#define ERROR_RETURN(retval)
int PAPI_create_eventset(int *EventSet)
void handler(int EventSet, void *address, long long overflow_vector, void *context)
int PAPI_query_event(int EventCode)
long long PAPI_get_real_usec(void)
long long PAPI_get_real_cyc(void)
int PAPI_start(int EventSet)
static long long values[NUM_EVENTS]
static double b[MATRIX_SIZE][MATRIX_SIZE]
static double a[MATRIX_SIZE][MATRIX_SIZE]