Hi, In Paris we've talked about putting HCA discovery and initialization code outside of openib BTL so other components that want to use IB will be able to share common code, data and registration cache. Other components I am thinking about are ofud and multicast collectives. I started to look at this and I have a couple of problems with this approach. Currently openib BTL has if_include/if_exclude parameters to control which HCAs should be used. Should we make those parameters global and initialize only HCAs that are not exulted by those filters, or should we initialize all HCAs and each component will have its own include/exclude filters? Another problem is how multicast collective knows that all processes in a communicator are reachable via the same network, do we have a mechanism in ompi to check this?
-- Gleb.