Blame src/ftests/zeronamed.F

Packit 577717
#include "fpapi_test.h"
Packit 577717
      
Packit 577717
      program zero
Packit 577717
Packit 577717
      integer*8 values(10)
Packit 577717
      integer es, event
Packit 577717
      integer*8 uso, usn, cyco, cycn
Packit 577717
      integer domain, granularity
Packit 577717
      character*(PAPI_MAX_STR_LEN) domainstr, grnstr
Packit 577717
      character*(PAPI_MAX_STR_LEN) name
Packit 577717
      integer retval
Packit 577717
Packit 577717
      Integer last_char
Packit 577717
      External last_char
Packit 577717
      integer tests_quiet, get_quiet
Packit 577717
      external get_quiet
Packit 577717
Packit 577717
      tests_quiet = get_quiet()
Packit 577717
      es = PAPI_NULL
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
      call PAPIf_query_named_event('PAPI_TOT_CYC', retval)
Packit 577717
      if (retval .NE. PAPI_OK) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     .       'PAPIf_query_named_event: PAPI_TOT_CYC', retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      call PAPIf_query_named_event('PAPI_TOT_INS', retval)
Packit 577717
      if (retval .NE. PAPI_OK) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     .       'PAPIf_query_named_event: PAPI_TOT_INS', retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      call PAPIf_create_eventset(es, retval)
Packit 577717
      if ( retval.NE.PAPI_OK) then
Packit 577717
        call ftest_fail( __FILE__, __LINE__,
Packit 577717
     .       'PAPIf_create_eventset', retval )
Packit 577717
      end if
Packit 577717
Packit 577717
      call PAPIf_add_named_event( es, 'PAPI_TOT_CYC', retval )
Packit 577717
      if ( retval .NE. PAPI_OK ) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     .       'PAPIf_add_event: PAPI_TOT_CYC', retval)
Packit 577717
      end if
Packit 577717
      
Packit 577717
      call PAPIf_add_named_event( es, 'PAPI_TOT_INS', retval )
Packit 577717
      if ( retval .NE. PAPI_OK ) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     .       'PAPIf_add_event: PAPI_TOT_INS', retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      call PAPIf_get_real_usec(uso)
Packit 577717
      call PAPIf_get_real_cyc(cyco)
Packit 577717
Packit 577717
      call PAPIf_start(es, retval)
Packit 577717
      if ( retval .NE. PAPI_OK ) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     .       'PAPIf_start', retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      call fdo_flops(NUM_FLOPS)
Packit 577717
Packit 577717
      call PAPIf_stop(es, values(1), retval)
Packit 577717
      if ( retval .NE. PAPI_OK ) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     .       'PAPIf_stop', retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      call PAPIf_get_real_usec(usn)
Packit 577717
      call PAPIf_get_real_cyc(cycn)
Packit 577717
Packit 577717
      if (tests_quiet .EQ. 0) then
Packit 577717
        print *, "PAPI_{query, add, remove}_named_event API test."
Packit 577717
        print *, "-----------------------------------------------",
Packit 577717
     *       "--------------------------"
Packit 577717
      end if
Packit 577717
Packit 577717
      call PAPIf_get_domain(es, domain, PAPI_DEFDOM, retval)
Packit 577717
      if ( retval .NE. PAPI_OK ) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     .       'PAPIf_get_domain', retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      call stringify_domain(domain, domainstr)
Packit 577717
      if (tests_quiet .EQ. 0) then
Packit 577717
        write (*,800) "Default domain is     :", domain, domainstr
Packit 577717
      end if
Packit 577717
Packit 577717
      call PAPIf_get_granularity(es, granularity, PAPI_DEFGRN, 
Packit 577717
     *     retval)
Packit 577717
      if ( retval .NE. PAPI_OK ) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     .       'PAPIf_get_granularity',
Packit 577717
     *       retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      call stringify_granularity(granularity, grnstr)
Packit 577717
      if (tests_quiet .EQ. 0) then
Packit 577717
        call PAPIf_event_code_to_name (event, name, retval)
Packit 577717
        write (*,800) "Default granularity is:", granularity, grnstr
Packit 577717
 800    format(a25, i3, " ", a70)
Packit 577717
        write (*,810) "Using", NUM_FLOPS,
Packit 577717
     $       " iterations of c = c + a * b"
Packit 577717
 810    format(a7, i9, a)
Packit 577717
Packit 577717
        print *, "-----------------------------------------------",
Packit 577717
     *       "--------------------------"
Packit 577717
        
Packit 577717
        write (*,100) "Test type", 1
Packit 577717
        write (*,100) "PAPI_TOT_CYC", values(1)
Packit 577717
        write (*,100) "PAPI_TOT_INS", values(2)
Packit 577717
        write (*,100) "Real usec", usn-uso
Packit 577717
        write (*,100) "Real cycles", cycn-cyco
Packit 577717
 100    format(a13, ":", i12)
Packit 577717
        print *, "-----------------------------------------------",
Packit 577717
     *       "--------------------------"
Packit 577717
        
Packit 577717
        print *, "Verification: PAPI_TOT_CYC should be roughly ",
Packit 577717
     *       "real_cycles"
Packit 577717
      endif
Packit 577717
      
Packit 577717
      call ftests_pass(__FILE__)
Packit 577717
      end
Packit 577717