Hi All,

I ran into a problem with MPI_SCATTERV. When the sendcounts (scounts in code) is the same for every process, it works fine, but if the sendcounts is different (e.g., 1, 2, 3, 4 for 4 processes, respectively),  there will be error as follows:

Fatal error in PMPI_Scatterv: Message truncated, error stack:
PMPI_Scatterv(376)................: MPI_Scatterv(sbuf=0000000000000000, scnts=0000000000E16CD0, displs=0000000000E16CA0,
 MPI_INT, rbuf=0000000002BD0050, rcount=1, MPI_INT, root=0, MPI_COMM_WORLD) failed
MPIR_Scatterv_impl(187)...........:
MPIR_Scatterv(144)................:
MPIDI_CH3U_Receive_data_found(129): Message from rank 0 and tag 6 truncated; 16 bytes received but buffer size is 4

The code is simple as follows:

call MPI_SCATTERV(ja_in, scounts, displs, MPI_INT, ja, scounts, MPI_INT, 0, comm , ierr)

ja_in is allocated for process #0 and ja is allocated for every process. The size of ja_in and ja is big enough to hold large dataset.

Thanks and regards,

Danyang