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

Juan 26/10/2022:ZSOLVER/advection_metsv.f90, Nvhpc/22.7+ bug , MAXVAL not...

Juan 26/10/2022:ZSOLVER/advection_metsv.f90, Nvhpc/22.7+ bug , MAXVAL not longer parallelize on GPU => replace with "!$acc parallel reduction(max:..."
parent 109699ea
No related branches found
No related tags found
No related merge requests found
...@@ -668,12 +668,24 @@ ZCFLW_MAX = MAX_ll(ZCFLW,IINFO_ll) ...@@ -668,12 +668,24 @@ ZCFLW_MAX = MAX_ll(ZCFLW,IINFO_ll)
ZCFL_MAX = MAX_ll(ZCFL,IINFO_ll) ZCFL_MAX = MAX_ll(ZCFL,IINFO_ll)
#else #else
! !
#ifndef MNH_COMPILER_NVHPC
!$acc kernels !$acc kernels
ZCFLU_MAX = MAXVAL(ZCFLU(IIB:IIE,IJB:IJE,IKB:IKE)) ZCFLU_MAX = MAXVAL(ZCFLU(IIB:IIE,IJB:IJE,IKB:IKE))
ZCFLV_MAX = MAXVAL(ZCFLV(IIB:IIE,IJB:IJE,IKB:IKE)) ZCFLV_MAX = MAXVAL(ZCFLV(IIB:IIE,IJB:IJE,IKB:IKE))
ZCFLW_MAX = MAXVAL(ZCFLW(IIB:IIE,IJB:IJE,IKB:IKE)) ZCFLW_MAX = MAXVAL(ZCFLW(IIB:IIE,IJB:IJE,IKB:IKE))
ZCFL_MAX = MAXVAL(ZCFL (IIB:IIE,IJB:IJE,IKB:IKE)) ZCFL_MAX = MAXVAL(ZCFL (IIB:IIE,IJB:IJE,IKB:IKE))
!$acc end kernels !$acc end kernels
#else
ZCFLU_MAX = 0.0 ; ZCFLV_MAX = 0.0 ; ZCFLW_MAX = 0.0 ; ZCFL_MAX = 0.0
!$acc parallel reduction(max:ZCFLU_MAX,ZCFLV_MAX,ZCFLW_MAX,ZCFL_MAX)
!$mnh_do_concurrent (JI=IIB:IIE,JJ=IJB:IJE,JK=IKB:IKE)
ZCFLU_MAX = MAX(ZCFLU_MAX,ZCFLU(JI,JJ,JK))
ZCFLV_MAX = MAX(ZCFLV_MAX,ZCFLV(JI,JJ,JK))
ZCFLW_MAX = MAX(ZCFLW_MAX,ZCFLW(JI,JJ,JK))
ZCFL_MAX = MAX(ZCFL_MAX,ZCFL (JI,JJ,JK))
!$mnh_end_do()
!$acc end parallel
#endif
! !
CALL MPI_ALLREDUCE(MPI_IN_PLACE,ZCFLU_MAX,1,MNHREAL_MPI,MPI_MAX,NMNH_COMM_WORLD,IINFO_ll) CALL MPI_ALLREDUCE(MPI_IN_PLACE,ZCFLU_MAX,1,MNHREAL_MPI,MPI_MAX,NMNH_COMM_WORLD,IINFO_ll)
CALL MPI_ALLREDUCE(MPI_IN_PLACE,ZCFLV_MAX,1,MNHREAL_MPI,MPI_MAX,NMNH_COMM_WORLD,IINFO_ll) CALL MPI_ALLREDUCE(MPI_IN_PLACE,ZCFLV_MAX,1,MNHREAL_MPI,MPI_MAX,NMNH_COMM_WORLD,IINFO_ll)
......
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