1
1
Граф коммитов

3293 Коммитов

Автор SHA1 Сообщение Дата
Ralph Castain
b97caf8f05 Correct copy/paste error in example
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-11-02 10:33:28 -07:00
Ralph Castain
27f3d417ca Revert the MPI_Init fence operations to use volatile bool instead of thread macros.
The problem is that the waiting thread is cycling using OMPI_LAZY_WAIT_FOR_COMPLETION so it can exercise opal_progress. This probably isn't as critical for the modex step, but definitely necessary for the barrier at the end of mpi_init. The problem this creates is that the lazy macro exits as soon as "active" becomes false, and then we destruct the lock.

However, wakeup_thread sets "active" to false - and then calls the condition broadcast to wakeup any waiting threads. So there is a race condition between that broadcast and the lock destruct.

Add OPAL_ACQUIRE_OBJECT and OPAL_POST_OBJECT memory barriers to help protect against thread race conditions on some platforms

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-31 08:09:02 -07:00
Ralph Castain
7839dc91a8 Sync to PMIx v3.0 (master)
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-30 13:06:41 -07:00
Ralph Castain
36d7e752b6 I think we have all concluded that there is no good answer to locating the external libevent library, so surrender to the situation and simply remove that requirement. Users wanting to utilize the embedded PMIx library can install it, but will have to use mpicc _and_ add an explicit -lpmix to their cmd line to compile their application.
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-29 07:39:02 -07:00
Gilles Gouaillardet
5c61a4e3a5 configury: fix handling of external libevent library
Search external libevent library in both DIR/lib64 and DIR/lib
when --with-libevent=DIR is specified but --with-libevent-libdir=DIR is not

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-10-27 15:52:18 +09:00
Ralph Castain
ea3508b26b Sync to PMIx master (now v3.0)
Fix an apparent typo in external libevent configury
Require external libevent for install of separate libpmix

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-26 21:05:17 -07:00
Ralph Castain
01ed7548c4 Update to PMIx v3.0a
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-25 12:25:27 -07:00
Ralph Castain
8fbfe68754 Alter the PMIx embedded configuration so that we can build static with devel headers - if the builder requests that we install a separate libpmix, then don't prefix the PMIx variables.
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-24 21:45:27 -07:00
Ralph Castain
292983261a We should never block when requesting dmodex data from the PMIx server as this will block it from being able to accept connections from local clients. Do not deregister standing dmodx requests when a fence completes unless we actually collected the data in the fence
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-24 07:51:10 -07:00
bosilca
ac348da13a Merge pull request #4374 from bosilca/topic/osx_syslog
Topic/osx syslog
2017-10-23 18:06:36 -04:00
Ralph Castain
6ea3c8a0bd Update the interlib example to show an alternative method for model declaration. Add a missing range value to the OPAL layer. Make it easier to see OMPI model callbacks
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-23 11:27:42 -07:00
George Bosilca
8f32b345de
Address syslog issues on OSX 10.13 with gcc 7.x
gcc 7.[1,2] (at least) fails to correctly parse the OSX 10.13 sys/syslog.h
header. As a results we need to potect syslog support in OPAL, PMIX and
ORTE.

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2017-10-23 14:02:10 -04:00
Ralph Castain
a63904d47f Updates to support cross-version operations with OMPI v2.x
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-22 08:38:33 -07:00
Ralph Castain
f8ce31f13c Fix event registration so OpenMP/MPI coordination sides can both get notification of model declarations
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-19 18:06:38 -07:00
Howard Pritchard
e8bfd494e7 pmix/cray: define fence method for cray pmix
Turns out UCX PML calls opal_pmix.fence in its del procs
method without checking whether or not the fence method
for the pmix component was defined.  Rather than patch
UCX PML, actually define a fence method for the cray pmix.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-10-17 15:58:01 -06:00
Ralph Castain
60b338e857 Sync to PMIx v3. Ensure prun uses the ess/tool component.
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-14 08:24:57 -07:00
Ralph Castain
8ae10c9e1a Ensure we exit with an appropriate error code when hitting a PMI2 error
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-13 19:30:28 -07:00
Jeff Squyres
5705192151 configure: add --en|disable-show-load-errors-by-default
Give packagers a configure CLI option to set the value of the MCA
variable mca_base_component_show_load_errors.

The --disable form of this option is intended for Open MPI packagers
who tend to enable support for many different types of networks and
systems in their packages.  For example, consider a packager who
includes support for both the FOO and BAR networks in their Open MPI
package, both of which require support libraries (libFOO.so and
libBAR.so).  If an end user only has BAR hardware, they likely only
have libBAR.so available on their systems -- not libFOO.so.  Disabling
load errors by default will prevent the user from seeing potentially
confusing warnings about the FOO components failing to load because
libFOO.so is not available on their systems.

