There are 2 answers for this question.
1. If only some of the processes on a communicator are on the same
node, then the point-to-point communications generated by the
collective call between these processes will always use shared memory
(if shared memory is enabled).
2. If all processes in the communicator are on the same node, a
special version of the collective will be used. Open MPI have special
version over shared memory for most of the MPI collective calls.
These shared memory aware collectives are supposedly faster than the
normal point-to-point version.
Hope this helps,
On Feb 23, 2007, at 7:29 AM, Lydia Heck wrote:
> I was asked by a user if the MPI allreduce recognizes when
> process ids are situated on the same node so that the communication
> can then proceed over shared memory rather over the slower networking
> communication channels.
> Would anyone of the openmpi developers be able to comment on
> that question and situation on that in openmpi?
> Dr E L Heck
> University of Durham
> Institute for Computational Cosmology
> Ogden Centre
> Department of Physics
> South Road
> DURHAM, DH1 3LE
> United Kingdom
> e-mail: lydia.heck_at_[hidden]
> Tel.: + 44 191 - 334 3628
> Fax.: + 44 191 - 334 3645
> users mailing list