Eugene,
It appears this is a sm BTL problem. The prepare_src function can be
called with any size. The BTL should check the size against the eager
and return a descriptor that match the size requested.
george.
On Feb 17, 2009, at 20:14 , Eugene Loh wrote:
(Rich: same question as I asked you in private e-mail.)
Should the first fragment of a message be an eager fragment even
when the message is long and a rendezvous protocol is employed?
So far as I can tell, a long MPI_Send starts like this:
MPI_Send()
mca_pml_ob1_send()
mca_pml_ob1_send_request_start()
mca_pml_ob1_send_request_start_btl()
http://svn.open-mpi.org/source/xref/ompi_1.3/ompi/mca/pml/ob1/pml_ob1_sendreq.h?r=20298#340
Here we see (e.g., line 368) that if we're over the eager limit, we
try to send the first fragment with "eager" size. Then,
mca_pml_ob1_send_request_start_rndv()
mca_bml_base_prepare_src()
mca_btl_sm_prepare_src()
But if we look at http://svn.open-mpi.org/source/xref/ompi_1.3/ompi/mca/btl/sm/btl_sm.c#mca_btl_sm_prepare_src
it appears to alloc a "MAX" (not EAGER) fragment. Is this a
"bug"? Should the BTL be allocating an EAGER fragment instead? Or,
could this function possibly be called with size>eager? Or, should
the BTL alloc a MAX *or* EAGER fragment depending on what size is
requested?
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel