I'm not sure I follow this logic -- can you explain more?
Sure

Why does this only apply to binary distribution? If libibverbs is installed by default, then OMPI will still build the openib BTL (and therefore warn if it's not used). Granted, some distros will only install libibverbs if either explicitly or implicitly requested (e.g., via dependency). What if some other dependency pulls in libibverbs, even if OMPI was built from a source tarball?
My point is that it is not correct to say that libibverbs installed by defaults on all Linuxes and all users that will install ompi will see this problem. It possible that libibverbs maybe installed somehow implicitly as dependency package. But usually (not always) it will be installed as part of some IB native (openib only !) application.

If user will decide to upgrade his ompi + libibverb rpm/deb package install , he will be need to do a lot of other "annoying" steps, like: source code download, installing all required *-dev.rpm , compilation. And I guess that disabling the defaults warning messages will be simplest step on all the way :-)

I don't want to say that current solution is best one.
But I would like to find something better than disabling the warning by default only for openib.


Let me ask another question: is it common to have the verbs stack / hardware so hosed up that ibv_get_device_list() returns an empty list when there really is a device there? My assumption is that this is quite uncommon; that ibv_get_device_list() will usually return that there *are* devices and errors show up later during initialization, etc. Never say "never", of course; I'm sure that there are degenerate corner cases where a badly hosed device will cause ibv_get_device_list() to return an empty list -- but I'm assuming that those cases are very few and far between.
I can not say that it is very uncommon case.
For example:
1. Driver doesn't support the HCA - If I remember correct , RH40 by default doesn't support ConnectX hca . The device_list will be empty. It is very exotic case.
2. Driver version doesn't correspond with fw version
3. FW was broken
4. Driver was broken and failed to start - it is not very exotic case too. Some times user make some modification - upgrade/install/etc.. and it brakes driver.

In such cases, the ibv_devinfo(1) and ibv_devices(1) commands would show the same error.
Yep these utilities will show the same error.

Cases 1-2-3 we may cover pretty simple. OPENIB driver creates "/dev/infiniband" during his startup. So if /dev/infiniband exists and _get_device_list() is empty we may print warning.
I don't know how we can cover case 4 :-(

BTW I think that problem is relevant for all BTLs and not only openib and may be we need look for some global solution.

Pasha.

Reply via email to