1
1

5269 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
e45be29f0d This function shouldn't have an ibv_ prefix -- it's not part of
verbs (it's just a static convenience function here in this file).  

This commit was SVN r23237.
2010-06-02 12:54:56 +00:00
Jeff Squyres
7676d5adda Change "intra-communicator" to "inter-communicator". Thanks to
Simon/Number Cruncher for reporting the typo.

This commit was SVN r23236.
2010-06-02 12:35:53 +00:00
Christopher Yeoh
712907affa Removing memory barriers which are not needed because of
the extra memory barriers which were added in r22880. This 
reverts all of r22879

This commit was SVN r23234.

The following SVN revision numbers were found above:
  r22879 --> open-mpi/ompi@768ea2bab0
  r22880 --> open-mpi/ompi@cd5294944b
2010-06-02 00:38:47 +00:00
Jeff Squyres
5d386fc678 Per #2420, string handling of the Fortran array_of_argv argument to
MPI_COMM_SPAWN_MULTIPLE was just wrong.  This commit renames a few
variables to make their meaning a bit more clear and fixes up all
known issues with converting a 2D array of Fortran strings to a set of
C-style argv vectors.

Fixes trac:2420.

This commit was SVN r23217.

The following Trac tickets were found above:
  Ticket 2420 --> https://svn.open-mpi.org/trac/ompi/ticket/2420
2010-05-28 12:40:42 +00:00
Jeff Squyres
620c0eb160 Be a little more verbose about argv / array_of_argv parameters to
MPI_Comm_spawn / MPI_Comm_spawn_multiple, particularly the Fortran
variants.

This commit was SVN r23216.
2010-05-28 11:57:45 +00:00
Jeff Squyres
0061f2170d ompi/mpi/c/request_get_status.c (MPI_Request_get_status): If
opal_progress is called then check the status of the request before
returning. opal_progress is called only once.  This logic parallels
MPI_Test (ompi_request_default_test).

Thanks to Shaun Jackman for submitting the patch.

This commit was SVN r23215.
2010-05-27 21:37:11 +00:00
Jeff Squyres
464bd8c56e Fix typo
This commit was SVN r23212.
2010-05-27 21:19:38 +00:00
Rolf vandeVaart
27f070a575 Start setting a flag when a port error is detected on the openib BTL.
At this point, it is just cleared (and ignored) so default behavior has not changed.
However, future failover support can take advantage of this flag.
Reviewed by Pasha Shamis.

This commit was SVN r23204.
2010-05-24 18:57:55 +00:00
Jeff Squyres
fec7918eea Some paffinity functions had their return status overloaded:
* If < 0, it's an OPAL_ERR_* value
 * If >= 0, it's the actual output value of the function

This is problematic for the OPAL_SOS stuff.  This commit changes those
functions to always return OPAL_* statuses and send the output value
back through output parameters (like 95% of the rest of the code
base).  This avoids the confusion with OPAL_SOS stuff and makes
paffinity work again (e.g., mpirun --bind-to-core ...).

I updated all paffinitiy modules for the new function signatures, and
bumped the paffinity API version up to 2.0.1.  I don't think the
version change will matter, though, because we'll be introducing
support for hardware threads soon, which will either bump the
paffinity version again or we'll replace paffinity with 
a new framework.

This commit was SVN r23197.
2010-05-21 16:55:28 +00:00
Shiqing Fan
857f1669e2 Solve a few compilation problems on Windows.
This commit was SVN r23193.
2010-05-21 14:30:15 +00:00
Edgar Gabriel
f6598138ba fix some instances, where we might have allocated 0 bytes. Also, for allgather
make sure that we do not call coll_gather and coll_bcast in the very same
instances, since some collective (intra) modules do not seem to like the fact
if they are called for scount or rcount being zero (for regular
intra-communicator operations, this is handled on the MPI API layer).

Fixes trac:2405

This commit was SVN r23188.

The following Trac tickets were found above:
  Ticket 2405 --> https://svn.open-mpi.org/trac/ompi/ticket/2405
2010-05-20 22:23:44 +00:00
Edgar Gabriel
5881719d84 checks for sendcount and recvcount(s) being zero have slightly different
consequences depending on whether the communicator is an intra or an inter
communicator. 

fixes trac:2415

This commit was SVN r23187.

The following Trac tickets were found above:
  Ticket 2415 --> https://svn.open-mpi.org/trac/ompi/ticket/2415
2010-05-20 22:21:26 +00:00
George Bosilca
b56ab33ff6 Indent and fix some uninitialized variables.
This commit was SVN r23179.
2010-05-19 21:20:33 +00:00
George Bosilca
c51932c250 Don't forget to initialize "line" in all cases.
This commit was SVN r23178.
2010-05-19 21:19:45 +00:00
Rolf vandeVaart
03b3e75f86 Add two arguments to the PML error callback function. This
allows the BTL to specify a specific ompi_proc_t that had an
error.  Also add an optional descriptive string.  Currently, arguments
are not used but will be by future failover PML. 
Changes based on RFC.  Reviewed by George Bosilca.

This commit was SVN r23174.
2010-05-19 11:55:45 +00:00
Abhishek Kulkarni
c63c4d6892 Fix bugs where (OMPI_ERROR == *) checks cannot be converted to (OMPI_SUCCESS != *) since the return codes are overloaded to return an "index" on success.
The fix is to just check if the return value is positive or not, since all the SOS encoded errors are *always* negative.

The real fix (as Ralph points out) is to change these functions (opal_pointer_array_add and mca_base_param*) to return the index as a pointer.

This commit was SVN r23173.
2010-05-18 20:54:11 +00:00
Josh Hursey
f57e73d4e5 add a few more missing SOS includes
This commit was SVN r23168.
2010-05-18 15:00:07 +00:00
Abhishek Kulkarni
afbe3e99c6 * Wrap all the direct error-code checks of the form (OMPI_ERR_* == ret) with
(OMPI_ERR_* = OPAL_SOS_GET_ERR_CODE(ret)), since the return value could be a
 SOS-encoded error. The OPAL_SOS_GET_ERR_CODE() takes in a SOS error and returns
 back the native error code.

* Since OPAL_SUCCESS is preserved by SOS, also change all calls of the form
  (OPAL_ERROR == ret) to (OPAL_SUCCESS != ret). We thus avoid having to
  decode 'ret' to get the native error code.

This commit was SVN r23162.
2010-05-17 23:08:56 +00:00
Jeff Squyres
91507e595f Fix bug reported on user list; set the errhandler type properly.
This commit was SVN r23145.
2010-05-15 13:04:32 +00:00
Rolf vandeVaart
9e300703ec Add reference to trac ticket as requested by code review.
This commit was SVN r23123.
2010-05-13 13:55:54 +00:00
Jeff Squyres
c7c3de87f5 Add ummunotify support to Open MPI. See
http://marc.info/?l=linux-mm-commits&m=127352503417787&w=2 for more
details.

 * Remove the ptmalloc memory component; replace it with a new "linux"
   memory component.
 * The linux memory component will conditionally compile in support
   for ummunotify.  At run-time, if it has ummunotify support and
   finds run-time support for ummunotify (i.e., /dev/ummunotify), it
   uses it.  If not, it tries to use ptmalloc via the glibc memory
   hooks. 
 * Add some more API functions to the memory framework to accomodate
   the ummunotify model (i.e., poll to see if memory has "changed").
 * Add appropriate calls in the rcache to the new memory APIs to see
   if memory has changed, and to react accordingly.
 * Add a few comments in the openib BTL to indicate why we don't need
   to notify the OPAL memory framework about specific instances of
   registered memory.
 * Add dummy API calls in the solaris malloc component (since it
   doesn't have polling/"did memory change" support).

This commit was SVN r23113.
2010-05-11 21:43:19 +00:00
Jeff Squyres
359d7e122e Fix a problem noted by Paul Kapinos: MPI_COMM_SET_ERRHANDLER and
MPI_WIN_SET_ERRHANDLER had their MPI handle parameters marked as INOUT
instead of IN, thereby disallowing passing pre-defined handles through
because they are constants (e.g., MPI_COMM_WORLD).  This wasn't really
a problem for MPI_WIN_SET_ERRHANDLER since there are no predefined
windows, but it wasn't right.

This commit was SVN r23098.
2010-05-04 20:05:35 +00:00
Ralph Castain
9dfb5c7c62 Rename the orte state framework to be "db", which more accurately reflects its overall capabilities since it can store any kind of data (not just state, although that will be its primary purpose). Update tools and tests accordingly. Add a daemon module for storing data on the daemons - requires --enable-multicast, so it won't build unless that is set
This commit was SVN r23082.
2010-05-03 04:11:03 +00:00
Matthias Jurenz
29f02d88c6 - fixed buffer overflow which occurred if marker or event comment records generated
- fixed bug in MPI-I/O tracing: tracking MPI file handles even if MPI_File_open isn't recorded
- fixed compiler warnings in the PAPI component
- incremented version number to 5.8.2

This commit was SVN r23074.
2010-04-30 10:04:26 +00:00
Jeff Squyres
b6e401a512 Fix minor typo.
This commit was SVN r23067.
2010-04-29 11:45:25 +00:00
Jeff Squyres
28046f601e Fix typos.
This commit was SVN r23055.
2010-04-28 00:07:04 +00:00
Ralph Castain
b9893aacc5 Add a sensor framework to ORTE that monitors applications and notifies the errmgr when they exceed specified boundaries. Two modules are included here:
1. file activity - can monitor file size, access and modification times. If these fail to change over a specified number of sampling iterations (rate is an mca param), then the errmgr is notified.

2. memory usage - checks amount of memory used by a process. Limit and sampling rate can be set.

This support must be enabled by configuring --enable-sensors.

ompi_info and orte-info have been updated to include the new framework.

Also includes some initial steps toward restoring the recovery capability. Most notably, the ODLS API has been extended to include a "restart_proc" entry for restarting a local process, and organizes the various ERRMGR framework globals into a single struct as we do in the other ORTE frameworks. Fix an oversight in the ERRMGR framework where a pointer array was constructed, but not initialized.

Implementation continues.

This commit was SVN r23043.
2010-04-26 22:15:57 +00:00
George Bosilca
321213e779 Fix segmentation fault on heterogeneous architectures. Don't mess with the
ompi_ptr_t by translating into void*. Instead keep it as an ompi_ptr_t all
the way. Thanks to Timur Magomedov for helping to track down this issue and
test the patch.

cmr:v1.4
cmr:v1.5

This commit was SVN r23030.
2010-04-23 15:14:55 +00:00
Shiqing Fan
077f6e6398 Type casts for building dynamical Fortran libraries.
And export correct function names.

This commit was SVN r23020.
2010-04-22 15:48:27 +00:00
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