117 |
IF (.TRUE.) THEN |
IF (.TRUE.) THEN |
118 |
#endif /* ALLOW_EXCH2 */ |
#endif /* ALLOW_EXCH2 */ |
119 |
|
|
120 |
iBase = MOD(np0,nPx) |
iBase = mpi_myXGlobalLo(np)-1 |
121 |
jBase = np0/nPx |
jBase = mpi_myYGlobalLo(np)-1 |
|
iBase = iBase*nSx*sNx |
|
|
jBase = jBase*nSy*sNy |
|
|
c iBase = mpi_myXGlobalLo(np)-1 |
|
|
c jBase = mpi_myYGlobalLo(np)-1 |
|
122 |
|
|
123 |
DO bj=1,nSy |
DO bj=1,nSy |
124 |
DO bi=1,nSx |
DO bi=1,nSx |
138 |
C end if-else useExch2GlobLayOut |
C end if-else useExch2GlobLayOut |
139 |
ENDIF |
ENDIF |
140 |
|
|
|
C- end loop on np |
|
|
ENDDO |
|
|
|
|
141 |
C-- Process 0 sends local arrays to all other processes |
C-- Process 0 sends local arrays to all other processes |
142 |
CALL MPI_SEND (temp, lbuff, _MPI_TYPE_RX, |
CALL MPI_SEND (temp, lbuff, _MPI_TYPE_RX, |
143 |
& np0, itag, MPI_COMM_MODEL, ierr) |
& np0, itag, MPI_COMM_MODEL, ierr) |
144 |
|
|
145 |
|
C- end loop on np |
146 |
|
ENDDO |
147 |
|
|
148 |
ELSE |
ELSE |
149 |
|
|
150 |
C-- All proceses except 0 receive local array from process 0 |
C-- All proceses except 0 receive local array from process 0 |
209 |
IF (.TRUE.) THEN |
IF (.TRUE.) THEN |
210 |
#endif /* ALLOW_EXCH2 */ |
#endif /* ALLOW_EXCH2 */ |
211 |
|
|
212 |
iBase = 0 |
iBase = myXGlobalLo-1 |
213 |
jBase = 0 |
jBase = myYGlobalLo-1 |
|
c iBase = myXGlobalLo-1 |
|
|
c jBase = myYGlobalLo-1 |
|
214 |
|
|
215 |
DO bj=1,nSy |
DO bj=1,nSy |
216 |
DO bi=1,nSx |
DO bi=1,nSx |