# MPI_Isend

Nonblocking send data from a node to an other

## Calling Sequence

    res = MPI_Isend(value,node)

## Arguments

value

  The value to be sent to the specified node.

node

  The node to send the data

res

  The result of the operation (true if success, false if failed)

## Description

Send a variable to a specified node in a nonblock (asynchronous) way. The value should be retrieved by the node with the function MPI_Irecv.

## Examples

                    MPI_Init();
                    rnk =    MPI_Comm_rank();
                    sizeNodes =    MPI_Comm_size();

                    SLV = rnk;
                    Master = ~ SLV;

                    assert_checkequal(MPI_Comm_size(), 2);

                    if Master
                       for slaveId = 1:sizeNodes-1
                         value = slaveId*2
                         MPI_Isend(value, slaveId, 42);
                       end
                    else
                        rankSource=0;
                        tag=0;
                        MPI_Irecv(rankSource, tag, 42); // MPI_Irecv does not return any value
                        value=MPI_Wait(42) // the value will be returned by MPI_Wait
                        assert_checkequal(value,2);
                    end

                    MPI_Finalize();
                    exit()

## See Also

- MPI_Irecv
- MPI_Wait