diff --git a/src/ZSOLVER/tensorproductmultigrid_Source/profiles.f90 b/src/ZSOLVER/tensorproductmultigrid_Source/profiles.f90 index e20e0d221da8b6312cf04c7c9cd6a00a0afdfc47..72338e703e1ab7a938de88d82c72d8b43c2ac763 100644 --- a/src/ZSOLVER/tensorproductmultigrid_Source/profiles.f90 +++ b/src/ZSOLVER/tensorproductmultigrid_Source/profiles.f90 @@ -138,6 +138,8 @@ private integer , optional, intent(in) :: KIB,KIE,KIU,KJB,KJE,KJU,KKU real(kind=rl) , optional, intent(inout) :: PU(:,:,:) + real , dimension(:,:,:) , pointer , contiguous :: zu_st + ix_min = u%ix_min ix_max = u%ix_max iy_min = u%iy_min @@ -155,13 +157,16 @@ private end do end do else + zu_st => u%st + !$acc kernels loop independent collapse(3) do iz=1,u%grid_param%nz do iy=iy_min, iy_max do ix=ix_min, ix_max - PU(IX-ix_min+KIB,IY-iy_min+KJB,IZ) = u%st(ix-ix_min+1,iy-iy_min+1,iz) + PU(IX-ix_min+KIB,IY-iy_min+KJB,IZ) = zu_st(ix-ix_min+1,iy-iy_min+1,iz) end do end do end do + !$acc end kernels end if END IF end subroutine get_u_mnh