PROGRAM main_bpc_hpg IMPLICIT NONE INTEGER :: jpi, jpj, jpk INTEGER :: jk,jj,ji REAL(8), DIMENSION(:,:,:), ALLOCATABLE :: tmask REAL(8), DIMENSION(:,:) , ALLOCATABLE :: ssmask REAL(8) :: answer jpi=3 ; jpj=3 ; jpk=3 ALLOCATE(ssmask(jpi,jpj),tmask(jpi,jpj,jpk)) !$ACC KERNELS DO jk = 1, jpk DO jj = 1, jpj DO ji = 1, jpi tmask(ji,jj,jk)=ji+jpj*(jj-1)+jpk*jpj*(jk-1) END DO END DO END DO !$ACC END KERNELS answer=SUM(MAXVAL( tmask(:,:,:), DIM=3 )) write(0,*) write(0,*)"tmask" write(0,*)tmask write(0,*)"Correct Answer",answer !$ACC KERNELS DO jj = 1, jpj DO ji = 1, jpi ssmask(ji,jj)=MAXVAL(tmask(ji,jj,:), DIM=1) END DO END DO !$ACC END KERNELS write(0,*)"Variation 1: ssmask" write(0,*)ssmask write(0,*)" Answer",SUM(ssmask) !$ACC KERNELS DO ji = 1, jpi ssmask(ji,:)=MAXVAL(tmask(ji,:,:), DIM=2) END DO !$ACC END KERNELS write(0,*)"Variation 2: ssmask" write(0,*)ssmask write(0,*)" Answer",SUM(ssmask) !$ACC KERNELS ssmask (:,:) = MAXVAL( tmask(:,:,:), DIM=3 ) !$ACC END KERNELS write(0,*)"Variation 3: ssmask" write(0,*)ssmask write(0,*)" Answer",SUM(ssmask) END PROGRAM