Conversely, system administrators tend to build an Open MPI that is
targeted at their specific environment, and contains few (if any)
components that are not needed.  In such cases, they might want their
users to be warned that the FOO network components failed to load
(e.g., if libFOO.so was mistakenly unavailable), because Open MPI may
otherwise silently failover to a slower network path for MPI traffic.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2017-10-11 11:02:21 -07:00
Ralph Castain
388034c814 Add support for the -v (verbose) option to prun and silence the "executing" and "completed" output otherwise.
Debounce "unreachable" notifications for tools when they disconnect
Enable the -x cmd line option for prun

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
(cherry picked from commit 0a5b36180a22959654461ac1303cec35313f8b4a)
2017-10-10 12:54:49 -07:00
Ralph Castain
c696e04c5e Since PMIx is moving to release v3.0, embed the new release candidate in opal/pmix framework. Move the pmix2x code over to the ext2x component. Create a new ext3x component
Remove some build product. Tell PMIx that we don't need a new nspace generated when OMPI calls connect
Add missing Makefile

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-09 13:51:08 -07:00
Ralph Castain
51f3fbdb3e Fix cmd line passing of DVM URI
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-06 18:10:46 -07:00
Ralph Castain
c3b239cee8 Sync to PMIx master
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-06 12:40:23 -07:00
Ralph Castain
5352c31914 Enable remote tool connections for the DVM. Fix notifications so we "de-bounce" termination calls
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-06 10:47:05 -07:00
Ralph Castain
073eff5dcd Update to track PMIx master
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-05 10:50:08 -07:00
Ralph Castain
c341b53475 Fix the embedded hwloc configure to always disable cuda support. Add definitions for updated hwloc objects when old external versions are used
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-04 11:35:20 -07:00
Mohan Gandhi
fa01fad2ca Merge pull request #4295 from mohanasudhan/iss4131
Btl tcp: Fix racing condition on simultaneous handshake
2017-10-03 17:14:24 -07:00
Mohan Gandhi
6d642e8d94 Btl tcp: Fix racing condition on simultaneous handshake
Their is racing condition in TCP connection establishment
during simultaneous handshake. This PR handles the fix for
it.

Signed-off-by: Mohan Gandhi <mohgan@amazon.com>
2017-10-03 13:13:43 -07:00
Ralph Castain
3ad5a40ba8 Sync to PMIx master
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-10-03 10:56:30 -07:00
Ralph Castain
57c14cbfed Sync to PMIx master to pickup a little bug fix
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-09-27 07:54:16 -07:00
Ralph Castain
d5db4ee965 Update to track PMIx master (v2.1.0)
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-09-25 10:24:13 -07:00
Jeff Squyres
db10da97e3 Merge pull request #4257 from jsquyres/pr/moar-hwloc-cuda-cleanup
hwloc2a/configure.m4: be more careful in with_cuda->enable_cuda
2017-09-25 11:35:33 -04:00
Brian Barrett
c768f980e1 reachable: Fix string length Coverity warning
Make sure hostnames are null terminated, even when they were
too long to fit in the hostname buffer.

Fixes: CID 1418232

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2017-09-24 19:38:45 -07:00
Jeff Squyres
2ec2a329dc hwloc2a/configure.m4: be more careful in with_cuda->enable_cuda
Be a little more deliberate about convering OMPI's --with-cuda CLI
value to hwloc's --enable-cuda configure option.

Also, unconditionally disable hwloc NVML support (because Open MPI is
not currently using it).

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2017-09-24 05:36:23 -07:00
Ralph Castain
5fed7330e7 Update the configure logic to separate the emitting of a libpmix library from with-devel-headers. Instead, we create a new --enable-install-libpmix expressly for that
purpose. Continue to link the new library back to libopen-pal to resolve the renamed symbols.

