[ofiwg] Per the very end of the call today

Hefty, Sean sean.hefty at intel.com
Fri Aug 1 17:03:42 PDT 2014

> At the end of the call today, I mentioned that the dlsym-like mechanism for
> getting vendor extensions could be a little tricky, depending on whether
> the provider was linked inside libfabric.<ext> or whether it was dlopened
> by libfabric.<ext>.
> Sean asked to see an example so that we could talk though it.
> After a little more thought, I realized that my assertion about it "being a
> little tricky" is wrong.  The dlsym-like mechanism should work exactly the
> same, regardless of whether the provider is linked inside libfabric.<ext>
> or is dynamically opened.

I was thinking about this more, and I'm not sure that the functionality of dlsym is exactly what is wanted.  Having the ability to open vendor-defined interfaces associated with a specific object is a better fit for the proposed model.

For example, suppose someone defines a set of strided data transfer operations, which easily allows referencing every Nth item in an array.  The API would be the same for all endpoint types, but the implementations would differ.  dlsym would either need different names for different endpoint types, or the retrieved function would be forced to have branches in order to handle the different endpoints.

I think a possible solution here is to define an open_if call as one of the base operations that all objects inherit.

- Sean

More information about the ofiwg mailing list