MPI_Recv

Blocking receive for a message.

Syntax

  • r = MPI_Recv(Source, Tag)

  • [r, mpi_source, mpi_tag] = MPI_Reduce(Source, Tag, Comm)

Input argument

  • Source - an integer value: rank of source.

  • Tag - an integer value: message tag.

  • Comm - a MPI_Comm object.

Output argument

  • r - received value

Description

This function receives an array from a source node on a given communicator with the specified tag.

Throws an exception if there is an error.

Receive arrays of arbitrary complexity, including cell arrays, structures, strings, sparse, etc ...

See also

Example

mpiexec([modulepath('mpi'), '/examples/MPI_helloworld.m'], 4)

if ~MPI_Initialized()
  MPI_Init();
end
comm = MPI_Comm_object()
my_rank = MPI_Comm_rank (comm)
num_ranks = MPI_Comm_size(comm)

TAG= 1;
if (my_rank != 0)
  rankvect = 0;
  MPI_Send(rand(3,3) + my_rank, rankvect, TAG, comm);
else
  disp('MPI master receive:')
  for source = 1:num_ranks - 1
    disp(['From slave ', int2str(source)])
    message = MPI_Recv (source, TAG, comm);
    disp(message)
  end
end

if MPI_Initialized()
  MPI_Finalize();
end

History

Version
Description

1.0.0

initial version

Author

Allan CORNET

Last updated

Was this helpful?