From 7f088ac772175419a81ef39e7e1271ffb7f969fc Mon Sep 17 00:00:00 2001
From: ESCOBAR Juan <escj@nuwa>
Date: Mon, 10 Nov 2014 17:46:35 +0100
Subject: [PATCH] Juan 10/11/2014 : missing acc update ZUNIT=1 to host

---
 MNH/ppm_rhodj.f90 | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/MNH/ppm_rhodj.f90 b/MNH/ppm_rhodj.f90
index cc6e3a30a..6da4db656 100644
--- a/MNH/ppm_rhodj.f90
+++ b/MNH/ppm_rhodj.f90
@@ -77,6 +77,8 @@ USE MODI_PPM
      
 USE&
     OPENACC    
+
+USE MODE_DEVICE
    
 !
 !
@@ -91,14 +93,14 @@ CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY ! Y direction LBC type
 REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PCRU  ! contravariant
 REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PCRV  !  components
 REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PCRW  ! of momentum
-!$acc declare pcopyin(PCRU,PCRV,PCRW) 
+!acc declare pcopyin(PCRU,PCRV,PCRW) 
 REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PRHODJ ! density
-!$acc declare present(PRHODJ)
+!acc declare present(PRHODJ)
 ! Temporary advected rhodj
 REAL, DIMENSION(:,:,:),   INTENT(OUT)   :: PRHOX1,PRHOX2
 REAL, DIMENSION(:,:,:),   INTENT(OUT)   :: PRHOY1,PRHOY2
 REAL, DIMENSION(:,:,:),   INTENT(OUT)   :: PRHOZ1,PRHOZ2
-!$acc declare pcopyout(PRHOX1,PRHOX2, PRHOY1,PRHOY2, PRHOZ1,PRHOZ2 )
+!acc declare pcopyout(PRHOX1,PRHOX2, PRHOY1,PRHOY2, PRHOZ1,PRHOZ2 )
 !
 REAL,                     INTENT(IN)    :: PTSTEP ! Time step 
 !
@@ -112,14 +114,25 @@ REAL, DIMENSION(SIZE(PCRU,1),SIZE(PCRU,2),SIZE(PCRU,3)) :: ZUNIT
 !-------------------------------------------------------------------------------
 !
 
-!!$if ( acc_is_present(PRHODJ) )  print*,"PRHODJ JPRESENT"
+!!$CALL PRINT_ON_DEVICE(PRHODJ,"PRHODJ")
+!!$CALL PRINT_ON_DEVICE(PCRU,'PCRU')
+!!$CALL PRINT_ON_DEVICE(PCRV,'PCRV')
+!!$CALL PRINT_ON_DEVICE(PCRW,'PCRW')
+!!$CALL PRINT_ON_DEVICE(PRHOX1,'PRHOX1')
+!!$CALL PRINT_ON_DEVICE(PRHOX2,'PRHOX2')
+!!$CALL PRINT_ON_DEVICE(PRHOY1,'PRHOY1')
+!!$CALL PRINT_ON_DEVICE(PRHOY2,'PRHOY2')
+!!$CALL PRINT_ON_DEVICE(PRHOZ1,'PRHOZ1')
 
 !
 IGRID = 1
 !
-!$acc data create (ZUNIT) 
+!$acc data pcopyin (PCRU,PCRV,PCRW) &
+!$acc &    present (PRHODJ)  &
+!$acc &    pcopyout(PRHOX1,PRHOX2, PRHOY1,PRHOY2, PRHOZ1,PRHOZ2 ) &
+!$acc &    create  (ZUNIT) 
 
-!$acc kernels
+!$acc kernels updateout(zunit)
 ZUNIT = 1.0
 !$acc end kernels
 
-- 
GitLab