Hi:

I'm running openmpi 1.2.8. I'm working on a project where one part involves communicating an integer, representing the number of data points I'm keeping track of, to all the processors. The line is simple:

    MPI_Allreduce(&np,&geo_N,1,MPI_INT,MPI_MAX,MPI_COMM_WORLD);

where np and geo_N are integers, np is the result of a local calculation, and geo_N has been declared on all the processors. geo_N is nondecreasing. This line works the first time I call it (geo_N goes from 0 to some other integer), but if I call it later in the program, I get the following error:


    [woodhen-039:26189] *** An error occurred in MPI_Allreduce
    [woodhen-039:26189] *** on communicator MPI_COMM_WORLD
    [woodhen-039:26189] *** MPI_ERR_TRUNCATE: message truncated
    [woodhen-039:26189] *** MPI_ERRORS_ARE_FATAL (goodbye)


As I understand it, MPI_ERR_TRUNCATE means that the output buffer is too small, but I'm not sure where I've made a mistake. It's particularly frustrating because it seems to work fine the first time. Does anyone have any thoughts?

Thanks
Wei

Reply via email to