#include "fpapi_test.h" #define ITERS 100000 program clockres IMPLICIT integer (p) INTEGER*8 elapsed_usec(ITERS), elapsed_cyc(ITERS) INTEGER*8 total_usec, total_cyc INTEGER i,handle INTEGER retval integer tests_quiet, get_quiet external get_quiet tests_quiet = get_quiet() total_usec=0 total_cyc=0 handle=0 retval = PAPI_VER_CURRENT call PAPIf_library_init( retval ) if ( retval.NE.PAPI_VER_CURRENT) then call ftest_fail(__FILE__, __LINE__, . 'PAPI_library_init', retval) end if if (tests_quiet .EQ. 0) then print *, 'Test case: Clock resolution.' print *,'-----------------------------------------------' end if do i=1,ITERS call PAPIf_get_real_cyc( elapsed_cyc(i) ) end do do i=2,ITERS if ((elapsed_cyc(i)-elapsed_cyc(i-1)).LT.0 ) stop total_cyc =total_cyc+(elapsed_cyc(i) - elapsed_cyc(i-1)) end do do i=1,ITERS call PAPIf_get_real_usec(elapsed_usec(i)) end do do i=2,ITERS if ((elapsed_usec(i) - elapsed_usec(i-1)).LT.0) stop total_usec=total_usec+(elapsed_usec(i) - elapsed_usec(i-1)) end do if (tests_quiet .EQ. 0) then print *,'PAPIf_get_real_cyc : ',(total_cyc/(ITERS-1)) print *,'PAPIf_get_real_usec: ',(total_usec/(ITERS-1)) end if call ftests_pass(__FILE__) end