Update opal configure logic to set disable_dlopen when disable_mca_dso is given. Fix typos in disable_dlopen when setting variables (incorrect inclusion of quotes)

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-09-22 16:02:57 -07:00
Ralph Castain
3493c43468 Sync to PMIx master
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-09-22 10:48:00 -07:00
Ralph Castain
b4ad81da85 Silence warnings about verbose output
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
(cherry picked from commit 2c9655bb631742fd7693e00289d1949f4b2fc155)
2017-09-22 09:05:03 -07:00
Ralph Castain
9edea02b46 Merge pull request #4246 from rhc54/topic/spawn
Fully support OMPI spawn options.
2017-09-21 11:23:34 -07:00
Ralph Castain
fe9b584c05 Fully support OMPI spawn options. Fix a bug in the round-robin mappers where we weren't adding nodes to the job map node array, and so resources were not released
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
(cherry picked from commit 285d8cfef74ffc899e9c51e1d9c597b7fb2ceb89)
2017-09-21 10:29:27 -07:00
Brice Goglin
84a721d17a hwloc: disable GL and OpenCL in the hwloc component
Open MPI doesn't use GL or OpenCL OS devices, so just disable them in
hwloc.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2017-09-21 08:25:46 -07:00
Jeff Squyres
f5d51dc2f5 hwloc: do not build hwloc CUDA support if --without-cuda used
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2017-09-21 08:24:54 -07:00
bosilca
ab68aced23 Merge pull request #3738 from bosilca/topic/tcp_event_count
Fix the TCP performance impact when BTL not used
2017-09-19 23:08:58 -04:00
Brian Barrett
ae122c4b17 reachable: Change ownership to Amazon
Amazon is going to use the reachable framework to fix some connection
bugs in the TCP BTL, so claim support  ownership of the weighted and
netlink components.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2017-09-19 19:42:54 -07:00
Gabe Saba
9e53605a6f reachable: Implement netlink component
Wire up the libnl utilities Jeff and Ralph added previously to
the netlink reachable component so that it actually does work.
The algorithm is a bit simplistic, but should work for our use
cases.  If there's a route, assume the two interfaces can talk.
If there's no gateway, assume the two interfaces are in the
same subnet, and give preference to that connection.  If there's
a gateway, assume there's a route, but the interfaces are not
in the same subnet.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2017-09-19 19:42:54 -07:00
Gabe Saba
4d81006222 reachable: Add IPv6 support to libnl code
Add IPv6 support to the netlink component's utility
wrappers around libnl-3.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2017-09-19 19:42:54 -07:00
Brian Barrett
4d5bfd0429 reachable: Simplify gateway check in netlink
The netlink component's libnl wrapper code returned the
next hop in the route table to allow the calling code
to differentiate between same and different networks,
which is a fine comparison for IPv4, but is pretty
expensive for IPv6 (coming soon to a netlink component
near you).  Rather than provide extra information
(the address of the next hop), just provide whether
there is a gateway or not, which is all the netlink
component actually needs.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2017-09-19 19:42:54 -07:00
Brian Barrett
a543e7f130 reachable: remove libnl-1 support from netlink
The netlink reachable component has never been released in a usable
form, but had code copied from usNIC to support both libnl-1 and
libnl-3.  If nothing else, this code was a little buggy in
handling the case where libnl-3 but not libnl-route-3 were
installed.  Jeff and I decided to drop libnl-1 support from the
netlink reachable component, given that it's getting pretty old
and the weighted component provides the same information that
the TCP BTL and OOB are using today, so libnl-1 customers won't
see a step backwards from where they are today.

Signed-off-by: Brian Barrett <bbarrett@mazon.com>
2017-09-19 19:42:54 -07:00
Gabe Saba
3f8d294191 reachable: Enable weighted component / fix interface
Based on work from usNIC, the best way to use the reachability
information the reachable components return is to build a
connectivity graph between the two peers and run a bipartite
graph solver.  Rather than returning the "best" pairing,
the reachability framework now returns the entire mapping,
allowing a (soon to be added) graph solver to build the
"optimal" connectivity pairing.

Practically, this means changing the return type of the
reachable() function and rewriting the weighted_reachable()
function to return the full mapping.  The netlink_reachable()
function still always returns NULL.

At the same time, fix bit-rot in the weighted component and
enable builds of the component by removing the opal_ignore.
Also, add IPv6 support to the weighted component to support
both use cases in the TCP BTL.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2017-09-19 19:42:54 -07:00
Brian Barrett
6048c543fa reachable: Rename code copied from usnic
Ralph and Jeff created the reachable framework and added the
netlink component based on code copied from the usnic btl.
However, they never renamed all the symbols from the libnl
compatibility code.  This patch finishes the rename.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2017-09-19 19:42:54 -07:00
Ralph Castain
e575c4d6f9 Fix tool connection logic so we properly search for default session server, perform specified number of retries, etc.
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
(cherry picked from commit 7c755e01004f8b86c71f1729662979ea45ab1adb)
2017-09-19 13:35:46 -07:00
Ralph Castain
3b3ce243bb Merge pull request #4214 from karasevb/pmix1_hang_fix
pmix: fixed immediate request for PMIx v1.2
2017-09-19 06:51:25 -07:00