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