On Jan 26, 2009, at 4:04 PM, Hartzman, Leslie D (MS) wrote:
Process 'A' --------------------------------------------- Initialize requests to MPI_REQUEST_NULL for i=0; i < n; i++ { if (rank == 0) { initialize 'command' structure (set cmd = 'step 1') set destination to Process 'B'mpi_issend(command, sizeof(struct command), dest, ...);} send data to be processed by Process 'B' mpi_issend(data, numWords, MPI_FLOAT, ...); if (rank == 0) { mpi_wait(command request for 'step 1' command);sending new command, set cmd = 'step 2', mpi_issend(...)} send data to be processed by Process 'B' mpi_issend(data, ...); mpi_wait(command request for ‘step n’); }
I'm not quite sure I understand this pseudocode; it looks like there's a missing MPI_Wait in there...? Specifically, I count 3 MPI_ISSEND's and 2 MPI_WAIT's.
-- Jeff Squyres Cisco Systems
