29.01.2015 Views

Dr. David Cronk Innovative Computing Lab University of ... - It works!

Dr. David Cronk Innovative Computing Lab University of ... - It works!

Dr. David Cronk Innovative Computing Lab University of ... - It works!

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Non-blocking Communication<br />

100 continue<br />

if (err .lt. Delta) goto 200<br />

do some computation<br />

do I = 0, npes<br />

if (I .ne. myrank)<br />

set up data to send<br />

call MPI_SEND (sdata(I), cnt, dtype, &<br />

I, tag, comm, ierr)<br />

endif<br />

enddo<br />

do I = 0, npes<br />

if (I .ne. myrank)<br />

set up data to recv<br />

call MPI_RECV (rdata(I), cnt, dtype, &<br />

I, tag, comm, status, ierr)<br />

endif<br />

enddo<br />

goto 100<br />

Clearly unsafe<br />

100 continue<br />

if (err .lt. Delta) goto 200<br />

do some computation<br />

do I = 0, npes<br />

if (I .ne. myrank)<br />

set up data to send<br />

call MPI_ISEND (sdata(I), cnt, dtype, &<br />

I, tag, comm, request, ierr)<br />

endif<br />

enddo<br />

do I = 0, npes<br />

if (I .ne. myrank)<br />

set up data to recv<br />

call MPI_RECV (rdata(I), cnt, dtype, &<br />

I, tag, comm, status, ierr)<br />

endif<br />

enddo<br />

goto 100<br />

May run out <strong>of</strong> handles<br />

<strong>David</strong> <strong>Cronk</strong> 69

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!