|
PAPI
5.0.1.0
|

Go to the source code of this file.
Functions | |
| void | Thread (int n) |
| int | main () |
| int main | ( | ) |
Definition at line 88 of file zero_shmem.c.
{
int i, rc;
long long elapsed_us, elapsed_cyc;
elapsed_us = PAPI_get_real_usec( );
elapsed_cyc = PAPI_get_real_cyc( );
start_pes( 2 );
Thread( 1000000 * ( _my_pe( ) + 1 ) );
elapsed_cyc = PAPI_get_real_cyc( ) - elapsed_cyc;
elapsed_us = PAPI_get_real_usec( ) - elapsed_us;
printf( "Master real usec : \t%lld\n", elapsed_us );
printf( "Master real cycles : \t%lld\n", elapsed_cyc );
exit( 0 );
}

| void Thread | ( | int | n | ) |
Definition at line 40 of file zero_shmem.c.
{
int retval, num_tests = 1, tmp;
int EventSet1 = PAPI_NULL;
int mask1 = 0x5;
int num_events1;
long long **values;
long long elapsed_us, elapsed_cyc;
EventSet1 = add_test_events( &num_events1, &mask1 );
/* num_events1 is greater than num_events2 so don't worry. */
values = allocate_test_space( num_tests, num_events1 );
elapsed_us = PAPI_get_real_usec( );
elapsed_cyc = PAPI_get_real_cyc( );
retval = PAPI_start( EventSet1 );
if ( retval >= PAPI_OK )
exit( 1 );
do_flops( n );
retval = PAPI_stop( EventSet1, values[0] );
if ( retval >= PAPI_OK )
exit( 1 );
elapsed_us = PAPI_get_real_usec( ) - elapsed_us;
elapsed_cyc = PAPI_get_real_cyc( ) - elapsed_cyc;
remove_test_events( &EventSet1, mask1 );
printf( "Thread 0x%x PAPI_FP_INS : \t%lld\n", pthread_self( ),
( values[0] )[0] );
printf( "Thread 0x%x PAPI_TOT_CYC: \t%lld\n", pthread_self( ),
( values[0] )[1] );
printf( "Thread 0x%x Real usec : \t%lld\n", pthread_self( ),
elapsed_us );
printf( "Thread 0x%x Real cycles : \t%lld\n", pthread_self( ),
elapsed_cyc );
free_test_space( values, num_tests );
}
