diff --git a/SURCOUCHE/mode_mppdb.f90 b/SURCOUCHE/mode_mppdb.f90 index 30751cef022e29db8e006e2a5a5e35ac82743267..543c6f9f12f3128cb3cc594868facfab31a53ed5 100644 --- a/SURCOUCHE/mode_mppdb.f90 +++ b/SURCOUCHE/mode_mppdb.f90 @@ -16,7 +16,7 @@ MODULE MODE_MPPDB CHARACTER(LEN=chlg) :: MPPDB_HOST = "localhost" CHARACTER(LEN=chlg) :: MPPDB_WDIR = "." INTEGER :: MPPDB_NBSON = 1 - CHARACTER(LEN=chlg) :: MPPDB_COMMAND = " sleep " // " 0 " + CHARACTER(LEN=chlg) :: MPPDB_COMMAND = " sleep " // " 20 " INTEGER :: MPPDB_INTER_COMM,MPPDB_INTRA_COMM INTEGER :: MPPDB_IRANK_WORLD,MPPDB_IRANK_INTRA @@ -271,6 +271,7 @@ CONTAINS REAL, DIMENSION(size(ptab,1),size(ptab,2),size(ptab,3)) :: ZTAB + #ifdef MNH_SP4 !pas de mpi_spawn sur IBM-SP ni MPI_ARGV_NULL etc ... RETURN @@ -278,15 +279,17 @@ CONTAINS IF ( ( .NOT. MPPDB_INITIALIZED ) .OR. (SIZE(PTAB) == 0 ) ) RETURN ! CALL MPPDB_BARRIER() - !$acc data create(ZTAB) - !$acc data pcopyin(PTAB) - !$acc kernels pcopyin(PTAB) - ZTAB=PTAB - !$acc end kernels - !$acc end data - !$acc update host(ZTAB) - !$acc end data - PTAB=ZTAB +!!$ !$acc data create(ZTAB) +!!$ !$acc data pcopyin(PTAB) +!!$ !$acc kernels pcopyin(PTAB) +!!$ ZTAB=PTAB +!!$ !$acc end kernels +!!$ !$acc end data +!!$ !$acc update host(ZTAB) +!!$ !$acc end data +!!$ PTAB=ZTAB + + ZTAB = PTAB ! IF(MPPDB_FATHER_WORLD) THEN ! @@ -298,7 +301,7 @@ CONTAINS IKU_ll = SIZE(PTAB,3) ALLOCATE(TAB_ll(IIU_ll,IJU_ll,IKU_ll)) ALLOCATE(TAB_SAVE_ll(IIU_ll,IJU_ll,IKU_ll)) - CALL GATHERALL_FIELD_ll('XY',PTAB,TAB_ll,IINFO_ll) + CALL GATHERALL_FIELD_ll('XY',ZTAB,TAB_ll,IINFO_ll) IF (MPPDB_IRANK_WORLD.EQ.0) THEN ! @@ -347,7 +350,7 @@ CONTAINS IJU_ll = IJMAX_ll+2*JPHEXT IKU_ll = SIZE(PTAB,3) ALLOCATE(TAB_ll(IIU_ll,IJU_ll,IKU_ll)) - CALL GATHERALL_FIELD_ll('XY',PTAB,TAB_ll,IINFO_ll) + CALL GATHERALL_FIELD_ll('XY',ZTAB,TAB_ll,IINFO_ll) ! ! SON WORLD ! @@ -358,7 +361,7 @@ CONTAINS I_FIRST_FATHER = 0 CALL MPI_BSEND(TAB_ll,SIZE(TAB_ll),MPI_PRECISION,I_FIRST_FATHER, & ITAG, MPPDB_INTRA_COMM, IINFO_ll) - !CALL MPI_BSEND(PTAB,SIZE(PTAB),MPI_PRECISION,I_FIRST_FATHER, & + !CALL MPI_BSEND(ZTAB,SIZE(ZTAB),MPI_PRECISION,I_FIRST_FATHER, & ! ITAG, MPPDB_INTRA_COMM, IINFO_ll) END IF END IF