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

2667 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
b0dfb9f401 usnic: avoid a possible race condition
Per #4874, code review revealed a possible race condition in the
module struct and the connectivity agent.  Move the setup of the
connectivity agent listener until the module struct has been fully
setup.

This commit was SVN r32573.
2014-08-22 02:34:24 +00:00
Jeff Squyres
a896f90712 btl_base_select: fix faulty/incorrect show_help message
When no components were able to be found, btl_base_select() was
showing the wrong help message -- one that indicated that a specific
component could not be found.  And it left off a string argument, so
the end of the help message was garbage.

This commit creates a new help message for this case and updates the
show_help call to use the new message.

This commit was SVN r32572.
2014-08-22 01:53:38 +00:00
Ralph Castain
aec5cd08bd Per the PMIx RFC:
WHAT:    Merge the PMIx branch into the devel repo, creating a new
               OPAL “lmix” framework to abstract PMI support for all RTEs.
               Replace the ORTE daemon-level collectives with a new PMIx
               server and update the ORTE grpcomm framework to support
               server-to-server collectives

WHY:      We’ve had problems dealing with variations in PMI implementations,
               and need to extend the existing PMI definitions to meet exascale
               requirements.

WHEN:   Mon, Aug 25

WHERE:  https://github.com/rhc54/ompi-svn-mirror.git

Several community members have been working on a refactoring of the current PMI support within OMPI. Although the APIs are common, Slurm and Cray implement a different range of capabilities, and package them differently. For example, Cray provides an integrated PMI-1/2 library, while Slurm separates the two and requires the user to specify the one to be used at runtime. In addition, several bugs in the Slurm implementations have caused problems requiring extra coding.

All this has led to a slew of #if’s in the PMI code and bugs when the corner-case logic for one implementation accidentally traps the other. Extending this support to other implementations would have increased this complexity to an unacceptable level.

Accordingly, we have:

* created a new OPAL “pmix” framework to abstract the PMI support, with separate components for Cray, Slurm PMI-1, and Slurm PMI-2 implementations.

* Replaced the current ORTE grpcomm daemon-based collective operation with an integrated PMIx server, and updated the grpcomm APIs to provide more flexible, multi-algorithm support for collective operations. At this time, only the xcast and allgather operations are supported.

* Replaced the current global collective id with a signature based on the names of the participating procs. The allows an unlimited number of collectives to be executed by any group of processes, subject to the requirement that only one collective can be active at a time for a unique combination of procs. Note that a proc can be involved in any number of simultaneous collectives - it is the specific combination of procs that is subject to the constraint

* removed the prior OMPI/OPAL modex code

* added new macros for executing modex send/recv to simplify use of the new APIs. The send macros allow the caller to specify whether or not the BTL supports async modex operations - if so, then the non-blocking “fence” operation is used, if the active PMIx component supports it. Otherwise, the default is a full blocking modex exchange as we currently perform.

* retained the current flag that directs us to use a blocking fence operation, but only to retrieve data upon demand

