What this error means is that you tried to send more data than you
tried to receive. Specifically, you sent N bytes and tried to
receive M, where M<N. MPI does not allow that.
As for the max size of messages that you can send, there are few
limits other than the amount of memory that you can allocate to a
single process. Theoretically, you can send as large a message as
you can have a buffer in your process (assuming that there's some
memory left over for Open MPI's internal state and buffering). Open
MPI sends large messages in fragments, so in the common case, we only
need to be able to have a bunch of fragments allocated at any time in
order to keep the network busy.
On Nov 20, 2006, at 2:19 PM, Miquel Dotcom wrote:
> I'm using openMPI for a paralelization of a fortran90 code. I came
> accross an error - when I try to send a matrix 400x450 of real*8
> (double) I get following error:
> [masada:05620] *** An error occurred in MPI_Recv
> [masada:05620] *** on communicator MPI_COMM_WORLD
> [masada:05620] *** MPI_ERR_TRUNCATE: message truncated
> [masada:05620] *** MPI_ERRORS_ARE_FATAL (goodbye)
> forrtl: error (78): process killed (SIGTERM)
> I understand that the amount of data that can be send by one
> MPI_SEND call is somehow limited - what is this limitation? can it
> be somehow augmented?
> best regards,
> Visca Paisos Catalans!
> devel mailing list
Server Virtualization Business Unit