From e47d7e537e94e61115c248af85000c2c18c167a3 Mon Sep 17 00:00:00 2001 From: Juan Escobar <juan.escobar@aero.obs-mip.fr> Date: Fri, 13 Aug 2021 12:01:59 +0200 Subject: [PATCH] Juan 13/08/2021:mode_openacc_set_device.f90, for gfortran add optonel compilation with FAKEOPENACC --- .../mode_openacc_set_device.f90 | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/src/ZSOLVER/tensorproductmultigrid_Source/mode_openacc_set_device.f90 b/src/ZSOLVER/tensorproductmultigrid_Source/mode_openacc_set_device.f90 index 55029c1d0..50bc7bd44 100644 --- a/src/ZSOLVER/tensorproductmultigrid_Source/mode_openacc_set_device.f90 +++ b/src/ZSOLVER/tensorproductmultigrid_Source/mode_openacc_set_device.f90 @@ -6,17 +6,22 @@ #endif MODULE MODE_OPENACC_SET_DEVICE +#ifndef _FAKEOPENACC USE openacc , ONLY : acc_device_kind +#endif IMPLICIT NONE - + +#ifndef _FAKEOPENACC INTEGER(kind=acc_device_kind),dimension(1000) :: mnh_idevice_type_at_init = -1000 INTEGER :: nlevel_mnh_idevice_type = 1 +#endif CONTAINS SUBROUTINE MNH_OPENACC_GET_DEVICE_AT_INIT() - + +#ifndef _FAKEOPENACC USE& openacc , ONLY : acc_get_device_type,acc_device_kind @@ -30,11 +35,13 @@ CONTAINS mnh_idevice_type_at_init(1) = acc_get_device_type() print*,'mnh_idevice_type_at_init=',mnh_idevice_type_at_init(1) end if +#endif END SUBROUTINE MNH_OPENACC_GET_DEVICE_AT_INIT SUBROUTINE MNH_OPENACC_GET_DEVICE() - + +#ifndef _FAKEOPENACC USE& openacc , ONLY : acc_get_device_type,acc_device_kind @@ -46,11 +53,13 @@ CONTAINS idevice_type = acc_get_device_type() print*,'idevice_type=',idevice_type +#endif END SUBROUTINE MNH_OPENACC_GET_DEVICE SUBROUTINE MNH_OPENACC_SET_DEVICE_HOST() - + +#ifndef _FAKEOPENACC USE& openacc , ONLY : acc_set_device_type,acc_device_host,acc_get_device_type @@ -60,12 +69,14 @@ CONTAINS nlevel_mnh_idevice_type = nlevel_mnh_idevice_type + 1 mnh_idevice_type_at_init(nlevel_mnh_idevice_type) = acc_get_device_type() - call acc_set_device_type(acc_device_host) + call acc_set_device_type(acc_device_host) +#endif END SUBROUTINE MNH_OPENACC_SET_DEVICE_HOST SUBROUTINE MNH_OPENACC_SET_DEVICE_NVIDIA() - + +#ifndef _FAKEOPENACC USE& openacc , ONLY : acc_set_device_type,acc_device_nvidia @@ -74,11 +85,13 @@ CONTAINS SWAP_DEVICE_RETURN call acc_set_device_type(acc_device_nvidia) +#endif END SUBROUTINE MNH_OPENACC_SET_DEVICE_NVIDIA SUBROUTINE MNH_OPENACC_SET_DEVICE_DEFAULT() - + +#ifndef _FAKEOPENACC USE& openacc , ONLY : acc_set_device_type,acc_device_nvidia @@ -92,6 +105,7 @@ CONTAINS nlevel_mnh_idevice_type = nlevel_mnh_idevice_type - 1 END IF call acc_set_device_type(mnh_idevice_type_at_init(nlevel_mnh_idevice_type)) +#endif END SUBROUTINE MNH_OPENACC_SET_DEVICE_DEFAULT -- GitLab