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