I have always been told that calls like MPI_Barrior() MPI_Allreduce()
and MPI_Alltoall() should be avoided.
I understand MPI_Alltoall() as it goes n*(n-1) sends and thus grows
very very quickly. MPI_Barrior() is very latency sensitive and
generally is not needed in most cases I have seen it used.
But why MPI_Allreduce()?
What other functions should generally be avoided?
Sorry this is kinda off topic for the list :-)
Center for Advanced Computing