title: Difference between All-to-All Reduction and All-Reduce in MPI
body: <p>Trying to figure out the difference between All-to-All Reduction and All-Reduce in open MPI. From my understanding All-to-One Reduction takes a piece <code>m</code> (integer, array, etc..) from all processes and combines all the pieces together with an operator (min, max, sum, etc..) and stores it in the selected process. From this i assume that All-to-All Reduction is the same but the product is stored in all the processes instead of just one. From <a href="http://mpitutorial.com/tutorials/mpi-reduce-and-allreduce/" rel="nofollow noreferrer">this</a> document it seems like All-Reduce is basically doing the same as All-to-All Reduction, is this right or am i getting it wrong? </p>