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

4890 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
359464a144 Add an "affinity" Open MPI extension (also describe the
--enable-mpi-ext configure switch in the top-level README file).

See Josh's excellent wiki page about OMPI extensions:

    https://svn.open-mpi.org/trac/ompi/wiki/MPIExtensions

This extension exposes a new API to MPI applications: 

{{{
int OMPI_Affinity_str(char ompi_bound[OMPI_AFFINITY_STRING_MAX],
                      char current_binding[OMPI_AFFINITY_STRING_MAX],
                      char exists[OMPI_AFFINITY_STRING_MAX]);
}}}

It returns 3 things.  Each are a prettyprint string describing sets of
processors in terms of sockets and cores:

 1. What Open MPI bound this process to.  If Open MPI didn't bind this
    process, the prettyprint string says so.
 1. What this process is currently bound to.  If the process is
    unbound, the prettyprint string says so.  This string is a
    separate OUT parameter to detect the case where some other entity
    bound the process (potentially after Open MPI bound it).
 1. What processors are availabile in the system, mainly for reference.

This commit was SVN r23018.
2010-04-21 17:28:08 +00:00
Shiqing Fan
d1e66bdd01 Use variables instead of hard-coded compiler flags, in order to support various C/C++ compilers on Windows.
This commit was SVN r23016.
2010-04-21 12:45:00 +00:00
Shiqing Fan
e539322807 Move definitions to the main config file.
This commit was SVN r23015.
2010-04-21 09:17:10 +00:00
Matthias Jurenz
d92819826b - fixed detection of older PGI compilers on CrayXT platforms
- added detection for Intel compilers on CrayXT platforms

This commit was SVN r23011.
2010-04-20 10:33:02 +00:00
Matthias Jurenz
1ae62f6fb6 Fixed the OpenMP barrier for the progress report which had a deadlock
This commit was SVN r22991.
2010-04-19 14:49:14 +00:00
Matthias Jurenz
8441b4f7e0 Improved configure tests for CrayXT platforms:
- added default option file
- added detection of the compiler loaded by the programming environment

This commit was SVN r22988.
2010-04-19 13:46:56 +00:00
Ralph Castain
4d06125a33 Establish a method by which a process knows if it has been bound by mpirun. This helps resolve a problem where a process gets "bound" to all available resources, which looks to the opal paffinity system as "not bound". This can cause mpi_init to attempt to "bind" the process itself, causing unintended behavior.
This commit was SVN r22985.
2010-04-17 01:58:26 +00:00
Ralph Castain
41428e6b61 Issue a warning if a requested binding operation results in processes being bound to all available processes, which is the equivalent of not being bound at all.
See the following email thread for further details:

http://www.open-mpi.org/community/lists/devel/2010/04/7745.php

This commit was SVN r22984.
2010-04-17 01:02:41 +00:00
Samuel Gutierrez
7654b39349 Fix segfault in two error paths.
This commit was SVN r22978.
2010-04-15 15:51:57 +00:00
Jeff Squyres
181331d65e Very minor nits/updates.
This commit was SVN r22977.
2010-04-15 14:44:55 +00:00
Rolf vandeVaart
892091c77d After fix 22669 was applied which allowed for more than 8 interfaces, it was discovered that the connection algorithm did not scale. Therefore, switch to a simpler algorithm in the extremely rare case when one has more than 8 interfaces. This commit fixes trac:2301.
This commit was SVN r22976.

The following Trac tickets were found above:
  Ticket 2301 --> https://svn.open-mpi.org/trac/ompi/ticket/2301
2010-04-14 14:18:35 +00:00
Matthias Jurenz
15a2260ca9 Do not build MPI Correctness Checking support inside Open MPI
This commit was SVN r22967.
2010-04-13 08:56:28 +00:00
Matthias Jurenz
175fd07de4 VT enhancements:
- extendet support for BlueGene/P:
	- building shared VT libraries
	- tracing 3rd-party libraries (e.g. libc I/O)
	- tracing multi-threaded applications 
