I think having a parameter to turn off the warning is a great idea. So
great in fact, that it already exists in the trunk and v1.2 :)! Setting
the default value for the btl_base_warn_component_unused flag from 0 to 1
will have the desired effect.
I'm not sure I agree with setting the default to 0, however. The warning
has proven extremely useful for diagnosing that IB (or less often GM or
MX) isn't properly configured on a compute node due to some random error.
It's trivially easy for any packaging group to have the line
btl_base_warn_component_unused = 0
added to $prefix/etc/openmpi-mca-params.conf during the install phase of
the package build (indeed, our simple build scripts at LANL used to do
this on a regular bases due to our need to tweek the OOB to keep IPoIB
happier at scale).
I think keeping the Debian guys happy is a good thing. Giving them an
easy way to turn off silly warnings is a good thing. Removing a known
useful warning to help them doesn't seem like a good thing.
On Wed, 21 May 2008, Jeff Squyres wrote:
> What: Change default in openib BTL to not complain if no OpenFabrics
> devices are found
> Why: Many linuxes are shipping libibverbs these days, but most users
> still don't have OpenFabrics hardware
> Where: btl_openib_component.c
> When: For v1.3
> Timeout: Teleconf, 27 May 2008
> Short version
> Many major linuxes are shipping libibverbs by default these days.
> OMPI will therefore build the openib BTL by default, but then
> complains at run time when there's no OpenFabrics hardware.
> We should change the default in v1.3 to not complain if there is no
> OpenFabrics devices found (perhaps have an MCA param to enable the
> warning if desired).
> Longer version
> I just got a request from the Debian Open MPI package maintainers to
> include the following in the default openmpi-mca-params.conf for the
> OMPI v1.2 package:
> # Disable the use of InfiniBand
> # btl = ^openib
> Having this in the openmpi-mca-params.conf gives Debian an easy
> documentation path for users to shut up these warnings when they build
> on machines with libibverbs present but no OpenFabrics hardware.
> I think that this is fine for the v1.2 series (and will file a CMR for
> it). But for v1.3, I think we should change the default.
> The vast majority of users will not have OpenFabrics devices, and we
> should therefore not complain if we can't find any at run-time. We
> can/should still complain if we find OpenFabrics devices but no active
> ports (i.e., don't change this behavior).
> But for optimizing the common case: I think we should (by default) not
> print a warning if no OpenFabrics devices are found. We can also
> [easily] have an MCA parameter that *will* display a warning if no
> OpenFabrics devices are found.