On Mon, 23 Feb 2009, Jeff Squyres wrote:
> On Feb 23, 2009, at 10:37 AM, Eugene Loh wrote:
>> I sense an opening here and rush in for the kill...
>> And, why does the PML pass a BTL argument into the sendi function? First,
>> the BTL argument is not typically used. Second, if the BTL sendi function
>> wants to know what BTL it is,... uh, doesn't it already know??? Doesn't a
>> BTL know who it is? Why, then, should the PML have to tell it?
> I suspect that it's passing in the BTL *module* argument, which may have
> specific information about the connection that is to be used.
> Example: if I have a dual-port IB HCA, Open MPI will make 2 different openib
> BTL modules. In this case, the openib BTL will need to know exactly which
> module the PML is trying to sendi on.
Exactly. In multi-nic situations, the BTL argument is critical. Since
the SM btl never really does "multi-nic", it doesn't have to worry about
the btl argument.