VT configure fixes:
- fixed detection on CTool for 3rd-party library tracing
VT fixes:
- reduced memory overhead by using the trace buffer for string/array elements of some records
- do not shutdown call-stack if max. number of buffer flushes reached, because the additional function leaves suggest a wrong application flow
- vtunify-mpi:
	- fixed conversion of VTUnify_MPI_Aint arrays 
- vtwrapper:
	- if an OPARI modified object file (*.mod.o) cannot be renamed, abort only if the compiler wrapper runs in "only-compile" mode (-c) 
OTF fixes:
- otfinfo:
	- fixed and enhanced calculation of trace file size
	- changed unit of timer resolution (s -> Hz) 
- otfprofile:
	- fixed progress
	- kill '_' and '\' in process names to make LaTex happier

This commit was SVN r22963.
2010-04-13 07:20:56 +00:00
Rainer Keller
a48a11821b - mca_base_param_reg_string_name allocates default_pml.
As it is strdup, just free(default_pml).

   cmr:v1.5

This commit was SVN r22955.
2010-04-12 19:54:07 +00:00
Pavel Shamis
fc077a2102 Fix a minor bug in the error flow of check_if_device_support_modify_srq
Signed-off-by: Ishai Rabinovitz <ishai@mellanox.co.il> 

This commit was SVN r22953.
2010-04-12 11:28:44 +00:00
Rolf vandeVaart
0adb570693 Add pml_ob1_verbose flag. Fix the current location it is being used
This commit was SVN r22939.
2010-04-07 13:51:42 +00:00
Jeff Squyres
eaed49594c Fix typo (I'm assuming this was a copy-n-paste error :-) ).
This commit was SVN r22902.
2010-03-29 21:54:02 +00:00
Ralph Castain
24c3b4f849 Add the sysinfo framework to the "info" tools, especially since the odls_base_open function calls it!
This commit was SVN r22901.
2010-03-29 20:47:29 +00:00
Ralph Castain
522a23d6a3 A few changes to the FT-related configure options:
1. fix a bug that caused an infinite loop in configure when specifying want-ft but not want-ft-thread by removing a stale reference to the opal-progress-thread option

2. add want-ft=orcm so we can build the orcm errmgr component

3. cleanup the use of "ompi_want_ft_xxx" and replace it with "opal_want_ft_xxx" so that naming conventions are preserved

This commit was SVN r22885.
2010-03-25 22:53:48 +00:00
Christopher Yeoh
a6175bbefc Adds copyright notice that should have gone in with r22700
This commit was SVN r22881.

The following SVN revision numbers were found above:
  r22700 --> open-mpi/ompi@774a7a58b0
2010-03-25 04:03:52 +00:00
Christopher Yeoh
768ea2bab0 fixes trac:2351 - race in use of ompi free lists
Adds memory barriers which are definitely needed on powerpc

This commit was SVN r22879.

The following Trac tickets were found above:
  Ticket 2351 --> https://svn.open-mpi.org/trac/ompi/ticket/2351
2010-03-25 03:38:14 +00:00
Christopher Yeoh
81e06a2baf fixes trac:2340 - race in mca_mpool_base_free
This commit was SVN r22878.

The following Trac tickets were found above:
  Ticket 2340 --> https://svn.open-mpi.org/trac/ompi/ticket/2340
2010-03-25 03:29:27 +00:00
Christopher Yeoh
0b93c87c2c Correct year for copyright notices
This commit was SVN r22877.
2010-03-25 03:14:21 +00:00
George Bosilca
c0ff44b9fe Don't let ROMIO mishandle the displacement for contiguous data with a non-zero
true_lb. Thanks to Pascal Deveze for the patch.

This commit was SVN r22864.
2010-03-23 01:23:45 +00:00
Matthias Jurenz
f01f70b8f6 - added missing header include
- moved warning message into an ifdef of OTF_VERBOSE

This commit was SVN r22860.
2010-03-22 13:08:13 +00:00
Shiqing Fan
66f1f1a69a Need to export this function for MPI C++ library on Windows.
This commit was SVN r22856.
2010-03-22 09:09:49 +00:00
Ralph Castain
e291fc2c69 With Jeff's help, get the libraries to link as required.
Update ompi_info and orte-info to include the new framework.

Fix some selection logic and a typo'd variable name

Still remains ompi_ignored until we complete testing

This commit was SVN r22848.
2010-03-18 02:12:59 +00:00
Matthias Jurenz
9aec91838b Fixed segfault which might occur if the application uses fork's
This commit was SVN r22847.
2010-03-17 11:51:04 +00:00
George Bosilca
1ed7fe5057 The mpool should take the same route as the rest of the pcie modules.
This commit was SVN r22844.
2010-03-17 04:16:23 +00:00
Ralph Castain
b400b84162 Merge in the modified thread configure option branch per today's telecon.
Remove the --enable-progress-threads option as this is no longer functional, and hardcode OPAL_ENABLE_PROGRESS_THREADS to 0.

Replace the --enable-mpi-threads option with --enable-mpi-thread-multiple as this is clearer as to meaning. This option automatically turns "on" opal thread support if it wasn't already so specified. If the user specifies --disable-opal-multi-threads --enable-mpi-thread-multiple, we will error out with a message

Add a new --enable-opal-multi-threads option that turns "on" opal thread support without doing anything wrt mpi-thread-multiple

This commit was SVN r22841.
2010-03-16 23:10:50 +00:00
Ralph Castain
4990cc41b6 Remove stale config file - the pcie btl has already been removed
This commit was SVN r22840.
2010-03-16 23:06:38 +00:00
Jeff Squyres
7b3ac4fb73 Refs trac:2273
After talking to both Brian and George, the conensus was to just
remove the flag and the test function.  Begone, evil spirits, BEGONE!

This commit was SVN r22831.

The following Trac tickets were found above:
  Ticket 2273 --> https://svn.open-mpi.org/trac/ompi/ticket/2273
2010-03-16 00:47:10 +00:00
Rainer Keller
814fb9399f - Further patches for support on NetBSD (and DragonFly) by
Aleksej Saushev.
   Dont use bash or bashism in shell scripts
   We should use Posix' setpgid(0,0), which is equivalent to setpgrp().

This commit was SVN r22829.
2010-03-15 05:33:42 +00:00
Jeff Squyres
bb314911b3 If we get OMPI_ERR_UNREACH from the PML, print a slightly more
specific error.  Suggested by Nick Edmonds: 

    http://www.open-mpi.org/community/lists/users/2010/03/12339.php

This commit was SVN r22828.
2010-03-14 00:09:55 +00:00
Rainer Keller
f6e4694d67 - Print the name correctly when a certain sync module is disabled
This should be cmr'd to v1.5 and v1.4.2 (but the svn post hook won't
   let me at the moment).

