1 |
C $Header$ |
C $Header$ |
2 |
|
C $Name$ |
3 |
|
|
4 |
#include "CPP_OPTIONS.h" |
#include "CPP_OPTIONS.h" |
5 |
#include "CPP_EEOPTIONS.h" |
#include "CPP_EEOPTIONS.h" |
6 |
|
|
24 |
|
|
25 |
C == Routine arguments == |
C == Routine arguments == |
26 |
C arrayE - Arrays to exchange be exchanged. |
C arrayE - Arrays to exchange be exchanged. |
27 |
C arrayW |
C arrayW |
28 |
C myd1 - sizes. |
C myd1 - sizes. |
29 |
C myd2 |
C myd2 |
30 |
C theSimulationMode - Forward or reverse mode exchange ( provides |
C theSimulationMode - Forward or reverse mode exchange ( provides |
59 |
#endif |
#endif |
60 |
|
|
61 |
|
|
62 |
C-- Under a "put" scenario we |
C-- Under a "put" scenario we |
63 |
C-- i. set completetion signal for buffer we put into. |
C-- i. set completetion signal for buffer we put into. |
64 |
C-- ii. wait for completetion signal indicating data has been put in |
C-- ii. wait for completetion signal indicating data has been put in |
65 |
C-- our buffer. |
C-- our buffer. |
66 |
C-- Under a messaging mode we "receive" the message. |
C-- Under a messaging mode we "receive" the message. |
67 |
C-- Under a "get" scenario we |
C-- Under a "get" scenario we |
100 |
c endif |
c endif |
101 |
c endif |
c endif |
102 |
#ifndef ALWAYS_USE_MPI |
#ifndef ALWAYS_USE_MPI |
103 |
ENDIF |
ENDIF |
104 |
#endif |
#endif |
105 |
#endif /* ALLOW_USE_MPI */ |
#endif /* ALLOW_USE_MPI */ |
106 |
ENDIF |
ENDIF |
117 |
& theProc, theTag, MPI_COMM_MODEL, |
& theProc, theTag, MPI_COMM_MODEL, |
118 |
& mpiStatus, mpiRc ) |
& mpiStatus, mpiRc ) |
119 |
#ifndef ALWAYS_USE_MPI |
#ifndef ALWAYS_USE_MPI |
120 |
ENDIF |
ENDIF |
121 |
#endif |
#endif |
122 |
#endif /* ALLOW_USE_MPI */ |
#endif /* ALLOW_USE_MPI */ |
123 |
ENDIF |
ENDIF |
159 |
CALL MPI_Waitall( exchNReqsX(1,bi,bj), exchReqIdX(1,1,bi,bj), |
CALL MPI_Waitall( exchNReqsX(1,bi,bj), exchReqIdX(1,1,bi,bj), |
160 |
& mpiStatus, mpiRC ) |
& mpiStatus, mpiRC ) |
161 |
#ifndef ALWAYS_USE_MPI |
#ifndef ALWAYS_USE_MPI |
162 |
ENDIF |
ENDIF |
163 |
#endif |
#endif |
164 |
#endif /* ALLOW_USE_MPI */ |
#endif /* ALLOW_USE_MPI */ |
165 |
ENDIF |
ENDIF |
219 |
|
|
220 |
C == Routine arguments == |
C == Routine arguments == |
221 |
C arrayN - Arrays to exchange be exchanged. |
C arrayN - Arrays to exchange be exchanged. |
222 |
C arrayS |
C arrayS |
223 |
C myd1 - sizes. |
C myd1 - sizes. |
224 |
C myd2 |
C myd2 |
225 |
C theSimulationMode - Forward or reverse mode exchange ( provides |
C theSimulationMode - Forward or reverse mode exchange ( provides |
253 |
#endif |
#endif |
254 |
|
|
255 |
|
|
256 |
C-- Under a "put" scenario we |
C-- Under a "put" scenario we |
257 |
C-- i. set completetion signal for buffer we put into. |
C-- i. set completetion signal for buffer we put into. |
258 |
C-- ii. wait for completetion signal indicating data has been put in |
C-- ii. wait for completetion signal indicating data has been put in |
259 |
C-- our buffer. |
C-- our buffer. |
260 |
C-- Under a messaging mode we "receive" the message. |
C-- Under a messaging mode we "receive" the message. |
261 |
C-- Under a "get" scenario we |
C-- Under a "get" scenario we |
285 |
& theProc, theTag, MPI_COMM_MODEL, |
& theProc, theTag, MPI_COMM_MODEL, |
286 |
& mpiStatus, mpiRc ) |
& mpiStatus, mpiRc ) |
287 |
#ifndef ALWAYS_USE_MPI |
#ifndef ALWAYS_USE_MPI |
288 |
ENDIF |
ENDIF |
289 |
#endif |
#endif |
290 |
#endif /* ALLOW_USE_MPI */ |
#endif /* ALLOW_USE_MPI */ |
291 |
ENDIF |
ENDIF |
302 |
& theProc, theTag, MPI_COMM_MODEL, |
& theProc, theTag, MPI_COMM_MODEL, |
303 |
& mpiStatus, mpiRc ) |
& mpiStatus, mpiRc ) |
304 |
#ifndef ALWAYS_USE_MPI |
#ifndef ALWAYS_USE_MPI |
305 |
ENDIF |
ENDIF |
306 |
#endif |
#endif |
307 |
#endif /* ALLOW_USE_MPI */ |
#endif /* ALLOW_USE_MPI */ |
308 |
ENDIF |
ENDIF |
344 |
CALL MPI_Waitall( exchNReqsY(1,bi,bj), exchReqIdY(1,1,bi,bj), |
CALL MPI_Waitall( exchNReqsY(1,bi,bj), exchReqIdY(1,1,bi,bj), |
345 |
& mpiStatus, mpiRC ) |
& mpiStatus, mpiRC ) |
346 |
#ifndef ALWAYS_USE_MPI |
#ifndef ALWAYS_USE_MPI |
347 |
ENDIF |
ENDIF |
348 |
#endif |
#endif |
349 |
#endif /* ALLOW_USE_MPI */ |
#endif /* ALLOW_USE_MPI */ |
350 |
ENDIF |
ENDIF |