Skip to content

Commit 19b6410

Browse files
author
rhc54
committed
Merge pull request open-mpi#938 from jsquyres/pr/v1.10/dont-build-verbs-usnic-by-default
v1.10: verbs_usnic: do not build by default
2 parents 5c44af1 + d567735 commit 19b6410

File tree

3 files changed

+37
-5
lines changed

3 files changed

+37
-5
lines changed

README

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Copyright (c) 2004-2008 High Performance Computing Center Stuttgart,
88
University of Stuttgart. All rights reserved.
99
Copyright (c) 2004-2007 The Regents of the University of California.
1010
All rights reserved.
11-
Copyright (c) 2006-2015 Cisco Systems, Inc. All rights reserved.
11+
Copyright (c) 2006-2016 Cisco Systems, Inc. All rights reserved.
1212
Copyright (c) 2006-2011 Mellanox Technologies. All rights reserved.
1313
Copyright (c) 2006-2012 Oracle and/or its affiliates. All rights reserved.
1414
Copyright (c) 2007 Myricom, Inc. All rights reserved.
@@ -958,6 +958,20 @@ NETWORKING SUPPORT / OPTIONS
958958
directory>/lib64, which covers most cases. This option is only
959959
needed for special configurations.
960960

961+
--with-verbs-usnic
962+
This option will activate support in Open MPI for disabling a
963+
dire-sounding warning message from libibverbs that Cisco usNIC
964+
devices are not supported (because Cisco usNIC devices are supported
965+
through libfabric, not libibverbs). This libibverbs warning can
966+
also be suppressed by installing the "no op" libusnic_verbs plugin
967+
for libibverbs (see https://github.com/cisco/libusnic_verbs, or
968+
download binaries from cisco.com). This option is disabled by
969+
default because it causes libopen-pal.so to depend on libibverbs.so,
970+
which is undesirable to many downstream packagers.
971+
972+
--with-usnic
973+
Abort configure if Cisco usNIC support cannot be built.
974+
961975
RUN-TIME SYSTEM SUPPORT
962976

963977
--enable-mpirun-prefix-by-default

ompi/mca/common/verbs/common_verbs_basics.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@
2121
#include <unistd.h>
2222
#endif
2323

24+
#if OPAL_COMMON_VERBS_USNIC_HAPPY
2425
#include "ompi/mca/common/verbs_usnic/common_verbs_usnic.h"
26+
#endif
2527

2628
/* This is crummy, but <infiniband/driver.h> doesn't work on all
2729
platforms with all compilers. Specifically, trying to include it
@@ -93,12 +95,14 @@ int opal_common_verbs_fork_test(void)
9395
}
9496
#endif
9597

98+
#if OPAL_COMMON_VERBS_USNIC_HAPPY
9699
/* Now register any necessary fake libibverbs drivers. We
97100
piggyback loading these fake drivers on the fork test because
98101
they must be loaded before ibv_get_device_list() is invoked.
99102
Note that this routine is in a different common component (see
100103
comments over there for an explanation why). */
101104
ompi_common_verbs_usnic_register_fake_drivers();
105+
#endif
102106

103107
return ret;
104108
}

ompi/mca/common/verbs_usnic/configure.m4

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,26 @@ AC_DEFUN([MCA_ompi_common_verbs_usnic_COMPILE_MODE], [
3838
# ------------------------------------------------
3939
AC_DEFUN([MCA_ompi_common_verbs_usnic_CONFIG],[
4040
AC_CONFIG_FILES([ompi/mca/common/verbs_usnic/Makefile])
41-
common_verbs_usnic_happy="no"
41+
common_verbs_usnic_happy=0
4242

43-
OMPI_CHECK_OPENFABRICS([common_verbs_usnic],
44-
[common_verbs_usnic_happy="yes"])
43+
AC_ARG_WITH(verbs-usnic,
44+
AC_HELP_STRING([--with-verbs-usnic],
45+
[Add support in Open MPI to defeat a seemingly dire warning message from libibverbs that Cisco usNIC devices are not supported. This support is not compiled by default because you can also avoid this libibverbs bug by installing the libibverbs_usnic "no no" plugin, available from https://github.com/cisco/libusnic_verbs or in binary form from cisco.com]))
4546

46-
AS_IF([test "$common_verbs_usnic_happy" = "yes"],
47+
AS_IF([test "$with_verbs_usnic" = "yes"],
48+
[common_verbs_usnic_happy=1])
49+
50+
AS_IF([test $common_verbs_usnic_happy -eq 1],
51+
[OMPI_CHECK_OPENFABRICS([common_verbs_usnic],
52+
[common_verbs_usnic_happy=1],
53+
[common_verbs_usnic_happy=0])
54+
])
55+
56+
AC_DEFINE_UNQUOTED([OPAL_COMMON_VERBS_USNIC_HAPPY],
57+
[$common_verbs_usnic_happy],
58+
[Whether the common/usnic_verbs component is being built or not])
59+
60+
AS_IF([test $common_verbs_usnic_happy -eq 1],
4761
[$1],
4862
[$2])
4963

0 commit comments

Comments
 (0)