Thanks, it turns out, this was caused by an error earlier in the code, resolved on StackOverflow http://stackoverflow.com/questions/13290608/mpi-err-truncate-on-broadcast


On Fri, Nov 9, 2012 at 9:20 PM, Jeff Squyres <jsquyres@cisco.com> wrote:
Offhand, your code looks fine.

Can you send a small, self-contained example?


On Nov 8, 2012, at 9:42 AM, Lim Jiew Meng wrote:

> I have an int I intend to broadcast from root (rank==(FIELD=0)).
>
> int
>  winner
>
>
> if (rank == FIELD) {
>
>     winner
> = something;
> }
>
>
> MPI_Barrier
> (MPI_COMM_WORLD);
>
> MPI_Bcast
> (&winner, 1, MPI_INT, FIELD, MPI_COMM_WORLD);
>
> MPI_Barrier
> (MPI_COMM_WORLD);
> if (rank != FIELD) {
>
>     cout
> << rank << " informed that winner is " << winner << endl;
> }
> But it appears I get
>
> [JM:6892] *** An
>  error occurred in MPI_Bcast
>
> [JM:6892] ***
>  on communicator MPI_COMM_WORLD
>
> [JM:6892] *** MPI_ERR_TRUNCATE:
>  message truncated
>
> [JM:6892] *** MPI_ERRORS_ARE_FATAL: your MPI job will now abort
> Found that I can increase the buffer size in Bcast
>
> MPI_Bcast(&winner, NUMPROCS, MPI_INT, FIELD, MPI_COMM_WORLD);
> Where NUMPROCS is number of running processes. (actually seems like I just need it to be 2). Then it runs, but gives unexpected output ...
>
> 1 informed that winner is 103
> 2 informed that winner is 103
> 3 informed that winner is 103
> 5 informed that winner is 103
> 4 informed that winner is 103
> When I cout the winner, it should be -1
>
> Whats wrong? In a simple try, it appears to work:
>
>
>       MPI_Init(NULL, NULL);
>
>       MPI_Comm_size(MPI_COMM_WORLD, &numProcs);
>
>       MPI_Comm_rank(MPI_COMM_WORLD, &rank);
>
>
>
>       if (rank == 0) {
>
>               srand(time(NULL));
>
>               tmp = (rand() % 100) + 1;
>
>               cout << "generated " << tmp << endl;
>
>       }
>
>
>
>       MPI_Barrier(MPI_COMM_WORLD);
>
>       MPI_Bcast(&tmp, 1, MPI_INT, 0, MPI_COMM_WORLD);
>
>       MPI_Barrier(MPI_COMM_WORLD);
>
>
>
>       if (rank != 0) {
>
>               cout << rank << " received " << tmp << endl;
>
>       }
>
>
> _______________________________________________
> users mailing list
> users@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


--
Jeff Squyres
jsquyres@cisco.com
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/


_______________________________________________
users mailing list
users@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users