Skip to content
Snippets Groups Projects
Commit 24b05162 authored by ESCOBAR Juan's avatar ESCOBAR Juan
Browse files

Juan 10/11/2014 : proporly manage MPPDB_CHECK3D from host to DEVICE

parent e4dbad57
No related branches found
No related tags found
No related merge requests found
MODULE MODE_DEVICE
CONTAINS
SUBROUTINE GET_FROM_DEVICE(PTAB,ZTAB,O_PTAB_ON_DEVICE)
USE&
OPENACC
IMPLICIT NONE
REAL, DIMENSION(:,:,:) :: PTAB
REAL, DIMENSION(:,:,:) :: ZTAB
LOGICAL :: O_PTAB_ON_DEVICE
O_PTAB_ON_DEVICE = acc_is_present(PTAB)
if ( O_PTAB_ON_DEVICE ) then
!$acc data create(ZTAB)
!$acc kernels
ZTAB=PTAB
!$acc end kernels
!$acc update host(ZTAB)
!$acc end data
else
ZTAB=PTAB
endif
END SUBROUTINE GET_FROM_DEVICE
SUBROUTINE PRINT_ON_DEVICE(PTAB,MES)
USE&
OPENACC
IMPLICIT NONE
REAL, DIMENSION(:,:,:) :: PTAB
CHARACTER(len=*) :: MES
LOGICAL :: G_PTAB_ON_DEVICE,G_EXEC_ON_DEVICE
G_PTAB_ON_DEVICE = acc_is_present(PTAB)
G_EXEC_ON_DEVICE = ( acc_get_device_type() <> acc_device_host )
if (G_EXEC_ON_DEVICE) then
if (G_PTAB_ON_DEVICE) then
print*,"PRESENT::",MES
else
print*,"ABSENT ::",MES
end if
end if
END SUBROUTINE PRINT_ON_DEVICE
END MODULE MODE_DEVICE
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment