| if(mype.eq.0)
then
call MPI_SEND(imesg,1,MPI_INTEGER,1,itag,MPI_COMMON_WORLD,ierr) elsif(mype.eq.1) then call MPI_RECV(imesg,1,MPI_INTEGER,0,itag,MPI_COMMON_WORLD,istatus,ierr) endif |
| if(mype.eq.0)
then
call MPI_ISEND(imesg,1,MPI_INTEGER,1,itag,MPI_COMMON_WORLD,ireq,ierr) ... call MPI_WAIT(ireq,istatus,ierr) elsif(mype.eq.1) then call MPI_RECV(imesg,1,MPI_INTEGER,0,itag,MPI_COMMON_WORLD,istatus,ierr) endif |
| if(mype.eq.0)
then
call MPI_SEND(imesg,1,MPI_INTEGER,1,itag,MPI_COMMON_WORLD,ierr) elsif(mype.eq.1) then call MPI_IRECV(imesg,1,MPI_INTEGER,0,itag,MPI_COMMON_WORLD,ireq,ierr) ... call MPI_WAIT(ireq,istatus,ierr) endif |
| if(mype.eq.0)
then
call MPI_ISEND(imesg,1,MPI_INTEGER,1,itag,MPI_COMMON_WORLD,ireq,ierr) elsif(mype.eq.1) then call MPI_IRECV(imesg,1,MPI_INTEGER,0,itag,MPI_COMMON_WORLD,ireq,ierr) endif ... call MPI_WAIT(ireq,istatus,ierr) |
Si deve osservare che la funzione MPI_WAIT
può
essere usata ovunque dopo
la chiamata di una funzione non bloccante ma prima
di riutilizzare le variabili oggetto del messaggio.