ESMF_VMAccUTest Program

Uses

  • program~~esmf_vmaccutest~~UsesGraph program~esmf_vmaccutest ESMF_VMAccUTest module~esmf ESMF program~esmf_vmaccutest->module~esmf module~esmf_testmod ESMF_TestMod program~esmf_vmaccutest->module~esmf_testmod

Calls

program~~esmf_vmaccutest~~CallsGraph program~esmf_vmaccutest ESMF_VMAccUTest interface~esmf_vmget ESMF_VMGet program~esmf_vmaccutest->interface~esmf_vmget proc~esmf_finalize ESMF_Finalize program~esmf_vmaccutest->proc~esmf_finalize proc~esmf_logwrite ESMF_LogWrite program~esmf_vmaccutest->proc~esmf_logwrite proc~esmf_test ESMF_Test program~esmf_vmaccutest->proc~esmf_test proc~esmf_testend ESMF_TestEnd program~esmf_vmaccutest->proc~esmf_testend proc~esmf_teststart ESMF_TestStart program~esmf_vmaccutest->proc~esmf_teststart proc~esmf_vmgetglobal ESMF_VMGetGlobal program~esmf_vmaccutest->proc~esmf_vmgetglobal proc~esmf_vmgetdefault ESMF_VMGetDefault interface~esmf_vmget->proc~esmf_vmgetdefault proc~esmf_vmgetpetspecific ESMF_VMGetPetSpecific interface~esmf_vmget->proc~esmf_vmgetpetspecific proc~esmf_finalize->proc~esmf_logwrite c_esmc_getcompliancechecktrace c_esmc_getcompliancechecktrace proc~esmf_finalize->c_esmc_getcompliancechecktrace proc~esmf_calendarfinalize ESMF_CalendarFinalize proc~esmf_finalize->proc~esmf_calendarfinalize proc~esmf_logfinalize ESMF_LogFinalize proc~esmf_finalize->proc~esmf_logfinalize proc~esmf_logflush ESMF_LogFlush proc~esmf_finalize->proc~esmf_logflush proc~esmf_logrc2msg ESMF_LogRc2Msg proc~esmf_finalize->proc~esmf_logrc2msg proc~esmf_traceclose ESMF_TraceClose proc~esmf_finalize->proc~esmf_traceclose proc~esmf_vmabort ESMF_VMAbort proc~esmf_finalize->proc~esmf_vmabort proc~esmf_vmfinalize ESMF_VMFinalize proc~esmf_finalize->proc~esmf_vmfinalize c_esmc_vmwtime c_esmc_vmwtime proc~esmf_logwrite->c_esmc_vmwtime proc~esmf_logclose ESMF_LogClose proc~esmf_logwrite->proc~esmf_logclose proc~esmf_logwrite->proc~esmf_logflush proc~esmf_logopenfile ESMF_LogOpenFile proc~esmf_logwrite->proc~esmf_logopenfile proc~esmf_utiliounitflush ESMF_UtilIOUnitFlush proc~esmf_logwrite->proc~esmf_utiliounitflush proc~esmf_utilstring2array ESMF_UtilString2Array proc~esmf_logwrite->proc~esmf_utilstring2array proc~esmf_test->proc~esmf_logwrite proc~esmf_testend->proc~esmf_finalize proc~esmf_testend->proc~esmf_logwrite proc~esmf_teststart->interface~esmf_vmget proc~esmf_teststart->proc~esmf_logwrite proc~esmf_initialize ESMF_Initialize proc~esmf_teststart->proc~esmf_initialize proc~esmf_logset ESMF_LogSet proc~esmf_teststart->proc~esmf_logset

Variables

Type Attributes Name Initial
character(len=*), parameter :: version = '$Id$'
character(len=ESMF_MAXSTR) :: logMsg
character(len=ESMF_MAXSTR) :: name
integer :: accDeviceCount
integer :: localPet
integer :: petCount
integer :: rc
integer :: result = 0
integer :: ssiId
type(ESMF_VM) :: vm

Source Code

program ESMF_VMAccUTest

!------------------------------------------------------------------------------
 
#include "ESMF_Macros.inc"

!==============================================================================
!BOP
! !PROGRAM: ESMF_VMAccUTest - Unit test for VM Accelerator Support Functions
!
! !DESCRIPTION:
!
! This file contains unit tests for the ESMF Accelerator Support functions.
! The tests are run on multiple processes.
!-----------------------------------------------------------------------------
! !USES:
  use ESMF_TestMod     ! test methods
  use ESMF

  implicit none

!------------------------------------------------------------------------------
! The following line turns the CVS identifier string into a printable variable.
  character(*), parameter :: version = &
    '$Id$'
!------------------------------------------------------------------------------
  ! cumulative result: count failures; no failures equals "all pass"
  integer :: result = 0

  ! individual test failure message
  character(ESMF_MAXSTR) :: name
  character(ESMF_MAXSTR) :: logMsg

  ! local variables
  integer::  rc
  type(ESMF_VM):: vm
  integer:: localPet, petCount, ssiId, accDeviceCount
     
  !------------------------------------------------------------------------
  call ESMF_TestStart(ESMF_SRCLINE, rc=rc)
  if (rc /= ESMF_SUCCESS) call ESMF_Finalize(endflag=ESMF_END_ABORT)
  !------------------------------------------------------------------------

  ! get global vm information
  call ESMF_VMGetGlobal(vm, rc=rc)
  call ESMF_VMGet(vm, localPet=localPet, petCount=petCount, rc=rc)


  !Try getting number of accelerator devices
  !===========================================
  !------------------------------------------------------------------------
  !NEX_UTest
  ! Get number of accelerator devices test
  write(name, *) "Test getting the number of accelerator devices"
  call ESMF_VMGet(vm, localPet, accDeviceCount=accDeviceCount, ssiId=ssiId, rc=rc)
  write(logMsg, *) "Number of accelerator devices =", accDeviceCount
  call ESMF_LogWrite(trim(logMsg), ESMF_LOGMSG_INFO)

  write(logMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, logMsg, result, ESMF_SRCLINE)


  !------------------------------------------------------------------------
  call ESMF_TestEnd(ESMF_SRCLINE)
  !------------------------------------------------------------------------

end program ESMF_VMAccUTest