This commit was SVN r32570.
2014-08-21 18:56:47 +00:00
Mike Dubman
c3beb0472e openib/btl: better detect max reg memory. OFED has no runtime versioning API :(
based on http://www.open-mpi.org/community/lists/users/2014/08/25048.php

reviewed by AlexM
cmr=v1.8.2:reviewer=ompi-rm1.8

This commit was SVN r32569.
2014-08-21 12:12:43 +00:00
Gilles Gouaillardet
cfc0773c8c btl/scif: use safe syntax
Thanks to Ashley Pittman for pointing the modex should now be zero'ed

cmr=v1.8.2:ticket=trac:4871

This commit was SVN r32568.

The following Trac tickets were found above:
  Ticket 4871 --> https://svn.open-mpi.org/trac/ompi/ticket/4871
2014-08-21 10:32:05 +00:00
Mike Dubman
acd5a9acac udcm: psn should be 24 bit, new OFED actually checks and fails if it is not 24 bit.
This commit was SVN r32567.
2014-08-21 08:49:43 +00:00
Gilles Gouaillardet
59caebe3ea new opal hash table
Decrease the hash table size when an element is removed

cmr=v1.8.2:ticket=trac:4872

This commit was SVN r32566.

The following Trac tickets were found above:
  Ticket 4872 --> https://svn.open-mpi.org/trac/ompi/ticket/4872
2014-08-21 06:51:11 +00:00
Ralph Castain
ea94659bd9 Silence warning
Refs trac:4872

This commit was SVN r32565.

The following Trac tickets were found above:
  Ticket 4872 --> https://svn.open-mpi.org/trac/ompi/ticket/4872
2014-08-20 22:27:03 +00:00
Joshua Ladd
84d0cc27a2 Adding a new OPAL hash table routine. Contributed by David Linden of H.P. in partnership
with Mellanox Technologies. This should be added to 


cmr=v1.8.2:subject=New OPAL hash table:reviewer=rhc

This commit was SVN r32564.
2014-08-20 21:40:28 +00:00
Gilles Gouaillardet
3c1944054e btl/scif: use safe syntax
PGI compilers 2013 and older do not support the following syntax :
mca_btl_scif_modex_t modex = {.port_id = mca_btl_scif_module.port_id};
so split it on two lines

cmr=v1.8.2:reviewer=hjelmn

This commit was SVN r32555.
2014-08-20 02:48:47 +00:00
Jeff Squyres
0a398c155f opal MCA params: Move (and adapt) help message to opal help file
This commit was SVN r32547.
2014-08-16 11:54:41 +00:00
Jeff Squyres
ac7c907f8d usnic: ensure to have a safe destruction of an opal_list_item_t
It turns out that we ''can'' get to the endpoint destructor with the
endpoint still on the "endpoints needing ACKs" list.  So if it's on
the list, remove it first, and then DESTRUCT the opal_list_item_t.

This prevents an assert() fail in debug builds.  We'd like to let this
soak over the weekend.

cmr=v1.8.2:reviewer=dgoodell

This commit was SVN r32546.
2014-08-15 21:52:36 +00:00
Jeff Squyres
1cdcb7290b usnic: no need to check before calling this function
This function is intentionally always safe to call -- no need for a
double redundant check.

This commit was SVN r32545.
2014-08-15 21:39:29 +00:00
Jeff Squyres
082ab15d19 usnic: increase the listen() backlog size
Rarely -- but it happens -- the connectivity client gets ECONNREFUSED
because the connectivity agent listen() backlog is too small.  Rather
than put in a loop on the client side, take the simple way out for
now: increase the backlog size to an arbitrarily-large number.

Reviewed by Dave Goodell.

cmr=v1.8.2:reviewer=ompi-rm1.8

This commit was SVN r32543.
2014-08-15 19:12:18 +00:00
Jeff Squyres
9373d6420e usnic: when a module is finalized, "unlisten" the connectivity checker
Instead of waiting to destroy the connectivity agent during component
shutdown, have the module shutdown send an "unlisten" command to the
cagent that will tell it to stop listening on a given interface.

This commit was SVN r32536.
2014-08-15 00:52:43 +00:00
Jeff Squyres
6b592d3016 usnic: convert some BTL_ERRORs to more descriptive show_help messages
1. After we receive N abnormally-short messages (meaning: corrupted),
print a show_help message about it.  N defaults to 25.  N can be set
to 0 disable the message via btl_usnic_max_short_packets.
1. If we receive a completion error for something other than a
receive, display a show_help message.

Reviewed by Dave Goodell.

CMR'ing to v1.8.3, but it will require a custom patch because of the
OMPI->OPAL BTL move.

cmr=v1.8.3

This commit was SVN r32522.
2014-08-13 15:01:20 +00:00
Mike Dubman
5b90af601c btl/openib: add missing definition for ConnectX3 card
This commit was SVN r32521.
2014-08-13 13:56:34 +00:00
Howard Pritchard
4d6d4f46b0 switch udreg config macro to use pkg-config
This commit was SVN r32516.
2014-08-12 21:30:06 +00:00
Rolf vandeVaart
37dc9477d0 As requested in RFC and discussed at weekly meeting, change default setting of ibv_fork_init() to off.
Link to RFC: http://www.open-mpi.org/community/lists/devel/2014/07/15393.php

cmr=v1.8.3:reviewer=jsquyres

This commit was SVN r32514.
2014-08-12 20:57:11 +00:00
Rolf vandeVaart
fb835a3b04 Needs to be a plus.
This commit was SVN r32513.
2014-08-12 20:39:00 +00:00
Rolf vandeVaart
c53c981506 Fix initialization and cleanup code for CUDA-aware code. Eliminates all resource leaks.
This commit was SVN r32512.
2014-08-12 19:41:46 +00:00
Gilles Gouaillardet
b5d5388c6c silence warning on solaris 10
use HAVE_STRINGS_H to protect <strings.h> include

cmr=v1.8.2:reviewer=rhc:ticket=trac:4853

This commit was SVN r32510.

The following Trac tickets were found above:
  Ticket 4853 --> https://svn.open-mpi.org/trac/ompi/ticket/4853
2014-08-12 04:27:49 +00:00
Howard Pritchard
5bbcf5f7fb remove ompi comm related constructs from ugni btl
There were remaining references to size of MPI_COMM_WORLD,
etc. in ugni btl which prevented building of opal library
following btl move to opal.

Eventually another mechanism will need to be found for
providing hints to BTLs about how to setup internal
resources relevant to max. number possible endpoints, etc.

Conflicts:
	opal/mca/btl/ugni/btl_ugni_component.c

This commit was SVN r32507.
2014-08-11 16:15:39 +00:00
George Bosilca
de7191132d Remove few warnings.
This commit was SVN r32506.
2014-08-11 13:34:44 +00:00
Gilles Gouaillardet
623945466e silence a warning on Solaris
cmr=v1.8.2:reviewer=bgoglin

This commit was SVN r32503.
2014-08-11 11:00:55 +00:00
Gilles Gouaillardet
c28918c5cf silence warning on solaris 10
on solaris 10, bzero is declared in strings.h and not in string.h

cmr=v1.8.2:reviewer=rhc

This commit was SVN r32502.
2014-08-11 08:18:43 +00:00
Gilles Gouaillardet
f24699623f check-help-strings cleanup
This commit was SVN r32495.
2014-08-11 03:25:22 +00:00
Gilles Gouaillardet
b565e69b86 check-help-strings cleanup
This commit was SVN r32491.
2014-08-11 03:19:57 +00:00
Jeff Squyres
ca0ccc5321 headers: remove trailing commas in enum lists
Per http://www.open-mpi.org/community/lists/devel/2014/08/15576.php,
trailing commas are not valid in enum lists in C++ until C++11.

cmr=v1.8.2:reviewer=rhc

This commit was SVN r32482.
2014-08-09 12:04:17 +00:00
George Bosilca
beec6b4b4b Remove a lost #include.
This commit was SVN r32478.
2014-08-08 23:42:40 +00:00
Howard Pritchard
1e02bb056f openib btl check-help-strings cleanup
This commit was SVN r32470.
2014-08-08 20:40:18 +00:00
Jeff Squyres
65767aff68 usnic: remove errant OMPI header file
This commit was SVN r32469.
2014-08-08 20:34:50 +00:00
Rolf vandeVaart
876232e6d0 Fix previous checkin.
This commit was SVN r32468.
2014-08-08 18:58:25 +00:00
George Bosilca
5df7451429 Fix the #include for the common sm.
This commit was SVN r32467.
2014-08-08 18:30:27 +00:00
Howard Pritchard
a1f6ecf1e6 initial fixes for ugni btl move to opal
This commit was SVN r32466.
2014-08-08 18:02:46 +00:00
Jeff Squyres
323b9f346c usnic: update connectivity checker help message
Show an example of using the btl_usnic_connectivity_map option.  Also,
mention that another reason for the "total connectivity failure" may
be due to asymmetric / unexpected routing.

Reviewed by Dave Goodell.

cmr=v1.8.2:reviewer=ompi-rm1.8

This commit was SVN r32465.
2014-08-08 17:18:29 +00:00
Rolf vandeVaart
ac16af0bff Small fix for case where no libcuda.so.1 is found.
This commit was SVN r32461.
2014-08-08 16:05:19 +00:00
Ralph Castain
644089ed0b Avoid alignment issues in opal_value_t copies
cmr=v1.8.2:reviewer=rhc

This commit was SVN r32459.
2014-08-08 15:57:03 +00:00
Rolf vandeVaart
909cfa35aa Fix some error messages.
This commit was SVN r32458.
2014-08-08 14:33:46 +00:00
Jeff Squyres
040989edde btl_sm_component.c: update outdated topic for call to show_help
This commit was SVN r32456.
2014-08-08 13:35:52 +00:00
Jeff Squyres
2d2534a1bc btl_openib_component.c: remove inline logic and use 2 calls to show_help
The contrib/check-help-strings.pl gets confused if the topic is an
inline logic check, so separate it into two calls to show_help.

This commit was SVN r32455.
2014-08-08 13:35:29 +00:00
Jeff Squyres
b0897031f0 btl vader: removed unused helpfile
vader does not invoke show_help() at all -- all the topics in this
helpfile were copied from the original sm btl helpfile.

This commit was SVN r32454.
2014-08-08 13:35:05 +00:00
Jeff Squyres
eefa17026d windows: effectively revert r32449
The _strdup usage in opal/util/basename looks like it was a product of
Windows compatibility (see r11336), which we don't care about any
more.  Further, opal/win32/win_compat.h, which we sitll maintain for
cygwin compatibility, #define's strdup to _strdup (which is what
Microsoft wants you to use).  

