He's probably hitting the MPI address boundary of 2GB.
A workaround is to declare a user defined type (MPI_TYPE_CONTIGUOUS,
or MPI_TYPE_VECTOR), to bundle a bunch of primitive data (e.g. reals),
then send (broadcast for him/her) a smaller number of those types.
See this thread:
I hope this helps,
On Jan 3, 2011, at 11:47 AM, Brock Palen wrote:
> I have a user who reports that sending a broadcast of
> 540*1080 of reals (just over 2GB) fails with this:
> *** An error occurred in MPI_Bcast
> *** on communicator MPI_COMM_WORLD
> *** MPI_ERR_TRUNCATE: message truncated
> *** MPI_ERRORS_ARE_FATAL (your MPI job will now abort)
> I was reading the archives and there appears to be an issue with large messages. I was a little confused, is there a way to send messages larger than 2GB?
> The user has access to some IB machines, per a note in the archives there was an issue with writev() would this issue only be related to messages over ethernet?
> Thanks just trying to get some clarification.
> Brock Palen
> Center for Advanced Computing
> users mailing list