[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