Skip to content
Snippets Groups Projects
Commit a546b734 authored by ESCOBAR MUNOZ Juan's avatar ESCOBAR MUNOZ Juan Committed by WAUTELET Philippe
Browse files

Juan 3/02/2014: manage correctly numbering of father before son process

parent 1d101fb9
No related branches found
No related tags found
No related merge requests found
...@@ -95,6 +95,7 @@ CONTAINS ...@@ -95,6 +95,7 @@ CONTAINS
! !
! NO Father ! ! NO Father !
MPPDB_FATHER_WORLD = .TRUE. MPPDB_FATHER_WORLD = .TRUE.
CALL MPI_BARRIER(NMNH_COMM_WORLD,ierr)
! !
! if no config file , inactive MPPDB routines ! if no config file , inactive MPPDB routines
! !
...@@ -154,10 +155,13 @@ CONTAINS ...@@ -154,10 +155,13 @@ CONTAINS
! clone the son ! clone the son
! !
ALLOCATE(info_error(MPPDB_NBSON)) ALLOCATE(info_error(MPPDB_NBSON))
CALL MPI_BARRIER(NMNH_COMM_WORLD,ierr)
! !
CALL MPI_COMM_SPAWN(MPPDB_EXEC, MPI_ARGV_NULL,MPPDB_NBSON,INFO_SPAWN, & CALL MPI_COMM_SPAWN(MPPDB_EXEC, MPI_ARGV_NULL,MPPDB_NBSON,INFO_SPAWN, &
RANK_FATHER, NMNH_COMM_WORLD,MPPDB_INTER_COMM ,info_error, ierr) RANK_FATHER, NMNH_COMM_WORLD,MPPDB_INTER_COMM ,info_error, ierr)
! !
CALL MPI_BARRIER(NMNH_COMM_WORLD,ierr)
!
DEALLOCATE(info_error) DEALLOCATE(info_error)
! !
! merge the communicator ! merge the communicator
...@@ -170,9 +174,12 @@ CONTAINS ...@@ -170,9 +174,12 @@ CONTAINS
! !
!... My rank in MPPDB_INTRA_COMM !... My rank in MPPDB_INTRA_COMM
CALL MPI_COMM_RANK(MPPDB_INTRA_COMM, mppdb_irank_intra, ierr) CALL MPI_COMM_RANK(MPPDB_INTRA_COMM, mppdb_irank_intra, ierr)
IF (MPPDB_DEBUG) print*,"MPPDB_INIT :: FATHER mppdb_irank_intra=", mppdb_irank_intra & IF (MPPDB_IRANK_WORLD.EQ.0) THEN
! I'm the first father
IF (MPPDB_DEBUG) print*,"MPPDB_INIT :: FIRST FATHER mppdb_irank_intra=", mppdb_irank_intra &
,"mppdb_nbproc_intra=",mppdb_nbproc_intra ,"mppdb_nbproc_intra=",mppdb_nbproc_intra
call flush(6) call flush(6)
endif
! !
! Wait the sons ! Wait the sons
! !
...@@ -187,9 +194,11 @@ CONTAINS ...@@ -187,9 +194,11 @@ CONTAINS
! ! ! !
!-------------------------------------------------------------------------! !-------------------------------------------------------------------------!
! !
CALL MPI_BARRIER(NMNH_COMM_WORLD,ierr)
!
! merge the communicator ! merge the communicator
! !
drapeau=.FALSE. drapeau=.TRUE.
CALL MPI_INTERCOMM_MERGE(MPPDB_INTER_COMM, drapeau, MPPDB_INTRA_COMM, ierr) CALL MPI_INTERCOMM_MERGE(MPPDB_INTER_COMM, drapeau, MPPDB_INTRA_COMM, ierr)
! !
!... Numbre of processus in MPPDB_INTRA_COMM. !... Numbre of processus in MPPDB_INTRA_COMM.
...@@ -207,7 +216,7 @@ CONTAINS ...@@ -207,7 +216,7 @@ CONTAINS
call system(MPPDB_COMMAND) call system(MPPDB_COMMAND)
! !
MPPDB_DEBUG = .TRUE. MPPDB_DEBUG = .TRUE.
IF (MPPDB_DEBUG) write(200,*) "MPPDB_INIT :: FIRSTSON mppdb_irank_intra=", mppdb_irank_intra & IF (MPPDB_DEBUG) write(200,*) "MPPDB_INIT :: FIRST SON mppdb_irank_intra=", mppdb_irank_intra &
,"MPPDB_IRANK_WORLD=",MPPDB_IRANK_WORLD ,"MPPDB_IRANK_WORLD=",MPPDB_IRANK_WORLD
! !
IF (MPPDB_IRANK_WORLD.EQ.0) THEN IF (MPPDB_IRANK_WORLD.EQ.0) THEN
......
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