Go to the source code of this file.
|
| void | do_flops (int n) |
| |
| void | handler (int EventSet, void *address, long long overflow_vector, void *context) |
| |
| void * | Thread (void *arg) |
| |
| int | main (int argc, char **argv) |
| |
◆ ERROR_RETURN
| #define ERROR_RETURN |
( |
|
retval | ) |
{ fprintf(stderr, "Error %d %s:line %d: \n", retval,__FILE__,__LINE__); exit(retval); } |
◆ OVER_FMT
| #define OVER_FMT "handler(%d ) Overflow at %p! bit=%#llx \n" |
◆ THRESHOLD
◆ do_flops()
◆ handler()
| void handler |
( |
int |
EventSet, |
|
|
void * |
address, |
|
|
long long |
overflow_vector, |
|
|
void * |
context |
|
) |
| |
◆ main()
| int main |
( |
int |
argc, |
|
|
char ** |
argv |
|
) |
| |
Definition at line 120 of file examples/overflow_pthreads.c.
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);
unsigned long int pthread_t
int PAPI_thread_init(unsigned long int(*id_fn)(void))
int PAPI_library_init(int version)
#define ERROR_RETURN(retval)
long long PAPI_get_real_usec(void)
long long PAPI_get_real_cyc(void)
◆ Thread()
| void* Thread |
( |
void * |
arg | ) |
|
Definition at line 50 of file examples/overflow_pthreads.c.
111 printf(
"Thread %#x PAPI_TOT_INS : \t%lld\n",(
int)
PAPI_thread_id(),
113 printf(
" PAPI_TOT_CYC: \t%lld\n",
values[1]);
int PAPI_stop(int EventSet, long long *values)
int PAPI_add_event(int EventSet, int EventCode)
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)
#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]
◆ total