Re: [mpich-discuss] Affinity with MPICH_ASYNC_PROGRESS
On 2/25/13 9:30 AM, Jeff Hammond wrote:
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.
Is it possible to add an option to force the progress engine to finish RMA ops once they start? That might help NWChem since it does larger transfers, particularly Acc. Could this be an MPICH-specific info key on the window?
I'm not sure if that mode of operation would be compatible with the basic CH3 architecture. We handle the data that has been received and then re-enter the progress engine, presumably because we could also receive data from other processes. I'm not sure that we have the option to block on communication with a particular process at that level. ~Jim.
participants (1)
-
Jim Dinan