So this old _strdup in opal/util/basename.c (and its corresponding
check in configure.ac) should just be removed.

This commit was SVN r32450.

The following SVN revision numbers were found above:
  r11336 --> open-mpi/ompi@a28b025150
  r32449 --> open-mpi/ompi@d5a3448b8b
2014-08-08 11:36:45 +00:00
Gilles Gouaillardet
d5a3448b8b Fix missing prototype for _strdup
_strdup is not part of any include file i could find on Solaris 10.
manually add the _strdup prototype if needed.

cmr=v1.8.2:reviewer=jsquyres

This commit was SVN r32449.
2014-08-08 02:51:56 +00:00
Jeff Squyres
c6d9bf906e configury: ensure wrapper static LIBS is filled properly
In core library portions of the configury (e.g., top-level
configure.ac itself), we were calling AC_CHECK_LIB and
OPAL_CHECK_FUNC_LIB to check for various libraries.

'''SIDENOTE:''' It turns out that modern Autoconf has AC_SEARCH_LIBS,
which does just about exactly what OPAL_CHECK_FUNC_LIB does.  So this
commit effectively replaces OPAL_CHECK_FUNC_LIB with AC_SEARCH_LIBS.

However, we never bothered to add these found libraries to the wrapper
compiler list of libraries used for static linking (doh!).  We've been
getting lucky for quite a while that components were adding the same
libraries to their wrapper compiler LIBS list.  

