Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Gleb Natapov (glebn_at_[hidden])
Date: 2007-05-27 14:25:15


On Sun, May 27, 2007 at 10:19:09AM -0600, Galen Shipman wrote:
>
> > With current code this is not the case. Order tag is set during a
> > fragment
> > allocation. It seems wrong according to your description. Attached
> > patch fixes
> > this. If no specific ordering tag is provided to allocation
> > function order of
> > the fragment is set to be MCA_BTL_NO_ORDER. After call to send/put/
> > get order
> > is set to whatever QP was used for communication. If order is set
> > before send call
> > it is used to choose QP.
> >
>
> I do set the order tag during allocation/prepare, but the defined
> semantics are that the tag is only valid after send/put/get. We can
> set them up any where we wish in the BTL, the PML however cannot rely
> on anything until after the send/put/get call. So really this is an
> issue of semantics versus implementation. The implementation I
> believe does conform to the semantics as the upper layer (PML)
> doesn't use the tag value until after a call to send/put/get.
>
With current approach send function doesn't know the difference between
fragment that should be ordered because PML requested it and regular
fragment without ordering requirements.

--
			Gleb.