|
Packit |
577717 |
C This file performs the following tests:
|
|
Packit |
577717 |
C Hardware info
|
|
Packit |
577717 |
#include "fpapi_test.h"
|
|
Packit |
577717 |
|
|
Packit |
577717 |
program avail
|
|
Packit |
577717 |
IMPLICIT integer (p)
|
|
Packit |
577717 |
|
|
Packit |
577717 |
INTEGER ncpu,nnodes,totalcpus,vendor,model, check, handle, n
|
|
Packit |
577717 |
CHARACTER*(PAPI_MAX_STR_LEN) vstring, mstring
|
|
Packit |
577717 |
REAL revision, mhz
|
|
Packit |
577717 |
integer last_char
|
|
Packit |
577717 |
external last_char
|
|
Packit |
577717 |
integer i, avail_flag, flags,k,l
|
|
Packit |
577717 |
CHARACTER*(PAPI_MAX_STR_LEN) event_name, event_descr,
|
|
Packit |
577717 |
*event_label, event_note
|
|
Packit |
577717 |
CHARACTER*(10) avail_str, flags_str
|
|
Packit |
577717 |
integer tests_quiet, get_quiet
|
|
Packit |
577717 |
external get_quiet
|
|
Packit |
577717 |
|
|
Packit |
577717 |
tests_quiet = get_quiet()
|
|
Packit |
577717 |
|
|
Packit |
577717 |
handle=0
|
|
Packit |
577717 |
check = PAPI_VER_CURRENT
|
|
Packit |
577717 |
call PAPIf_library_init(check)
|
|
Packit |
577717 |
if ( check.NE.PAPI_VER_CURRENT) then
|
|
Packit |
577717 |
call ftest_fail(__FILE__, __LINE__,
|
|
Packit |
577717 |
. 'PAPI_library_init', check)
|
|
Packit |
577717 |
end if
|
|
Packit |
577717 |
|
|
Packit |
577717 |
call PAPIf_get_hardware_info( ncpu,nnodes,totalcpus,vendor,
|
|
Packit |
577717 |
. vstring, model, mstring, revision, mhz )
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if (tests_quiet .EQ. 0) then
|
|
Packit |
577717 |
print *, 'Hardware information and available events'
|
|
Packit |
577717 |
print *, '--------------------------------------'//
|
|
Packit |
577717 |
.'---------------------------------------'
|
|
Packit |
577717 |
n=last_char(vstring)
|
|
Packit |
577717 |
print *, 'Vendor string and code : ',vstring(1:n),
|
|
Packit |
577717 |
&' (',vendor,')'
|
|
Packit |
577717 |
n=last_char(mstring)
|
|
Packit |
577717 |
print *, 'Model string and code : ',mstring(1:n),' (',model,')'
|
|
Packit |
577717 |
print *, 'CPU revision : ',revision
|
|
Packit |
577717 |
print *, 'CPU Megahertz : ',mhz
|
|
Packit |
577717 |
print *, 'CPUs in an SMP node : ',ncpu
|
|
Packit |
577717 |
print *, 'Nodes in the system : ',nnodes
|
|
Packit |
577717 |
print *, 'Total CPUs in the system : ',totalcpus
|
|
Packit |
577717 |
print *, '--------------------------------------'//
|
|
Packit |
577717 |
.'---------------------------------------'
|
|
Packit |
577717 |
|
|
Packit |
577717 |
write (*,200) 'Name', 'Code', 'Avail', 'Deriv',
|
|
Packit |
577717 |
*'Description', '(note)'
|
|
Packit |
577717 |
200 format(A8, A12, A9, A6, A25, A30)
|
|
Packit |
577717 |
end if
|
|
Packit |
577717 |
event_name=' '
|
|
Packit |
577717 |
do i=0, PAPI_MAX_PRESET_EVENTS-1
|
|
Packit |
577717 |
C PAPI_L1_DCM is the first event in the list
|
|
Packit |
577717 |
call papif_get_event_info(PAPI_L1_DCM+i, event_name,
|
|
Packit |
577717 |
* event_descr, event_label, avail_flag, event_note, flags, check)
|
|
Packit |
577717 |
if (avail_flag.EQ.1) then
|
|
Packit |
577717 |
avail_str = 'Yes'
|
|
Packit |
577717 |
else
|
|
Packit |
577717 |
avail_str = 'No'
|
|
Packit |
577717 |
end if
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if (flags.EQ.1) then
|
|
Packit |
577717 |
flags_str = 'Yes'
|
|
Packit |
577717 |
else
|
|
Packit |
577717 |
flags_str = 'No'
|
|
Packit |
577717 |
end if
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if (check.EQ.PAPI_OK .and. tests_quiet .EQ. 0) then
|
|
Packit |
577717 |
l=1
|
|
Packit |
577717 |
do k=len(event_note),1,-1
|
|
Packit |
577717 |
if(l.EQ.1.AND.event_note(k:k).NE.' ') l=k
|
|
Packit |
577717 |
end do
|
|
Packit |
577717 |
C PAPI_L1_DCM is the first event in the list
|
|
Packit |
577717 |
write (6, 100) event_name, PAPI_L1_DCM+i, avail_str,
|
|
Packit |
577717 |
* flags_str, event_descr, event_note(1:l)
|
|
Packit |
577717 |
100 format(A12, '0x', z8, 2x, A5, 1x, A5, A45, 1x,'(', A, ')')
|
|
Packit |
577717 |
end if
|
|
Packit |
577717 |
end do
|
|
Packit |
577717 |
if (tests_quiet .EQ. 0) then
|
|
Packit |
577717 |
print *, '--------------------------------------'//
|
|
Packit |
577717 |
.'---------------------------------------'
|
|
Packit |
577717 |
end if
|
|
Packit |
577717 |
|
|
Packit |
577717 |
call ftests_pass(__FILE__)
|
|
Packit |
577717 |
end
|