[mpich-discuss] Affinity with MPICH_ASYNC_PROGRESS
Jim Dinan
dinan at mcs.anl.gov
Mon Feb 25 09:22:00 CST 2013
On 2/25/13 9:08 AM, Jeff Hammond wrote:
> Is it the case that entering into MPI will lead to processing of all
> packets in an incoming RMA op? Does the receipt of the first packet
> from an MPI_Accumulate cause the target to sit inside of the progress
> engine until all packages in the message have arrived or does the
> passive target merely process the packets that arrive while it is
> inside of MPI and then return.
Hi Jeff,
It depends on the op. We start processing the op as soon as the packet
header arrives. For ops that send data to the target, if the data
(payload and datatype) has not all arrived at the time we enter the
progress engine, the op will be enqueued to finish later using an
internal/device-level request. Ops that send a response to the origin
process, always enqueue a request that completes when we finish sending
the response message. Some ops (notably, CAS and FOP and also Acc in
some cases) embed the data payload in the packet header, allowing us to
handle them completely with a single iteration through the progress engine.
~Jim.
More information about the discuss
mailing list