In applications like matrix transposes or Fast Fourier Transforms (FFTs), an MPI_Alltoall call is very helpful. This is an extension to MPI_Allgather where each process sends distinct data to each receiver. The jth block from process i is received by process j and stored in the i-th block. A graphic representation of the MPI_Alltoall is shown below: