Skip to content
Snippets Groups Projects
Commit 5f047804 authored by ESCOBAR MUNOZ Juan's avatar ESCOBAR MUNOZ Juan
Browse files

Juan 21/03/2022: Cray GPU opt in tensor source , add "!dirs$ concurrent" &...

Juan 21/03/2022: Cray GPU opt in tensor source , add "!dirs$ concurrent" & rewrite none optimum array syntax -> do concurrent
parent 522c87d2
No related branches found
No related tags found
No related merge requests found
......@@ -797,7 +797,9 @@ end subroutine construct_vertical_coeff
#ifdef MNH_COMPILER_NVHPC
!$acc loop independent collapse(2)
#endif
!dir$ concurrent
do ij=ijb,ije
!dir$ concurrent
do ii=iib,iie
zv_st(ii,ij,iz) = zd_k(iz)* ( (-zb_k(iz)-zc_k(iz))*Tij * zu_st(ii,ij,iz ) &
+zb_k(iz) *Tij * zu_st(ii,ij,iz+1) )
......@@ -808,7 +810,9 @@ end subroutine construct_vertical_coeff
#ifdef MNH_COMPILER_NVHPC
!$acc loop independent collapse(2)
#endif
!dir$ concurrent
do ij=ijb,ije
!dir$ concurrent
do ii=iib,iie
zv_st(ii,ij,iz) = zd_k(iz)* ( ((-zb_k(iz)-zc_k(iz))*Tij - 4.0_rl ) * zu_st(ii,ij,iz) &
+zb_k(iz) *Tij * zu_st(ii,ij,iz+1) &
......@@ -826,7 +830,9 @@ end subroutine construct_vertical_coeff
#ifdef MNH_COMPILER_NVHPC
!$acc loop independent collapse(2)
#endif
!dir$ concurrent
do ij=ijb,ije
!dir$ concurrent
do ii=iib,iie
zv_st(ii,ij,iz) = zd_k(iz)* ( (-zb_k(iz)-zc_k(iz))*Tij * zu_st(ii,ij,iz) &
+zc_k(iz) *Tij * zu_st(ii,ij,iz-1) )
......@@ -2097,11 +2103,13 @@ end subroutine line_Jacobi_mnh
iz=1
zSr_st(iib:iie,ijb:ije,iz) = zb_st(iib:iie,ijb:ije,iz)
do iz=2,nz-1
zSr_st(iib:iie,ijb:ije,iz) = zb_st(iib:iie,ijb:ije,iz) - zd_k(iz) * ( &
zSu_in_st(iib+1:iie+1,ijb:ije,iz) + &
zSu_in_st(iib-1:iie-1,ijb:ije,iz) + &
zSu_in_st(iib:iie,ijb+1:ije+1,iz) + &
zSu_in_st(iib:iie,ijb-1:ije-1,iz) )
do concurrent(ii=iib:iie,ij=ijb:ije)
zSr_st(ii,ij,iz) = zb_st(ii,ij,iz) - zd_k(iz) * ( &
zSu_in_st(ii+1,ij,iz) + &
zSu_in_st(ii-1,ij,iz) + &
zSu_in_st(ii,ij+1,iz) + &
zSu_in_st(ii,ij-1,iz) )
end do
end do
iz=nz
zSr_st(iib:iie,ijb:ije,iz) = zb_st(iib:iie,ijb:ije,iz)
......@@ -2116,7 +2124,9 @@ end subroutine line_Jacobi_mnh
#ifdef MNH_COMPILER_NVHPC
!$acc loop independent collapse(2)
#endif
!dir$ concurrent
do ij=ijb,ije
!dir$ concurrent
do ii=iib,iie
zSu_out_st(ii,ij,iz) = (zSr_st(ii,ij,iz) / (Tijs*zd_k(iz)) &
- zSu_out_st(ii,ij,iz-1)*zc_k(iz)) / tmp_k(iz)
......
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