Blame src/ftests/clockres.F

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