This is problematic, however, if we don't build some of these
components.  For example, Paul Hargrove noticed that if he configured
with --disable-shared --enable-static --disable-io-romio, ROMIO was no
longer adding some libraries to the wrapper LIBS list -- libraries
that just happened to also be needed by core OPAL/ORTE/OMPI layers.

The solution is not to use AC_CHECK_LIB or OPAL_CHECK_FUNC_LIB, but
use a pair of new macros:

 * OPAL_SEARCH_LIBS_CORE: a wrapper around AC_SEARCH_LIBS.  If we add
   something to $LIBS, then also add it to the wrapper list of static
   libraries.  This is the main piece of functionality that was
   wrong/missing.
 * OPAL_SEARCH_LIBS_COMPONENT: similar to OPAL_SEARCH_LIBS_CORE, but
   instead of directly adding it to the wrapper list of static
   libaries, add it to <framework>_<component>_LIBS (which eventually
   gets slurped up into the wrapper list of static libraries.  See the
   lengthy comment in config/opal_setup_wrappers.m4 near the beginning
   of OPAL_SETUP_WRAPPER_INIT() for a more detailed explanation).
   Most components did this correctly already, but one or two weren't
   right, so I implemented this second macro quite similar to the
   first and put it everywhere we already used AC_SEARCH_LIBS or
   OPAL_CHECK_FUNC_LIB.

This needs to soak for a day or two on the trunk before moving to the
v1.8 branch.

Refs trac:4834

cmr=v1.8.2:reviewer=ggouaillardet

This commit was SVN r32447.

The following Trac tickets were found above:
  Ticket 4834 --> https://svn.open-mpi.org/trac/ompi/ticket/4834
2014-08-07 23:54:45 +00:00
Jeff Squyres
6bf28a6940 usnic: update help messages
These messages were committed in the v1.8 branch in r32341, but were
never committed to the trunk (because we were waiting for the OPAL BTL
move).  This commit brings the trunk and v1.8 help messages in line
with each other.

This commit was SVN r32445.

The following SVN revision numbers were found above:
  r32341 --> open-mpi/ompi@5e752b4aba
2014-08-07 20:50:29 +00:00
Jeff Squyres
70f5a10128 usnic: fix typo from r32438
This commit was SVN r32440.

The following SVN revision numbers were found above:
  r32438 --> open-mpi/ompi@d2e31ac647
2014-08-06 19:29:46 +00:00
Jeff Squyres
d2e31ac647 usnic: Fix connectivity checker pointer mismatch
Ensure that the connectivity checker agent only uses pointers from the
client that is the same process as the agent.

Not necessary for the v1.8 branch -- this is a trunk/v1.9-only problem.

This commit was SVN r32438.
2014-08-05 23:07:01 +00:00
Jeff Squyres
34897cee9f usnic: unify teardown between trunk and v1.8 branches
Make the del_procs, module finalize, and endpoint destructors be the
same between trunk and v1.8, with one exception: the very beginning of
v1.8 module_finalize calls del_procs for each proc to simulate/pretend
the trunk/v1.9 PML behavior of calling del_procs before module_finalize.

This commit was SVN r32437.
2014-08-05 22:31:55 +00:00
Jeff Squyres
1a8d72119f usnic: Fix configure.ac typo
This commit was SVN r32436.
2014-08-05 22:31:07 +00:00