|
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 |
|