This commit was SVN r22827.
2010-03-13 21:07:34 +00:00
Josh Hursey
e9b5162d79 Fix the configure logic for --with-ft so that it properly takes a comma separated list.
Many of the OPAL_ENABLE_FT should be OPAL_ENABLE_FT_CR, so fix those.

The OPAL Layer INC should call opal_output on restart so that it can refresh the string it prints to reflect the current pid/hostname which may have changed.

This commit was SVN r22824.
2010-03-12 23:57:50 +00:00
Matthias Jurenz
86e58eb6d3 VT configure fixes:
- skip test for libdl on BlueGene? and CrayXT platforms (particularly on CrayXT this library can be linked but it isn't suitable)
- set cache variables for functions 'PMPI_Win_test', 'PMPI_Win_lock', 'PMPI_Win_unlock', and 'MPI_Register_datarep', if VT is configuring for Open MPI
- added test for pthread functions 'pthread_condattr_<set|get>pshared' and 'pthread_mutexattr_<set|get>pshared', because they are not available on some platforms
VT fixes:
- cut 'nm' collected symbol names at '??'
- vtunify:
        - fixed unsafe usage of some strncpy's
        - fixed potential segmentation fault in vtunify-mpi which might occur on 32bit platforms using MPICH2
OTF general:
- updated date in copyright header of each source file
OTF fixes:
- minor code cleanups (indentation, nicer error messages, more correct free's)
- otfaux:
        - fix to place final statistics after the very last record instead of right before
        - changed fatal error to a warning when a file is closed twice (or unexpectedly)

This commit was SVN r22820.
2010-03-12 11:03:45 +00:00
Josh Hursey
3db01f0795 Add the process name to the error message resulting from a failed mmap(), open(), or ftruncate() so that it is slightly easier to figure out which process in the system caused the problem with sm.
This commit was SVN r22803.
2010-03-10 00:18:04 +00:00
Samuel Gutierrez
15f9f35a49 Another small typo fix.
This commit was SVN r22802.
2010-03-09 21:23:21 +00:00
Samuel Gutierrez
dcb5a2331f Fixed some typos in comments.
This commit was SVN r22801.
2010-03-09 20:41:25 +00:00
Rainer Keller
0feb158aaf - Since r22727 orte_app_idx_t was introduced, being a uint32_t (was
previously an orte_std_cntr_t, which is int32_t).
   Comparison with < 0 don't make any sense, here.

This commit was SVN r22799.

The following SVN revision numbers were found above:
  r22727 --> open-mpi/ompi@2541aa98ab
2010-03-08 22:56:33 +00:00
Rainer Keller
06f5ba1c19 - Reverse the logic (OPAL_LIKELY -> OPAL_UNLIKELY)
This commit was SVN r22796.
2010-03-08 14:00:59 +00:00
Jeff Squyres
95d7e08a66 More more discussion and testing has occurred off-ticket.
Short version: there is a bug in OS X/Snow Leopard, but there is also
a bug in Open MPI.  Fixing the bug in Open MPI is both trivial (a
1-line change) and avoids the bug in OS X.  We'll file an OS X bug
report upstream with Apple, but it should no longer affect us here in
OMPI.

Fixes trac:2039.

More details:

Some background first: 

 1. IPv4 sockets can only accept incoming IPv4 connections.  However,
    IPv6 sockets can be configured to accept ''only'' incoming IPv6
    connection, or ''both'' incoming IPv4 and IPv6 connections.  An
    IPv6 socket attribute sets which listening behavior is used.
 1. IPv4 and IPv6 have different port namespaces.  Hence, it is
    permissable to bind a v4 socket to port X ''and'' also bind a v6
    socket to that same port X on the same interface (assuming that
    the v6 socket is only accepting incoming v6 connections).
    Incoming v4 connections to port X on the interface should get
    matched to the listening v4 socket; incoming v6 connections should
    get matched to the listening v6 socket.
 1. When v6 sockets accept ''both'' incoming v4 and v6 connections, it
    should claim port X in both namespaces.
 1. Linux's default behavior is to only allow one listening socket to
    be bound to a given port (i.e., ''either'' a v6 or v4 socket to be
    bound to a single port X -- not both).  A v6 socket can listen for
    both v4 and v6 incoming connections on that port, but still --
    only one socket will be bound to that port.
 1. Snow Leopard's default behavior is to share ports -- i.e., let
    both a v4 and a v6 listening socket to be bound to port X
    (assuming that the v6 socket is only accepting incoming v6
    connections).

The TCP BTL creates a listening socket for each address family.
Hence, it creates a v4 listening socket on INADDR_ANY and a v6
listening socket on the v6 equivalent of INADDR_ANY.  OMPI then
iteratively tries to find ports to listen on within the range of
[mca_btl_tcp_port_min, mca_btl_tcp_port_min + mca_btl_tcp_port_range).

On Linux, the v4 socket will be bound to port X and the v6 socket will
likely be bound to port Y (where X != Y).  On Snow Leopard, the v4
socket will be bound to port X and the v6 socket may ''also'' be bound
to port X.  Since the namespaces are separate, this shouldn't be a
problem.

However, Open MPI was accidentally setting the v6 listening behavior
to accept ''both'' v4 and v6 incoming connections.  This is a trivial
thing to fix -- change a 0 to a 1 in the code.  On Linux, this issue
didn't matter because the v4 and v6 sockets were on different ports.
So even though the v6 socket ''would'' have accepted incoming v4
connections, that never happened because OMPI would direct v4
connections to the v4 port.

But on Snow Leopard, the v4 and v6 listening ports could end up
sharing the same port number.  As mentioned above, this ''shouldn't''
have been a problem, but it looks like Snow Leopard has the following
bugs:

 * If a v4 socket is already bound to port X, we're pretty sure that a
   v6 socket with the "accept both v4 and v6 incoming connections"
   listening behavior should not be able to claim port X (because
   there's already a v4 socket listening on X).  However, Snow Leopard
   would allow binding a v4 socket to port X, and then allow a v6
   socket configured to allow incoming v4 and v6 connections to
   ''also'' be bound to port X.
 * After binding the v6 socket to port X, Snow Leopard then lets
   ''another'' v4 socket ''also'' get bound to port X.  Hence, there's
   now '''three''' sockets all listening on port X.

This obviously led to mis-matched TCP connections, and things went
downhill from there.

That being said, Snow Leopard doesn't exhibit this behavior if v6
sockets only allow incoming v6 connections.  And technically, that is
exactly the behavior we want (we want v6 sockets to only accept
incoming v6 connections).  So if we just change the flag to make our
v6 listening socket us this behavior, the problem on OS X goes away.

That's what this commit does -- it changes a 0 to a 1, indicating
"only let this v6 socket allow incoming v6 connections."

That was simple, wasn't it?

This commit was SVN r22788.

The following Trac tickets were found above:
  Ticket 2039 --> https://svn.open-mpi.org/trac/ompi/ticket/2039
2010-03-05 17:37:57 +00:00
Matthias Jurenz
75d71239d1 Fixed bug in parsing nm-file:
Do not trigger a parse error if address is out of range. Ignore symbol instead.

This commit was SVN r22778.
2010-03-04 16:03:53 +00:00
Shiqing Fan
4c1fc87502 Set the compile flags for F77 on Windows more correctly.
This commit was SVN r22774.
2010-03-04 11:41:42 +00:00
Matthias Jurenz
5b9515225d - fixed stack shutdown if maximum number of buffer flushes was reached
- fixed potential stack underflow in vtfilter which might be cause a segmentation fault

This commit was SVN r22773.
2010-03-04 08:08:20 +00:00
Iain Bason
18d9e96301 Fixed two problems:
1. The code that looks at btl_tcp_if_exclude before doing a
   modex_send uses strcmp rather than strncmp. That means that
   "lo0" gets sent even though "lo" is excluded.

2. The code that determines whether a particular local TCP
   interface can connect to a particular remote interface doesn't
   check for loopback interfaces. With this fix, users can now
   enable "lo" and be assured that it will only be used for intra-
   node communication.

This commit was SVN r22762.
2010-03-03 15:51:15 +00:00
George Bosilca
ec7fcf3f91 While building the profiling interface, ignore the
I/O functions if support for I/O is not requested.

This commit was SVN r22761.
2010-03-02 21:05:04 +00:00
Ralph Castain
c88fe1ea54 Create a new mca parameter to control creation of session directories. Defaults to true so that the current behavior of always creating them is preserved. If set to false (0), then don't create session directories. Helps in those environments where session directories are a problem.
Tell the sm btl that it cannot run if no session directories were created.

This commit was SVN r22756.
2010-03-02 15:18:33 +00:00
Matthias Jurenz
5f368a094f Restored support for Automake's silent rules
This commit was SVN r22741.
2010-03-01 13:10:27 +00:00