function GPUAvailable() result(avail)
implicit none
logical :: avail
! Local
integer(c_int) :: gpuCount
integer(kind(hipSuccess)) :: err
err = hipGetDeviceCount(gpuCount)
if(gpuCount > 0 .and. err == hipSuccess) then
avail = .true.
else
avail = .false.
endif
endfunction GPUAvailable