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

Juan 15/03/2022:tensor/multigrid.f90, Cray OpenACC optimization , discard collapse + do concurrent

parent 5e6e4d38
No related branches found
No related tags found
No related merge requests found
...@@ -511,17 +511,16 @@ contains ...@@ -511,17 +511,16 @@ contains
zphifine_st => phifine%st zphifine_st => phifine%st
zphicoarse_st => phicoarse%st zphicoarse_st => phicoarse%st
!$acc kernels !$acc kernels
#ifdef MNH_COMPILER_NVHPC
!$acc loop independent collapse(3) !$acc loop independent collapse(3)
do iz=1,nz #endif
do iy=iy_min,iy_max do concurrent (ix=ix_min:ix_max, iy=iy_min:iy_max, iz=1:nz)
do ix=ix_min,ix_max
zphicoarse_st(ix,iy,iz) = & zphicoarse_st(ix,iy,iz) = &
zphifine_st(2*ix ,2*iy ,iz) + & zphifine_st(2*ix ,2*iy ,iz) + &
zphifine_st(2*ix ,2*iy-1,iz) + & zphifine_st(2*ix ,2*iy-1,iz) + &
zphifine_st(2*ix-1,2*iy ,iz) + & zphifine_st(2*ix-1,2*iy ,iz) + &
zphifine_st(2*ix-1,2*iy-1,iz) zphifine_st(2*ix-1,2*iy-1,iz)
end do
end do
end do end do
!$acc end kernels !$acc end kernels
endif endif
...@@ -849,20 +848,18 @@ contains ...@@ -849,20 +848,18 @@ contains
zphicoarse_st => phicoarse%st zphicoarse_st => phicoarse%st
!$acc kernels !$acc kernels
#ifdef MNH_COMPILER_NVHPC
!$acc loop independent collapse(5) !$acc loop independent collapse(5)
do iz=1,nz #endif
do diy = -1,0 do diy = -1,0
do dix = -1,0 do dix = -1,0
do iy=iy_min,iy_max DO CONCURRENT (ix=ix_min:ix_max, iy=iy_min:iy_max, iz=1:nz)
do ix=ix_min,ix_max zphifine_st(2*ix+dix,2*iy+diy,iz) = &
zphifine_st(2*ix+dix,2*iy+diy,iz) = & zphicoarse_st(ix,iy,iz) + &
zphicoarse_st(ix,iy,iz) + & rhox*(zphicoarse_st(ix+(2*dix+1),iy,iz) &
rhox*(zphicoarse_st(ix+(2*dix+1),iy,iz) & - zphicoarse_st(ix,iy,iz)) + &
- zphicoarse_st(ix,iy,iz)) + & rhoy*(zphicoarse_st(ix,iy+(2*diy+1),iz) &
rhoy*(zphicoarse_st(ix,iy+(2*diy+1),iz) & - zphicoarse_st(ix,iy,iz))
- zphicoarse_st(ix,iy,iz))
end do
end do
end do end do
end do end do
end do end do
......
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