On Thu, Mar 03, 2016 at 05:26:45PM -0500, dpchoudh . wrote: > Hello all > > Here is a 101 level question: > > OpenMPI supports many transports, out of the box, and can be extended to > support those which it does not. Some of these transports, such as > infiniband, provide hardware atomic operations on remote memory, whereas > others, such as iWARP, do not. > > My question is: how (and where in the code base) does openMPI use this > feature, on those hardware that support it? What is the penalty, in terms > of additional code, runtime performance and all other considerations, on a > hardware that does not support it?
Network atomics are used for oshmem (see Mike's email) and MPI RMA. For RMA they are exposed through the BTL 3.0 interface on the v2.x branch and master. So far we have only really implemented compare-and-swap, atomic add, and atomic fetch-and-add. Compare-and-swap and fetch-and-add are required by our optimized RMA component (ompi/mca/osc/rdma). -Nathan
pgpEIqAC77Pxc.pgp
Description: PGP signature