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


Reply via email to