Blame src/ftests/avail.F

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