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

4299 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
70b02a0178 Sometimes we don't have a valid error code, so don't segv if
ompi_mpi_errnum_get_string() returns a NULL.

This commit was SVN r19670.
2008-10-01 21:42:08 +00:00
Aurelien Bouteiller
77fa3b5d4c Code to connect to event loggers over optimized MPI communication channels.
This commit was SVN r19669.
2008-10-01 18:42:43 +00:00
Aurelien Bouteiller
aded765084 Upgrade to the new mca version
This commit was SVN r19668.
2008-10-01 18:40:44 +00:00
Aurelien Bouteiller
73edda92db Take into account Ralph's comments. There is no duplicate functionnality with the rml base. Also fix a stupid typo bug.
This commit was SVN r19667.
2008-10-01 02:31:14 +00:00
George Bosilca
00d24bf8ab Scalability patch, or slim-fast effect #1. All BML structures just
got a whole lot smaller, decreasing the memory footprint of the
running application. How much it's a good question. Here is a
breakdown:

- in mca_bml_base_endpoint_t: 3 *size_t + 1 * uint32_t
- in mca_bml_base_btl_t: 1 * int + 1 * double - 1 * float
                         + 6 * size_t + 9 * (void*)

The decrease in mca_bml_base_endpoint_t is for each peer and the
decrease in mca_bml_base_btl_t is for each BTL for each peer.
So, if we consider the most convenient case where there is only
one network between all peers, this decrease the memory foot print
per peer by
9*size_t + 9*(void*) + 2 * int32_t + 1 * double - 1 * float.
On a 64 bits machine this will be 156 bytes per peer.

Now we access all these fields directly from the underlying BTL
structure, and as this structure is common to multiple BML endpoint,
we are a lot more cache friendly. Even if this do not improve the
latency, it makes the SM performance graph a lot smoother.

This commit was SVN r19659.
2008-09-30 21:02:37 +00:00
George Bosilca
b32e4e7f34 Nothing important, mainly replacing tabs with spaces.
This commit was SVN r19658.
2008-09-30 18:30:35 +00:00
George Bosilca
325d006577 Mostly cleanups, and eventually a little bit more scalable add_procs.
There was an argument that was barely used, and on return at the PML
level it contained nothing usable. It has been removed, so now we're
using less memory ...

This commit was SVN r19657.
2008-09-30 15:47:43 +00:00
Aurelien Bouteiller
89a2eea37a Add functions to access the opaque port_string and to add routes to a remote port. This is usefull for FT, but could also turn usefull when considering MPI3 extentions to the MPI2 dynamics.
This commit was SVN r19653.
2008-09-27 13:22:32 +00:00
Jeff Squyres
8b786cac04 The configure test we had for checking whether openib could build
(related to the presence of posix threads and ptmalloc2) is now a
little outdated: since we don't build ptmalloc2 as part of libopal
anymore, the openib BTL's requirements are not directly tied to
ptmalloc2's anymore.  Specifically, I altered the test to:

 1. At compile time, if no threads are found, the ptmalloc2 component
    is going to be built, '''and the ptmalloc2 component is going to be
    inside libopal,''' then refuse to build the openib BTL.
 1. At run time, if no threads were available at compile time and the
    ptmalloc2 component is part of the process, then refuse to use the
    openib BTL.

Fixes trac:1537.

This commit was SVN r19652.

The following Trac tickets were found above:
  Ticket 1537 --> https://svn.open-mpi.org/trac/ompi/ticket/1537
2008-09-27 11:19:21 +00:00
George Bosilca
2803de5298 Remove the protection around computing the remote size. This has to be done
always in a heterogeneous way in order to be able to support extern32. It
doesn't really matter as it is outside the critical path.

This commit was SVN r19651.
2008-09-26 23:11:53 +00:00
George Bosilca
ed0f5a18ce Typo.
This commit was SVN r19650.
2008-09-26 23:09:48 +00:00
Brian Barrett
76f47aaa1c Fix a bunch of compiler warnings. Refs trac:1458
This commit was SVN r19649.

The following Trac tickets were found above:
  Ticket 1458 --> https://svn.open-mpi.org/trac/ompi/ticket/1458
2008-09-26 16:15:05 +00:00
Jeff Squyres
8de0663ae0 Increase the size of MPI_MAX_PORT_NAME from 256 to 1024.
Rationale:

 1. This value has already changed since v1.2 (v1.2 MPI_MAX_PORT_NAME
    == 36).  Hence, this commit simply increases the value from a
    previous change.
 1. The changes does increase OMPI's memory footprint slightly, but
    only when using MPI-2 dynamics.  So it is expected that the change
    will have minimal impact on the overall footprint.
 1. The change is helpful for nodes that have 4 or more IP networks
    (e.g., regular ethernet and multiple IP-over-<pick your favorite
    high-speed network> networks).  Without this change, invoking
    MPI_COMM_SPAWN on hosts with 4 or more IP networks will fail
    because we'll exceed 256 bytes for the port name.  Some OMPI
    developer test clusters already have this kind of configuration
    (e.g., Cisco); it is expected that this is not too common in the
    real world yet, but with "manycore" coming, having multiple
    IP-based networks in a single server will likely become more
    common.

This commit was SVN r19638.
2008-09-25 16:47:17 +00:00
Ralph Castain
55738aeabe Very tiny modification of the output when displaying mca param values to clarify that ones found in the environment could have also been set on the cmd line - we don't have a way to distinguish them internally.
This commit was SVN r19636.
2008-09-25 13:08:17 +00:00
Jeff Squyres
627f1ecd36 Oops -- fix silly cut-n-paste error...
This commit was SVN r19630.
2008-09-24 20:17:54 +00:00
Jeff Squyres
d85aaf521a Also show the process name; it *is* useful, at least to us developers ;-)
This commit was SVN r19629.
2008-09-24 19:32:34 +00:00
Jeff Squyres
bbfac2dfb5 Based on a review by Ralph, no need to call getpid() or gethostname();
we already have them in orte_process_info.  Refs trac:1523.

This commit was SVN r19615.

The following Trac tickets were found above:
  Ticket 1523 --> https://svn.open-mpi.org/trac/ompi/ticket/1523
2008-09-23 20:04:34 +00:00
Jeff Squyres
4c558ed637 Enable aggregation checking for "*** An error occurred..." MPI layer
help messages so that users only see the message once instead of N
times when their MPI app crashes.

Note that there is a tradeoff here -- we now call malloc in this
particular "show the error" code path.  This shouldn't usually be a
problem, because the errors typically displayed through this mechanism
are MPI API argument problems (e.g., sending a negative count to
MPI_SEND), and not memory errors.  But such API argument errors could
be a consequence of of a prior memory error, so there's a nonzero
chance that the error failure will fail to print because malloc
failed.  In this case, the user can disable help message aggregation
(via the orte_base_want_aggregate MCA parameter) and we'll fall back
to the no-malloc code path (but without aggregation).

Note that we won't aggregate before MPI_INIT or after MPI_FINALIZE.
So if you call an MPI function before MPI_INIT / after MPI_FINALIZE,
you'll still see the error message N times.  Nothing we can do about
that; we need ORTE to do the aggregation properly (which is obviously
unavailable before MPI_INIT / after MPI_FINALIZE).

This commit was SVN r19611.
2008-09-23 17:19:24 +00:00
Jeff Squyres
a676874f47 Disable global ID resolution when sparse groups are used. Tested by
Terry and George in the non-sparse-groups scenarios.  Fixes trac:1464.

Will file a new ticket to actually resolve IDs when sparse groups are
used.

This commit was SVN r19610.

The following Trac tickets were found above:
  Ticket 1464 --> https://svn.open-mpi.org/trac/ompi/ticket/1464
2008-09-23 16:27:01 +00:00
Jeff Squyres
d6696c46a6 Oops -- sometimes we actually pass NULL for the error_code. Make sure
to handle that nicely without segv'ing.

This commit was SVN r19603.
2008-09-22 17:41:39 +00:00
Jeff Squyres
5fd742e769 Add in the standardized way to notify a debugger if the MPI job is
about to abort.  Fixes trac:1509.

This commit was SVN r19596.

The following Trac tickets were found above:
  Ticket 1509 --> https://svn.open-mpi.org/trac/ompi/ticket/1509
2008-09-20 11:34:37 +00:00
Matthias Jurenz
5755d35045 Removed - This file will be created by autotools
This commit was SVN r19591.
2008-09-19 15:09:46 +00:00
Jeff Squyres
7d119a1c3b Fix CID 1116: ensure to check return code (patch approved by George
:-) ).

This commit was SVN r19584.
2008-09-19 13:28:04 +00:00
Jeff Squyres
d0a8be6d2f Fix CID 1117: ensure to check return values.
This commit was SVN r19583.
2008-09-19 13:27:30 +00:00
Matthias Jurenz
d42592113b Fixed compiler warning (unused variable)
This commit was SVN r19577.
2008-09-17 14:39:19 +00:00
Josh Hursey
778e387618 fix a compiler warning
This commit was SVN r19574.
2008-09-17 14:01:31 +00:00
Josh Hursey
80d05cf957 Cleanup the patch from r19566.
Thanks to George and Jeff for pointing out a better way to do this.

This commit was SVN r19573.

The following SVN revision numbers were found above:
  r19566 --> open-mpi/ompi@351c3a3a86
2008-09-17 13:55:21 +00:00
Jeff Squyres
d2d06008a0 Change the default value of mpi_leave_pinned to -1, meaning that we'll
figure it out at runtime (really meaning: we'll still default to "0"
unless something explicitly overrides to 1, such as the openib BTL).
This way, ompi_info doesn't confusingly report mpi_leave_pinned==0 for
mpi_leave_pinned, but we end up running with mpi_leave_pinned==1.

Fixes trac:1502.

This commit was SVN r19571.

The following Trac tickets were found above:
  Ticket 1502 --> https://svn.open-mpi.org/trac/ompi/ticket/1502
2008-09-16 22:06:14 +00:00
Josh Hursey
351c3a3a86 The ft_event function needs access to the bml_r2_remove_btl_progress() to ensure
that all progress events are flushed as needed across a checkpoint/restart.

This commit was SVN r19566.
2008-09-16 19:06:53 +00:00
Jeff Squyres
270f482fea Addendum to r19561: also remove a comment that is no longer true and
some code that is commented out.

This commit was SVN r19564.

The following SVN revision numbers were found above:
  r19561 --> open-mpi/ompi@17e65369be
2008-09-16 13:02:10 +00:00
George Bosilca
6a9514ee08 Make the code match the comment. I checked with Jelena, and based on the papers we
published this is the expected algorithm for the specified message and communicator
size.

This commit closes ticket #1330.

This commit was SVN r19563.
2008-09-15 23:28:40 +00:00
George Bosilca
acd3406aa7 Never drop messages. No never no more.
This is supposed to fix the ticket #1460.

This commit was SVN r19562.
2008-09-15 23:04:18 +00:00
George Bosilca
17e65369be Fix the deadlock when we run out of resources on the BTLs. Move the progress
function from the BML into the PML. The BTL progress functions are now directly
registered with the event library.

This commit was SVN r19561.
2008-09-15 22:56:23 +00:00
Jeff Squyres
4cf909a932 Fix a typpppo (thanks Rolf!).
This commit was SVN r19549.
2008-09-11 21:43:01 +00:00
Jeff Squyres
f794580bbe Print a [much] better error message when MPI processes are unable to
reach each other (this problem just bit me; I had forgotten how horrid
our previous error message was).

This commit was SVN r19548.
2008-09-11 20:52:58 +00:00
Jeff Squyres
eeabae49b9 Per http://www.open-mpi.org/community/lists/devel/2008/09/4648.php,
remove the unconditional opal_output's when mmap() fails, and instead,
conditionally output the failure message via btl_base_verbose settings.

This commit was SVN r19547.
2008-09-11 19:02:33 +00:00
Ralph Castain
e44ac3f36d Remove some historical, but now unused, cruft
This commit was SVN r19545.
2008-09-11 12:49:11 +00:00
Rainer Keller
5c58b4e7cd - Move the OMPI_DECLSPEC from .c to .h
file. breaks windows compilation. see r19502

This commit was SVN r19544.

The following SVN revision numbers were found above:
  r19502 --> open-mpi/ompi@ce42e749a0
2008-09-11 12:26:33 +00:00
Josh Hursey
36185ad964 Replace the old coordinated component ('coord') and replace it with a much more refined version ('bkmrk').
The new component fixes a number of problems with the old component. The core algorithm is the same, but by changing the data strucutres a bit we have improved performance and memory utilization.

There are still a couple corner cases that still need some work. However, I did not want to delay bringing this into the trunk (and v1.3 branch) for too much longer.

This commit was SVN r19537.
2008-09-10 18:29:17 +00:00
Rolf vandeVaart
1ad9d0459e Add a check for LOCK_SHARED in the sys/synch.h file. If it exists then smash it to avoid problems with preprocessor and C++.
This fixes trac:1477.

Help provided by Jeff and Terry.

This commit was SVN r19533.

The following Trac tickets were found above:
  Ticket 1477 --> https://svn.open-mpi.org/trac/ompi/ticket/1477
2008-09-10 12:58:30 +00:00
Rolf vandeVaart
3193cf1008 Fix workaround for Sun Studio compilers and message queue when compiling with threads.
This commit was SVN r19528.
2008-09-09 13:46:36 +00:00
Jeff Squyres
0ae2c27d3b Ensure that the mutex is properly constructed/destructed.
This commit was SVN r19527.
2008-09-09 12:57:45 +00:00
Rainer Keller
1d7fd1f51d - Initialize the lock as well
Found by Christoph Niethammer using the mpi_test_suite

This commit was SVN r19523.
2008-09-09 08:01:41 +00:00
Shiqing Fan
04ee20a880 - Mainly type casts. Microsoft VC++ compiler is too strict.
This commit was SVN r19517.
2008-09-08 15:39:30 +00:00
Jeff Squyres
ec6cffcd71 Patch originally from George to improve ROMIO's performance when
checking for contiguous datatypes by using our native DDT engine
(rather than several MPI_* calls).  The majority of the work is in the
IO ROMIO module.c file, but there's a small part in
adio/common/iscontig.c that we're also submitting upstream.

This commit was SVN r19509.
2008-09-06 09:50:12 +00:00
George Bosilca
579d70edad We should use #ifdef and not #if
This commit was SVN r19504.
2008-09-05 12:44:19 +00:00
Jeff Squyres
1382b29aa3 Add the MPI::Comm::Call_errhandler() function (it was previously
missing!).  Fixes trac:1483.

This commit was SVN r19503.

The following Trac tickets were found above:
  Ticket 1483 --> https://svn.open-mpi.org/trac/ompi/ticket/1483
2008-09-05 12:26:06 +00:00
Rainer Keller
ce42e749a0 - Well, thanks MTT, OPAL_DECLSPEC needs to be on, since the
attribute_visibility
 - Some other older minor changes (indentation)

This commit was SVN r19502.
2008-09-05 07:47:54 +00:00
Nysal Jan
3b51258b13 Remove redundant code
Refs trac:1463

This commit was SVN r19501.

The following Trac tickets were found above:
  Ticket 1463 --> https://svn.open-mpi.org/trac/ompi/ticket/1463
2008-09-05 04:29:21 +00:00
Nysal Jan
4b68803260 Should be coords(i) >= dims(i)
Refs trac:1463

This commit was SVN r19500.

The following Trac tickets were found above:
  Ticket 1463 --> https://svn.open-mpi.org/trac/ompi/ticket/1463
2008-09-05 04:20:48 +00:00
Jeff Squyres
35c5863739 Remove a bit of redundant code -- this is error condition is now
checked in the top-level API.

This commit was SVN r19497.
2008-09-04 22:24:59 +00:00
George Bosilca
10b4664e9c Fix the problem with the unexpected MX handler. The Solution so far is to
mostly don't use this mechanism, as we have to be thread safe in order to
really take full advantage of it. The unexpected handler is called by one
of th MX threads, and we do not have control on the moment. In a non threaded
case, this will completely destroy our recv requests queues, so the safest
approach is to don't the unexpected handler.

This commit was SVN r19496.
2008-09-04 15:46:29 +00:00
George Bosilca
9e0d64b9e5 Add a send immediate for MX.
This commit was SVN r19495.
2008-09-04 15:43:56 +00:00
Jeff Squyres
46da10ff08 An optimization/improvement from our old way of providing
MPI::SEEK_SET and friends, suggested by Doug Gregor.  This way allows
users to utilize SEEK_SET in a case statement, which they could not do
with our previous method.

This commit was SVN r19494.
2008-09-04 15:02:52 +00:00
Jeff Squyres
7b05a14d9a Back up r19489, which was the result of a "svn ci -m ..." instead of
an "hg ci -m ...".  Oops.

This commit was SVN r19490.

The following SVN revision numbers were found above:
  r19489 --> open-mpi/ompi@ea866f9e26
2008-09-03 08:45:33 +00:00
Jeff Squyres
ea866f9e26 Up to SVN r19488
This commit was SVN r19489.

The following SVN revision numbers were found above:
  r19488 --> open-mpi/ompi@c0b8a4a9b5
2008-09-03 08:35:59 +00:00
Jeff Squyres
9a98423bbc [Re-]Fix #1463 with a little thing that I like to call "the right
way".

Don't modify coords in the top-level API function because coords is an
IN variable.  Instead, as Nysal noted, the real cause of the problem
was a missing ! down in topo_base_cart_rank.c.  Put a comment down in
topo_base_cart_rank.c explaining what's going on so that the code is
not so cryptic.

Refs trac:1363.

This commit was SVN r19487.

The following Trac tickets were found above:
  Ticket 1363 --> https://svn.open-mpi.org/trac/ompi/ticket/1363
2008-09-03 08:24:27 +00:00
Rainer Keller
33c6dae93a - As shown in ticket #1349, the status is not copied
correctly in case of MPI_PROC_NULL with persistent requests.

   As of r12339, the req_status of the request is initialized
   correclty and being used in {{{ompi_request_test}}} and
   {{{ompi_request_wait}}}.
   So, just set the status, getting rid of the if-statement.
   Checked by Jeff using mtt.

This commit was SVN r19485.

The following SVN revision numbers were found above:
  r12339 --> open-mpi/ompi@020efdf1f9
2008-09-02 15:36:10 +00:00
Shiqing Fan
7a1418f3d9 - ompi_mpi_abort() is referenced in osc_rdma_* and osc_pt2pt_*, should be exported.
This commit was SVN r19472.
2008-09-01 17:37:32 +00:00
Jeff Squyres
c3b58851c3 Ensure to properly DESTRUCT ompi_registered_datareps. This fixes the
second part of #1472 (fixes trac:1472).

This commit was SVN r19466.

The following Trac tickets were found above:
  Ticket 1472 --> https://svn.open-mpi.org/trac/ompi/ticket/1472
2008-09-01 06:01:06 +00:00
George Bosilca
b192892691 Release the hash tables and all data-types used for storing the F90
types.

This commit was SVN r19465.
2008-08-31 22:37:26 +00:00
George Bosilca
bf25b3339d Minor cleanup.
This commit was SVN r19464.
2008-08-31 21:03:39 +00:00
George Bosilca
517cacffe6 In fact these variables are never referenced from outside the libmpi (at
least they should not). Therefore, let's make them hidden.

This commit was SVN r19463.
2008-08-31 20:58:23 +00:00
Jeff Squyres
501695d462 Instantiate the hash tables referenced in r19458. I still think we
need to clean them up during ompi_mpi_finalize(), though...

This commit was SVN r19462.

The following SVN revision numbers were found above:
  r19458 --> open-mpi/ompi@697dc524c1
2008-08-31 19:56:39 +00:00
Jeff Squyres
008fa8c5cc Fixes trac:1236, #1237.
* Various changes to enable 0-dimensional cartesian communicators:
   * Set various mtc_* members to NULL when there are 0 dimensions (and
     don't bother trying to memcpy these arrays when duplicating the
     communicator -- because they're NULL)
   * adjust topo_base_cart_sub to correctly handle 0 dimensions
     (simplified it a bit)
   * adjust a few error codes to return ERR_OUT_OF_RESOURCE
   * adjust error checking of CART_CREATE, CART_RANK
 * Allow MPI_GRAPH_CREATE to accept 0 == nnodes.
 * Bump reported MPI version in mpi.h to 2.1

This commit was SVN r19461.

The following Trac tickets were found above:
  Ticket 1236 --> https://svn.open-mpi.org/trac/ompi/ticket/1236
2008-08-31 19:31:10 +00:00
Jeff Squyres
59cb626b7c Fixes trac:1463: ensure periodic dimensions are handled proprly for
MPI_CART_RANK. 

This commit was SVN r19459.

The following Trac tickets were found above:
  Ticket 1463 --> https://svn.open-mpi.org/trac/ompi/ticket/1463
2008-08-31 18:39:05 +00:00
George Bosilca
697dc524c1 Deal with the ticket #1239 and #712. This will upgrade the Open MPI support
for the F90 type create functions to the requirements of MPI 2.1 standard.

Advice to implementors. An application may often repeat a call to
MPI_TYPE_CREATE_F90_xxxx with the same combination of (xxxx,p,r).
The application is not allowed to free the returned predefined, unnamed
datatype handles. To prevent the creation of a potentially huge amount of
handles, the MPI implementation should return the same datatype handle for
the same (REAL/COMPLEX/INTEGER,p,r) combination. Checking for the
combination (p,r) in the preceding call to MPI_TYPE_CREATE_F90_xxxx and
using a hash-table to find formerly generated handles should limit the
overhead of finding a previously generated datatype with same combination
of (xxxx,p,r). (End of advice to implementors.)

This commit fixes trac:1239, and #712.

This commit was SVN r19458.

The following Trac tickets were found above:
  Ticket 1239 --> https://svn.open-mpi.org/trac/ompi/ticket/1239
2008-08-31 18:36:32 +00:00
Brian Barrett
a15171e46b Some fixes for the disabled ORTE case
* Protect an orte variable used in the orte debugger stuff
  * Initialize the datatype code in the Catamount code, as we need it
    for intercommunicators (the proc code needs it to pack the remote
    name)
  * Turn on a bunch of the orte datatype code so that ORTE_NAME is available.

This commit was SVN r19457.
2008-08-31 18:06:55 +00:00
Brian Barrett
a68e0cff38 * Handle buffered and "complete" sends properly. Since we can always
guarantee local progress, my opinion is we don't need to do anything
    special for complete sends.  Perhaps I'm wrong on that one, in which
    case this implementation of send_complete is not quite right.
  * Give a slightly better error message when a catchall is hit, so that
    we can at least know *which* catchall is hit.

This commit was SVN r19456.
2008-08-31 18:05:00 +00:00
Terry Dontje
b0459c5487 Fixes problems in mqs_comm_get_group function. Commit fixes trac:1464.
This commit was SVN r19444.

The following Trac tickets were found above:
  Ticket 1464 --> https://svn.open-mpi.org/trac/ompi/ticket/1464
2008-08-28 12:19:49 +00:00
Shiqing Fan
3448952b1b - Add the *_C_DECLS (we compile with MS VC++).
This commit was SVN r19434.
2008-08-27 16:01:59 +00:00
Shiqing Fan
08f54758bc - The MS VC compiler complains "error C2512: 'ompi_convertor_master_t' : no appropriate default constructor available", initialize it, it's not the fast path anyway.
This commit was SVN r19433.
2008-08-27 15:57:59 +00:00
Shiqing Fan
b82f062f24 - double declaration of extern "C" make MS compiler complain. Change them to *_C_DECLS.
This commit was SVN r19432.
2008-08-27 15:49:40 +00:00
Rainer Keller
e393048872 - The struct mca_base_component_t does not need to be defined as we
#include "opal/mca/mca.h"
 - Should have ompi_config for the ifdef

This commit was SVN r19431.
2008-08-27 15:19:26 +00:00
Jeff Squyres
0d618b519f Fix MPI::IN_PLACE to be (void* const). Fixes trac:1465.
This commit was SVN r19420.

The following Trac tickets were found above:
  Ticket 1465 --> https://svn.open-mpi.org/trac/ompi/ticket/1465
2008-08-26 17:36:08 +00:00
Matthias Jurenz
80473b1725 Added important changes and bugfixes respectively from VT-trunk (backport)
This commit was SVN r19410.
2008-08-26 11:41:23 +00:00
Ralph Castain
f722f134f7 Check the return code from opal_paffinity before continuing to set maffinity as it can only be done if the map_to_socket_core function succeeds.
This commit was SVN r19396.
2008-08-23 03:13:29 +00:00
Ralph Castain
4ef9d15d97 Revamp the opal mca paffinity interface. We ran into a problem when we encountered machines that had "holes" in their physical processor layout - e.g., machines that supported "hotplugging", or that had unpopulated sockets. To solve that problem, we had to clarify at the API level where we were describing physical vs logical processor info, and then translate accordingly in the underlying implementation.
See opal/mca/paffinity/paffinity.h for explanation as to the physical vs logical nature of the params used in the API.

Fixes trac:1435

This commit was SVN r19391.

The following Trac tickets were found above:
  Ticket 1435 --> https://svn.open-mpi.org/trac/ompi/ticket/1435
2008-08-21 19:21:28 +00:00
Matthias Jurenz
7b61e02841 Fixed Coverity warnings
CIDs: 815,867,879,880,881,909,910,918,919,936

This commit was SVN r19386.
2008-08-21 15:01:32 +00:00
Matthias Jurenz
ea55900971 Corrected last checkin: potential buffer overflow
This commit was SVN r19385.
2008-08-21 15:00:44 +00:00
Matthias Jurenz
1bac115f7c Added check for empty environment variables
This commit was SVN r19384.
2008-08-21 15:00:14 +00:00
Matthias Jurenz
67f1e35eb0 Fixed Coverity warnings
CIDs: 737,739,740,741,742,743,744,756,907,1110,1111

This commit was SVN r19376.
2008-08-20 15:50:15 +00:00
Edgar Gabriel
ef2bb46e45 no need to create and free the groups. We just want to translate the ranks and we can use the internal group structures right away for that operation. Fixes an issue with groups that have not been freed previously, due to the fact that ompi_group_free was not visible here (I know, this could have been solved also by setting OMPI_DECLSPEC on ompi_group_free, but this solution should be faster.)
This commit was SVN r19362.
2008-08-19 13:59:58 +00:00
Edgar Gabriel
149ecb8d7d 1. debug the four new algorithms
2. fix a bug in the initial communicator creation of llcomm
3. fix a bug which showed up as the result of fixing issue number 2: we have
   to check now whether llcomm has really be created before freeing the 
   according llcomm in hierarch_destruct.

This commit was SVN r19361.
2008-08-18 21:54:35 +00:00
Edgar Gabriel
7cbc4a4077 adding four different algorithms for a hierarchical bcast which try to
generate an overlap between the different layers. Why four versions? Because
there is right now always the trade-off between using non-blocking operations
on a layer with a trivial, linear algorithm and using the more sophisticaed
algorithms in a blocking manner. 

- bcast_intra_seg used the bcast of lcomm and llcomm, similarly
  to original algorithm in hierarch. However, it can segment
  the message, such that we might get an overlap between the two
  layers. This overlap is based on the assumption, that a process
  might be done early with a bcast and can start the next one.
- bcast_intra_seg1: replaces the llcomm->bcast by isend/irecvs
  to increase the overlap, keeps the lcomm->bcast however
- bcast_intra_seg2: replaced lcomm->bcast by isend/irecvs
  to increase the overlap, keeps however llcomm->bcast
- bcast_intra_seg3: replaced both lcomm->bcast and llcomm->bcast
  by isend/irecvs

The code is lightly tested, more testing to follow right now.

This commit was SVN r19358.
2008-08-18 16:05:44 +00:00
Matthias Jurenz
19514f4df6 Fixed Coverity warnings
CIDs: 865,866,896,897,974,975,976

This commit was SVN r19356.
2008-08-18 14:24:41 +00:00
Matthias Jurenz
0f9693d8af Fixed Coverity warnings
CIDs: 714,781,782,825,872,917

This commit was SVN r19354.
2008-08-18 14:24:06 +00:00
Matthias Jurenz
c65e8a6882 Fixed Coverity warnings
CIDs: 794,882,908,934,962

This commit was SVN r19352.
2008-08-18 14:23:25 +00:00
Matthias Jurenz
63d84e2626 Fixed Coverity warnings
CIDs: 977

This commit was SVN r19350.
2008-08-18 14:22:48 +00:00
Matthias Jurenz
aa05fba21f Fixed Coverity warnings
CIDs: 823,824,905,906

This commit was SVN r19348.
2008-08-18 14:22:15 +00:00
Matthias Jurenz
406a61f599 Fixed Coverity warnings
CIDs: 821,822,903,904

This commit was SVN r19346.
2008-08-18 14:21:37 +00:00
Matthias Jurenz
7364bc9691 Fixed Coverity warnings
CIDs: 957,1109

This commit was SVN r19344.
2008-08-18 14:20:50 +00:00
Matthias Jurenz
33434d49fb Fixed Coverity warnings
CIDs: 1105

This commit was SVN r19342.
2008-08-18 14:19:30 +00:00
Matthias Jurenz
daa8119dd0 Corrected provious checkin (Coverity warning CID: 875)
This commit was SVN r19340.
2008-08-18 14:18:48 +00:00
Matthias Jurenz
9fc72120b7 Fixed Coverity warnings
CIDs: 1104

This commit was SVN r19338.
2008-08-18 14:17:39 +00:00
Matthias Jurenz
a4491e1b4c Fixed Coverity warnings
CIDs: 918,919

This commit was SVN r19336.
2008-08-18 14:16:23 +00:00
Matthias Jurenz
1555a8843f Renamed 'args' to 'argv' to avoid Coverity warnings (TAINTED_STRING)
CIDs: 1106,1107,1108

This commit was SVN r19334.
2008-08-18 14:15:39 +00:00
Matthias Jurenz
5081fd0da6 Fixed Coverity warnings
CIDs: 727

This commit was SVN r19332.
2008-08-18 14:13:45 +00:00
George Bosilca
6982e8ecbc Don't forget to release the temporary arrays used for converting
the datatypes from Fortran to C.

This commit was SVN r19314.
2008-08-17 21:57:59 +00:00
George Bosilca
2499112d1c Fix indentation.
This commit was SVN r19313.
2008-08-17 20:10:54 +00:00
George Bosilca
a6e3a47102 Fix typo.
This commit was SVN r19312.
2008-08-17 20:08:38 +00:00
George Bosilca
a41dcbbc44 Play nicely with the PML. If the data is in the pending send queue, then
tell the PML we're still in charge of sending it.

This commit was SVN r19311.
2008-08-17 20:07:53 +00:00
George Bosilca
f3568a271a Replace tabs with spaces.
This commit was SVN r19310.
2008-08-17 20:06:48 +00:00
George Bosilca
10612bef8a Bring back the SM pending queue, to avoid deadlocks.
This commit fixes trac:1378.

This commit was SVN r19309.

The following Trac tickets were found above:
  Ticket 1378 --> https://svn.open-mpi.org/trac/ompi/ticket/1378
2008-08-17 19:00:50 +00:00
Matthias Jurenz
c7ac98dd62 Fixed several Coverity-Warnings
This commit was SVN r19304.
2008-08-15 15:15:21 +00:00
Jeff Squyres
5946d84023 Add some "canary" code to the debugger DLL so that we'll hopefully get
a compiler error if OMPI data structs that are used in the DLL are
changed in the main code base.

This commit was SVN r19289.
2008-08-14 12:57:44 +00:00
Matthias Jurenz
a62f421d2b Bugfix (Ticket #1447): Removed included system headers inside 'extern "C" {}'
This commit was SVN r19287.
2008-08-14 12:17:24 +00:00
Jeff Squyres
c9f3f2c682 From Ralph Campbell at QLogic:
Roland noticed that the QLogic HCA driver was using the PCIe vendor ID
for the ibv_query_device so the IEEE OUI value is now used. This means
the config file should recognize the vendor ID value 0x1175 too.

This commit was SVN r19277.
2008-08-13 18:35:37 +00:00
Ralph Castain
89ec513524 Change the #if checks to allow configurations --without-threads to work
This commit was SVN r19274.
2008-08-13 17:39:27 +00:00
George Bosilca
f030497072 Don't forget to set the node to some negative value or ... the memory will
be pinned to some random core.

This commit was SVN r19257.
2008-08-12 16:58:32 +00:00
Terry Dontje
d471f7d7eb Correctly casted variable to make DEBUG print to not cause a warning.
This commit was SVN r19256.
2008-08-12 16:41:35 +00:00
Jeff Squyres
fc7e5f1c0d Fix CID 1095: ensure to initialize the File
This commit was SVN r19252.
2008-08-12 13:13:02 +00:00
Terry Dontje
3559ecbadc One more time. Some how got a newline between the last 2 zeros in the define.
This commit was SVN r19250.
2008-08-12 12:22:54 +00:00
Terry Dontje
512d7ca8c8 Restore the VERBOSE define but set it to 0x00000000
This commit was SVN r19249.
2008-08-12 12:18:13 +00:00
Terry Dontje
5641bd5549 Remove the #define VERBOSE line to stop debug message spew from happening.
This commit was SVN r19248.
2008-08-12 12:14:26 +00:00
Rich Graham
e64f028d62 add missing header file for errno.
This commit was SVN r19246.
2008-08-12 01:34:13 +00:00
George Bosilca
fc9ae0e835 Allow the DLL to correctly retrieve the pnding requests from MPI applications.
This commit was SVN r19244.
2008-08-11 23:40:09 +00:00
Jeff Squyres
93746cd594 Fixed CID 807: Remove unused variable
This commit was SVN r19239.
2008-08-11 20:50:09 +00:00
Jeff Squyres
9b14ee6d83 Fix CID 839: minor memory leak on error
This commit was SVN r19238.
2008-08-11 20:46:27 +00:00
Jeff Squyres
76b4040fbf Fix CIDs 830, 831, 858: minor resource leaks on error
This commit was SVN r19237.
2008-08-11 20:40:04 +00:00
Jeff Squyres
54ab811426 Fix CID 1036: minor resource leak on error
This commit was SVN r19236.
2008-08-11 20:37:36 +00:00
Rainer Keller
ee1fe9015a - Make sure, that the *param_index are > 0 (here, we don't pass
errors up...).
   Coverity CID 1080 - 1090
 - Really make sure, the user does not specify stupid negative values.

This commit was SVN r19233.
2008-08-11 11:21:04 +00:00
Rainer Keller
9cc83d7414 - Fix the freeing of already allocated buffers, if one fails.
Fixes Coverity CID 291 & CID 292
 - Adjust the rc for other functions as well.

This commit was SVN r19232.
2008-08-11 09:43:01 +00:00
Jeff Squyres
da765cf68a Gah; bml_base_endpoint.h was listed ''twice'' in this Makefile.am; I
missed that in r19226.

This commit was SVN r19231.

The following SVN revision numbers were found above:
  r19226 --> open-mpi/ompi@d8860502df
2008-08-09 01:18:13 +00:00
Jeff Squyres
fa25de320e Fixes CIDs 421, 422, 423, 424, 425 426
Possibly fixes CID 417

 * ensure to initialize inner members upon default constructors using
   the same syntax across all classes
 * remove some member variables that aren't used anymore
 * "initialize" the inner MPI_Status in the default constructor for
   MPI::Status by calling the default constructor mpi_status().  This
   may or may not silence CID 417; we'll see what happens in
   subsequent Coverity Prevent runs.

This commit was SVN r19228.
2008-08-08 13:49:44 +00:00
Jeff Squyres
7af5f70cf3 Fix CID 529: potential static buffer overflow
This commit was SVN r19227.
2008-08-08 12:52:54 +00:00
Jeff Squyres
d8860502df Fix CID 1092: remove a useless header file (bml_base_endpoint.h -- it
didn't contain anything!) and therefore remove some include file
recursion.

This commit was SVN r19226.
2008-08-08 12:39:30 +00:00
Jeff Squyres
735c1d8bee Add a missing OMPI_DECLSPEC
This commit was SVN r19221.
2008-08-07 20:36:11 +00:00
Jeff Squyres
797ec531aa Some more work on the man pages:
* Make the creation of the build dir for the man pages a bit more
   robust (thanks to suggestions from Ralf W.).
 * Only distribute the .Xin files, not the .X man pages themselves.
 * Make the .X files depend on opal_config.h so that if you re-run
   configure and change opal_config.h (e.g., a new version), the man
   pages should get rebuilt.
 * Man pages are now cleaned with "distclean", not "maintainer-clean".
 * Fix a typo in opal_crs.7in.
 * Udpate make_dist_tarball to update "date" in the VERSION file.
 * Make make_dist_tarball a bit friendlier to hg checkouts.

This commit was SVN r19219.
2008-08-07 19:20:40 +00:00
Jeff Squyres
f09dc4be31 Fix one item missed by r19175.
This commit was SVN r19216.

The following SVN revision numbers were found above:
  r19175 --> open-mpi/ompi@e105b3f254
2008-08-07 14:49:27 +00:00
Jeff Squyres
4aff8038f9 A compromise -- move the shutting down of the async thread to the
component_close, when we know all the btl modules are gone and there
will be no more of them created.

This commit was SVN r19214.
2008-08-07 13:48:38 +00:00
Jeff Squyres
e835c89242 Revert r19205.
This commit was SVN r19212.

The following SVN revision numbers were found above:
  r19205 --> open-mpi/ompi@58b3ea2f8b
2008-08-07 11:51:38 +00:00
Donald Kerr
7a88e2c6cb catch when mpool not created and prevent the subsequent segv
This commit was SVN r19211.
2008-08-07 11:33:28 +00:00
Jeff Squyres
6d9f047238 Somehow this sign ended up pointing the wrong way.
This commit was SVN r19207.
2008-08-06 20:35:42 +00:00
Ralph Castain
adf2b4dfda Correct an error output so the process names are sensible
This commit was SVN r19206.
2008-08-06 18:56:16 +00:00
Jeff Squyres
58b3ea2f8b The async thread should not be shut down by the module since it's a
per-device entity.  Also, we should shut down the CPCs after we have
destroyed both PP and SRQ QPs.

This commit was SVN r19205.
2008-08-06 18:26:53 +00:00
Jeff Squyres
9cffbecdaf Amend r19196 with a few extra bells and whistles:
* use "warn_on_fork" instead of "do_not_warn_on_fork" -- i.e.,
   use positive logic instead of negative logic
 * ensure that pthread_atfork() is only called once
 * amended the error message to include the hostname, PID, and
   MPI_COMM_WORLD rank of the offender
 * ensure that the warn_fork_cb() function is only defined if
   HAVE_PTHREAD_H so that we don't get a compiler warning if it isn't
   used

This commit was SVN r19204.

The following SVN revision numbers were found above:
  r19196 --> open-mpi/ompi@277e4ac292
2008-08-06 17:29:41 +00:00
George Bosilca
45beed78e9 Fix 2 derefenced NULL variables (Coverty fix 474 & 476).
This commit was SVN r19202.
2008-08-06 15:50:54 +00:00
George Bosilca
fb02c23389 Fix dereference of NULL variable (Coverty 473).
This commit was SVN r19201.
2008-08-06 15:46:09 +00:00
Ralph Castain
277e4ac292 Provide a warning message if a user's app executes a "fork" operation while using subsystems that may not cleanly support it - e.g., the openib btl. The provided warning is a generic one indicating that use of fork in current conditions is not recommended.
This is setup so that it only is issued once (as opposed to every time they do it), and goes through orte_show_help so the user doesn't get hammered by #procs copies of the warning. In addition, there is a new MCA param (can't have too many!) to shut the warning off altogether.

This closes ticket #1244

This commit was SVN r19196.
2008-08-06 14:22:03 +00:00
George Bosilca
3c8d43deed Remove unused variable (Coverty fix 178).
This commit was SVN r19195.
2008-08-06 14:09:43 +00:00
George Bosilca
567c691354 Remove unused variable (Coverty fix 177).
This commit was SVN r19194.
2008-08-06 14:08:34 +00:00
George Bosilca
f6ebdf8896 Remove unused variable (Coverty fix 176).
This commit was SVN r19193.
2008-08-06 14:07:20 +00:00
George Bosilca
c021427002 Remove unused variable (Coverty fix 175).
This commit was SVN r19192.
2008-08-06 14:06:08 +00:00
George Bosilca
6c8017e9b7 Remove unused variable (Coverty fix 174).
This commit was SVN r19191.
2008-08-06 14:04:54 +00:00
George Bosilca
afc79d1651 Remove unused variable (Coverty fix 173).
This commit was SVN r19190.
2008-08-06 14:03:33 +00:00
Rainer Keller
69a16b14bc - Fix variable set but not used
Coverity CID1057

This commit was SVN r19189.
2008-08-06 14:02:12 +00:00
George Bosilca
5e3a5b7c13 Remove unused variable (Coverty fix 172).
This commit was SVN r19188.
2008-08-06 14:01:33 +00:00
George Bosilca
d897710e4f Remove unused variable (Coverty fix 171).
This commit was SVN r19187.
2008-08-06 14:00:22 +00:00
George Bosilca
417b727006 Remove unused variable (Coverty fix 170).
This commit was SVN r19186.
2008-08-06 13:59:03 +00:00
George Bosilca
4f91b7806c Remove unused variable (Coverty fix 169).
This commit was SVN r19185.
2008-08-06 13:57:43 +00:00
Rainer Keller
23c2292478 - Fix variable set but not used
Coverity CID1058

This commit was SVN r19184.
2008-08-06 13:57:38 +00:00
George Bosilca
7720e7ea2d Fix recursion in include files (Coverty fix 153).
This commit was SVN r19180.
2008-08-06 13:49:03 +00:00
Rainer Keller
e84f1f6fdf - Mark the variable bytes_delivered as being unused
(it is just set within MCA_PML_OB1_RECV_REQUEST_UNPACK)
   Iff Coverity's prevent makes usage of __attribute__(unused),
   this should get rid of warning.
   Relates to CID1060

   Would then apply to a many int _rc; definitions, that are
   used in other macros in similar fashion...

This commit was SVN r19179.
2008-08-06 13:46:23 +00:00
George Bosilca
3dafa58b32 Fix coverty issue 1044.
This commit was SVN r19178.
2008-08-06 13:38:21 +00:00
Jeff Squyres
765749209f Fix CID 413: possible uninitialized variable
This commit was SVN r19176.
2008-08-06 12:25:56 +00:00
Rolf vandeVaart
e105b3f254 Finish work related to ticket #1392 where the versions
were bumped from v1.0.0 to v2.0.0.  

This change fixed #1439.

This commit was SVN r19175.
2008-08-06 12:16:54 +00:00
Jeff Squyres
262f865e77 Fix CID 387: be safer about string handling when using fixed-length
strings

This commit was SVN r19174.
2008-08-06 12:15:49 +00:00
Rainer Keller
33d7c52eed - Fix resource leak in case of error
Coverity CID1066

This commit was SVN r19169.
2008-08-06 08:12:12 +00:00
Rainer Keller
c1f2b8e476 - Fix resource leak in case of error.
Coverity CID1067

This commit was SVN r19168.
2008-08-06 08:04:27 +00:00
Rainer Keller
82580701fb - We may know the *_name is < MPI_MAX_OBJECT_NAME; Prevent does not.
Fix Coverity issues CID1068 and CID1069

This commit was SVN r19167.
2008-08-06 07:59:59 +00:00
Dan Lacher
0ef83a558e minor tweak to header line for ompi_crcp.7
This commit was SVN r19150.
2008-08-04 19:48:10 +00:00
Ralph Castain
5a2053ade2 Per July technical meeting:
Revise the scope precedence in the MPI_Publish, Unpublish, and Lookup functions. If a global server was specified and is available, then default to using it for all three functions. If not, then default to using local scope.

If an info_key was provided, then it takes preference. We always follow the user's direction - this change only impacts the scope ordering if the user -doesn't- tell us the order to use.

This commit was SVN r19146.
2008-08-04 16:43:12 +00:00
Jeff Squyres
b83ee7d82a * Fix a problem with VPATH builds if the destination directory didn't
already exist  
 * s/top_srcdir/top_builddir/ in a bunch of places; left over from the
   previous man page generation system

This commit was SVN r19141.
2008-08-04 15:17:50 +00:00
Jeff Squyres
8d5bcf9257 Fix a bunch of double quote issues
This commit was SVN r19140.
2008-08-04 15:13:29 +00:00
Edgar Gabriel
1adb3a6cda Fixes trac:1408
The optimization that was introduced a year ago for saving a collective
synchronization  step for certain communicator creation functions has to be
disabled for now. The bug has been exposed by the hierarch module, but could
appear as well for inter-communicator creations. The problem is, that within a
communicator creation step we invoke a comm_dup (for intercomm_create) or
other collective operations (in case of hierarch) before all processes have
been synchronized. This lead to the "Dropped message for non-existant
communicators" error. This commit disables the optimization without removing
it from the code base. In theory, it can be enabled again as soon as we have
the unexpected message queues for unknown cid's, which were required if I
remember right anyway for the multi-threaded scenarios and potentially for
fault tolerance.

Before moving the patch to 1.3 I would like to let it soak for a couple of
days on trunk. Please note, taht my 2nd comment on ticket #1408 was
semi-correct, since the order of activation of the communicator and quering
the collective module have already been changed earlier.

This commit was SVN r19139.

The following Trac tickets were found above:
  Ticket 1408 --> https://svn.open-mpi.org/trac/ompi/ticket/1408
2008-08-04 14:55:09 +00:00
Rainer Keller
4712a73db5 - Help the compiler, by noting that errors are unlikely.
This commit was SVN r19138.
2008-08-04 14:50:27 +00:00
Jeff Squyres
35f721a706 Suggestion from Ralf W. to clean up sub-make's properly.
This commit was SVN r19136.
2008-08-04 14:35:40 +00:00
Rainer Keller
0d08866786 - Declare functions in lex-files as extern "C" {} to get
rid of warnings.

This commit was SVN r19132.
2008-08-04 11:49:01 +00:00
Ralph Castain
fdde3de903 Combination of some changes by both Jeff and I. Few minor cleanups to the code (e.g., allow options to show-mca-params to be either case), and an enhancement that allows the user to specify multiple options separated by commas (e.g., "env,api").
This commit was SVN r19124.
2008-08-02 00:43:27 +00:00
Dan Lacher
9175da1e02 Putback for all changes to automate man page updates to strings of
versions, dates and build names.

Fixes trac:1387

Big thanks to Jeff and Brian for help and oversight.

This commit was SVN r19120.

The following Trac tickets were found above:
  Ticket 1387 --> https://svn.open-mpi.org/trac/ompi/ticket/1387
2008-08-01 21:14:37 +00:00
Jeff Squyres
4bdc093746 Fixes trac:1361: mainly add new internal MCA parameter that orterun will
set when it launches under debuggers using the --debug option.

This commit was SVN r19116.

The following Trac tickets were found above:
  Ticket 1361 --> https://svn.open-mpi.org/trac/ompi/ticket/1361
2008-07-31 22:11:46 +00:00
Jeff Squyres
b45d59ea2e Adjust API usage for new parameter in mca_base_param_lookup_source()
This commit was SVN r19115.
2008-07-31 21:56:20 +00:00
Ralph Castain
164c1ebba7 Ensure output of new source dat is in the parseable output of ompi_info too
This commit was SVN r19112.
2008-07-31 20:35:42 +00:00
Ralph Castain
f7d1c2d229 Extend the mca param display capability to allow independent output of the params based on where they were last set (default, enviro, file, or API), and to out
put the name of the file that set them if they were set by file. This is of great assistance to support personnel trying to understand why a user is having pro
blems.

Coordinated with Jeff.

This commit was SVN r19111.
2008-07-31 20:00:45 +00:00
Jeff Squyres
5ac6a4387c Fix MPI_CART_GET to take an array of logicals for the periods argument
(not integers)

This commit was SVN r19099.
2008-07-30 20:29:23 +00:00
George Bosilca
7f01be2830 Remove useless defines. The MCA was bumped to 2.0, there is no reason to keep
these defines around.

This commit was SVN r19091.
2008-07-30 10:40:18 +00:00
Jeff Squyres
fc7c58ede6 Missed updating the topo base check to look for v2.0.0, causing all
topology-related MPI tests to fail.

This commit was SVN r19088.
2008-07-30 00:50:42 +00:00
Donald Kerr
2899f64146 moving vendor_id info to top of file
This commit was SVN r19087.
2008-07-29 22:33:17 +00:00
Donald Kerr
513225c9f3 add Sun Microsystems, Inc. vendor_id
This commit was SVN r19085.
2008-07-29 19:31:41 +00:00
George Bosilca
2d8cbc6ade Allow other BTL to work even if they collide with regard to the exclusivity. The problem was
that by decreasing the btl_inuse if there was already a registered BTL we basically reset
the changes for this new BTL to register it's progress function, even if it was supposed to
handle another peer.

This commit was SVN r19080.
2008-07-29 18:38:11 +00:00
Jeff Squyres
388c047579 Ensure to actually register the proper synonym index
This commit was SVN r19074.
2008-07-29 13:05:39 +00:00
Jeff Squyres
0af7ac53f2 Fixes trac:1392, #1400
* add "register" function to mca_base_component_t
   * converted coll:basic and paffinity:linux and paffinity:solaris to
     use this function
   * we'll convert the rest over time (I'll file a ticket once all
     this is committed)
 * add 32 bytes of "reserved" space to the end of mca_base_component_t
   and mca_base_component_data_2_0_0_t to make future upgrades
   [slightly] easier
   * new mca_base_component_t size: 196 bytes
   * new mca_base_component_data_2_0_0_t size: 36 bytes
 * MCA base version bumped to v2.0
   * '''We now refuse to load components that are not MCA v2.0.x'''
 * all MCA frameworks versions bumped to v2.0
 * be a little more explicit about version numbers in the MCA base
   * add big comment in mca.h about versioning philosophy

This commit was SVN r19073.

The following Trac tickets were found above:
  Ticket 1392 --> https://svn.open-mpi.org/trac/ompi/ticket/1392
2008-07-28 22:40:57 +00:00
Jeff Squyres
a7c79558ad Remove an errant printf that was causing non-fatal errors to be
displayed (e.g., when deleting files that should have been silently
ignored if they didn't exist).

This commit was SVN r19071.
2008-07-28 22:11:31 +00:00
Jeff Squyres
c93f1d8c5e Fixes trac:1419: got a patch from upstream to fix the "OS X doesn't
have/need lseek64" issue.  This fix is also included in MPICH2 after
v1.0.7.

This commit was SVN r19070.

The following Trac tickets were found above:
  Ticket 1419 --> https://svn.open-mpi.org/trac/ompi/ticket/1419
2008-07-28 17:02:53 +00:00
Ralph Castain
a0ae63f19e Ensure we call close_port after comm_spawn[_multiple]. Cleanout the port name in close_port
This commit was SVN r19068.
2008-07-28 16:40:11 +00:00
Lenny Verkhovsky
f278609d77 Funny warning message about rd_win size fix
This commit was SVN r19063.
2008-07-28 14:30:57 +00:00
Adrian Knoth
5096512c3a Cosmetics, only typos.
This commit was SVN r19061.
2008-07-28 13:33:08 +00:00
Jeff Squyres
477cdb0b62 Had to abondon the first approach from r19040: it caused problems with
"make distclean".  It's not clear whether it's an Automake bug or
whether what I did simply is not supported (I've got pending mail into
Ralf W. asking about it).  The short version is that during "make
distclean", ompi/mpi/f77/Makefile would rm -rf ompi/mpi/f77/.deps.
But ompi/Makefile still include's some .Plo files from that directory,
so Bad Things happened when "make distclean" unrolled from the
ompi/mpi/f77 dir back up to the ompi/ dir.

So I went with George's original suggestion and moved the f77 "base"
files in question into a new directory: ompi/mpi/f77/base and put a
Makefile.include in there.  That way, this directory is not traversed
twice by distclean, and .deps is only removed when it is supposed to
be.  Maybe we'll be able to do it a little better someday, but that's
the way it is now.

I'll check this with a fresh checkout once this is committed to SVN as
well; some of these kinds of problems don't show up until you do a
build from a completely fresh SVN checkout.

This commit was SVN r19054.

The following SVN revision numbers were found above:
  r19040 --> open-mpi/ompi@9f4d4c4312
2008-07-26 20:38:30 +00:00
Jeff Squyres
505ffc6719 This file was never used
This commit was SVN r19053.
2008-07-26 19:27:18 +00:00
Jeff Squyres
78b8bac900 First part of "make distcheck" fix, but at least one more commit will
be required for a total fix.  Still looking into the problem...

This commit was SVN r19049.
2008-07-26 13:25:11 +00:00
Jeff Squyres
7c4d46a8d9 Grrr: I ''did'' remove these files on the initial commit of the new
SVN version (r19045), but I also edited the svn:ignore to ignore these
files in the same SVN commit -- I suspect that SVN got confused and
did not actually delete them.

This commit was SVN r19048.

The following SVN revision numbers were found above:
  r19045 --> open-mpi/ompi@63b63d48c3
2008-07-26 13:00:24 +00:00
Jeff Squyres
6dac4706ea Somehow this file got missed in the SVN import.
This commit was SVN r19047.
2008-07-26 12:54:15 +00:00
Jeff Squyres
63b63d48c3 Fixes trac:1370, #1147
Update the version of ROMIO to that which was contained in
MPICH2-1.0.7, plus a few patches from the upstream ROMIO maintainers
(because OMPI uses a few code paths in ROMIO that MPICH2 does not;
there were a few compile bugs in the ROMIO from MPICH2-1.0.7).

Added an info MCA param to be able to tell which version of ROMIO is
contained in OMPI: io_romio_version.

Many, many thanks to romio-maint@mcs.anl.gov for all their help in
integrating this new version of ROMIO into Open MPI.

This commit was SVN r19045.

The following Trac tickets were found above:
  Ticket 1370 --> https://svn.open-mpi.org/trac/ompi/ticket/1370
2008-07-26 12:23:30 +00:00
Jeff Squyres
9f4d4c4312 Fixes trac:1409: ensure that the C++, F77, and F90 bindings libraries
are properly linked against libmpi.la.

This required a little creative AM usage, inspired by discussion on
OMPI devel list:

 * Make a new ompi/mpi/f77/Makefile_f77base.include; effectively move
   the building of the f77 "base" glue stuff (libmpi_f77base.la) into
   this Makefile and away from ompi/mpi/f77/Makefile.am.  The sources
   in question require some specific CPPFLAGS, so we couldn't just add
   the raw sources into libmpi_la_SOURCES, unfortunately.
 * Include this new Makefile in the top-level ompi/Makefile.am
 * The libmpi_f77base.la LT convenience library was already sucked
   into libmpi.la; breaking it out into its own Makefile allows us
   to build it earlier and therefore complete buidling libmpi.la
   earlier.
 * Side effect: the ompi/mpi/Makefile.am is now mostly unnecessary; it
   no longer specifies a SUBDIRS for each of the bindings directories
   to traverse into (since they are now in the top-level SUBDIRS).  As
   such, the man pages are now also now included in the top-level
   ompi/Makefile.am.

The end of the result is that libmpi.la -- including a few sources
from mpi/f77 -- is fully built before the C++, F77, and F90 bindings
are built.  Therefore, the C++, F77, and F90 bindings libraries can
all link against libmpi.la.

This commit was SVN r19040.

The following Trac tickets were found above:
  Ticket 1409 --> https://svn.open-mpi.org/trac/ompi/ticket/1409
2008-07-25 21:18:05 +00:00
Jeff Squyres
e3e79c0881 Fixes trac:1379:
* Use synonym/deprecated MCA param API for some mca base params
 * In openib BTL, if we have appropriate memory hooks support, and if
   mpi_leave_pinned and mpi_leave_pinned_pipeline were not set by the
   user, set mpi_leave_pinned to 1.
 * Defer checking mpi_leave_pinned_* until as late as possible (i.e.,
   until after the btl's have had a chance to set mpi_leave_pinned to
   1):
   * in ob1 pml
   * in rdma mpool

This commit was SVN r19022.

The following Trac tickets were found above:
  Ticket 1379 --> https://svn.open-mpi.org/trac/ompi/ticket/1379
2008-07-24 22:51:26 +00:00
George Bosilca
6c21851160 Only register the BTL progress function if there is a need for it. This require
a little bit more than "BTL was able to add some procs". The real condition to
allow the BTL progress is that we will use it to send/recv data to/from some
of the peers (this include the BTL exclusivity in the process).

This commit was SVN r19010.
2008-07-24 10:33:17 +00:00
Jeff Squyres
5b9219565c Remove the use of __cpu_to_be64() and replace it with hton64().
This commit was SVN r18995.
2008-07-23 12:08:55 +00:00
Ralph Castain
83e7c19d33 Remove deprecated function - this was incorporated into the paffinity framework a long time ago. Fortunately, nobody was actually using it!
This commit was SVN r18990.
2008-07-23 03:43:31 +00:00
Jeff Squyres
2f208f885c Fixes trac:1295: change language in openib BTL from IB-specific to be
"!OpenFabrics" / neutral (i.e., refer to IB and/or iWARP).

 * Mostly just type, variable/field, and funcion name changes, such as
   s/hca/device/g, etc.  
 * Changed the INI file for the hardware-specific parameters to be
   mca-btl-openib-device-params.ini.
 * Updated a lot of help messages in the help-*.txt files, not just to
   update it to be !OpenFabrics/neutral language, but also for some
   consistency of tone, indenting, etc.
 * Deprecated a bunch of MCA params in favor of language-neutral new
   ones:
   * btl_openib_warn_no_hca_params_found (s/hca/device/)
   * btl_openib_hca_param_files
   * btl_openib_ib_cq_size (s/_ib_/_of_/)
   * btl_openib_ib_max_inline_data
   * btl_openib_ib_psn
   * btl_openib_ib_mtu
   * btl_openib_ib_pkey_ix
   * btl_openib_ib_pkey_val

This commit was SVN r18985.

The following Trac tickets were found above:
  Ticket 1295 --> https://svn.open-mpi.org/trac/ompi/ticket/1295
2008-07-23 00:28:59 +00:00
Aurelien Bouteiller
086cb6190e Use the generic version number instead of hardcoded ones
This commit was SVN r18983.
2008-07-22 21:10:51 +00:00
Jon Mason
f80404d991 Add openib error handling during wireup for rdmacm
The rdmacm event handler has no way of reporting fatal errors to the upper
layers.  By calling mca_btl_openib_endpoint_invoke_error in the rdmacm event
handler for the errors encountered, these errors can now be handled
appropriately.

Closes out Ticket #1283

This commit was SVN r18980.
2008-07-22 19:03:13 +00:00
Jeff Squyres
d37a25a2d0 Remove per http://www.open-mpi.org/community/lists/devel/2008/07/4386.php
This commit was SVN r18972.
2008-07-22 00:57:23 +00:00
Jeff Squyres
25bcf0f1d3 Oops -- cut-n-paste-error -- use OMPI in the OMPI layer...
This commit was SVN r18966.
2008-07-21 20:07:37 +00:00
Jeff Squyres
54dbd95243 Fix some component version numbers to be the same as the OMPI release
This commit was SVN r18965.
2008-07-21 20:05:29 +00:00
Ralph Castain
3137ed9255 Update the manpages for comm_spawn(_multiple) - add man page to explain host/hostfile behavior
This commit was SVN r18961.
2008-07-21 17:58:12 +00:00
Pavel Shamis
849a8f86a7 Bug fox for #1388 - fixing ib_cm_listen() random failures.
This commit was SVN r18952.
2008-07-20 06:21:32 +00:00
Jeff Squyres
e28f71f6e6 Have ompi_info also output where the value was set from (default,
environment, file, or API override).

Refs trac:1397

This commit was SVN r18943.

The following Trac tickets were found above:
  Ticket 1397 --> https://svn.open-mpi.org/trac/ompi/ticket/1397
2008-07-18 10:52:21 +00:00
Rolf vandeVaart
9c080b27d6 Fix for bug when running 64-bit heterogeneous.
This commit fixes trac:1341.

This commit was SVN r18940.

The following Trac tickets were found above:
  Ticket 1341 --> https://svn.open-mpi.org/trac/ompi/ticket/1341
2008-07-17 19:04:40 +00:00
George Bosilca
3ba0a8c0c1 In the case where the environment is homogeneous we can ALWAYS create
the receiver convertor when we create the request (as we know all
architectures are identical).

This commit was SVN r18934.
2008-07-17 04:57:55 +00:00
George Bosilca
902a2892b6 Fix typo.
This commit was SVN r18933.
2008-07-17 04:55:23 +00:00
George Bosilca
cb66115512 Add more optimizations in the case where heterogeneous support
is not enabled.

This commit was SVN r18932.
2008-07-17 04:54:47 +00:00
George Bosilca
939fa3001d Small cleanups. Remove some switch cases that cannot be reached. Rename
a struct field.

This commit was SVN r18931.
2008-07-17 04:50:39 +00:00
George Bosilca
319a8b3219 Once matched the proc attached to the request should be the source
of the message and not the first on the list. This fix the ticket
#1386.

This commit was SVN r18929.
2008-07-17 03:04:28 +00:00
Andrew Friedley
d479d981a7 Missed this on my last commit regarding if include/exclude -- should now iterate from 0, not 1.
This commit was SVN r18924.
2008-07-16 14:15:25 +00:00
Aurelien Bouteiller
66463cb258 Fix the annoying message from showing up when not using PML V. The underlying bug is not fixed though, but at least people not involved in FT dev should not see it anymore.
Fix ticket https://svn.open-mpi.org/trac/ompi/ticket/1328

Aurelien

This commit was SVN r18917.
2008-07-15 22:05:40 +00:00
Andrew Friedley
dabe6defb3 Add support for btl_ofud_{in,ex}clude MCA parameters.
This commit was SVN r18916.
2008-07-15 17:57:52 +00:00
Jeff Squyres
fd64e35f02 Fix a typo in the filename
This commit was SVN r18914.
2008-07-15 11:49:40 +00:00
Pavel Shamis
e233c11df0 Disabling IBCM cpc by default. In order to enable it, you need to define it explicitly in command line.
This commit was SVN r18911.
2008-07-15 08:02:00 +00:00
Pavel Shamis
807c53c7b1 "failed to ib_cm_listen 10 times" - is know bug in IBCM and we should print it
only if IBCM was explicitly requested.

This commit was SVN r18897.
2008-07-13 16:36:41 +00:00
Pavel Shamis
12379e7f3e Fixing race condition between main thread and async event thread
during openib finalization.

This commit was SVN r18895.
2008-07-13 16:21:49 +00:00
Ralph Castain
0abf5225a8 Update the man pages for MPI_Publish, MPI_Unpublish, MPI_Lookup, and MPI_Comm_spawn to cover scoping rules and new info keys
This commit was SVN r18891.
2008-07-11 19:09:50 +00:00
Ralph Castain
7834201f69 Silence unused var warning
This commit was SVN r18888.
2008-07-11 15:39:59 +00:00
Jeff Squyres
583bf425c0 Fixes trac:1383:
Short version: remove opal_paffinity_alone and restore
mpi_paffinity_alone.  ORTE makes various information available for the
MPI layer to decide what it wants to do in terms of processor
affinity.

Details:

 * remove opal_paffinity_alone MCA param; restore mpi_paffinity_alone
   MCA param
 * move opal_paffinity_slot_list param registration to paffinity base
 * ompi_mpi_init() calls opal_paffinity_base_slot_list_set(); if that
   succeeds use that.  If no slot list was set, see if
   mpi_paffinity_alone was set.  If so, bind this process to its Node
   Local Rank (NLR).  The NLR is the ORTE-maintained slot ID; if you
   COMM_SPAWN to a host in this ORTE universe that already has procs
   on it, the NLR for the new job will start at N (not 0).  So this is
   slightly better than mpi_paffinity_alone in the v1.2 series.
 * If a slot list is specified *and* mpi_paffinity_alone is set, we
   display an error and abort.
 * Remove calls from rmaps/rank_file component to register and lookup
   opal_paffinity mca params. 
 * Remove code in orte/odls that set affinities - instead, have them
   just pass a slot_list if it exists. 
 * Cleanup the orte/odls code that determined
   oversubscribed/want_processor as these were just opposites of each
   other.

This commit was SVN r18874.

The following Trac tickets were found above:
  Ticket 1383 --> https://svn.open-mpi.org/trac/ompi/ticket/1383
2008-07-10 21:12:45 +00:00
Pavel Shamis
a34bb98f8a Bug fix for #1376.
If IBCM was explicitly specified with exclude/include parameter,
OpenIB BTL will enable verbose report for "/dev/infiniband/ucm" error,
other way the error will not be reported.

This commit was SVN r18868.
2008-07-10 15:08:49 +00:00
Ralph Castain
0532aeb368 Truly minor memory leak fixes that -might- be picked up by valgrind if someone does "ompi_info -h" or ompi_info encounters a bizarre error
This commit was SVN r18865.
2008-07-10 11:56:41 +00:00
Jeff Squyres
49be4b1e45 Fixes trac:1383
Lenny and I went back and forth on whether we should simply register
another "mpi_paffinity_alone" MCA param and then try to figure out
which one was set in ompi_mpi_init, but there was difficulty in
figuring out what to do.  So it seemed like the Right Thing to do was
to implement what was committed in r18770; then we could tell where
MCA parameters were set from and you could do Better Things (this is
also useful in the openib BTL, where parameters can be set either via
MCA parameter or via an INI file).

But after that was done, it seemed only a few steps further to
actually implement two new features in the MCA params area:

 * Synonyms (where one MCA param name is a synonym for another)
 * Allow MCA params and/or their synonyms to be marked as "deprecated"
   (printing out warnings if they are used)

These features have actually long been discussed/desired, and I had
some time in airports and airplanes recently where I could work in
this stuff on a standalone laptop.  So I did it.  :-)

This commit introduces these two new features, and then uses them to
register mpi_paffinity_alone as a non-deprecated synonym for
opal_paffinity_alone.  A few other random points in this commit:

 * Add a few error checks for conditions that were not checked before
 * Correct some comments in mca_base_params.h
 * Add a few comments in strategic places
 * ompi_info now prints additional information:
   * for any MCA parameter that has synonyms, it lists all the
     synonyms
   * synonyms are also output as 1st-class MCA params, but with an
     additional attribute indicating that they have a "parent"
   * all MCA param name (both "real" or "synonym") will output an
     attribute indicating whether it is deprecated or not.  A synonym
     is deprecated if it iself is marked as deprecated (via the
     mca_base_param_regist_syn() or mca_base_param_register_syn_name()
     functions) or if its "parent" MCA parameter is deprecated

This commit was SVN r18859.

The following SVN revision numbers were found above:
  r18770 --> open-mpi/ompi@8efe67e08c

The following Trac tickets were found above:
  Ticket 1383 --> https://svn.open-mpi.org/trac/ompi/ticket/1383
2008-07-10 01:44:51 +00:00
Aurelien Bouteiller
4d080e1c13 Fix a bug where the list sentinel was added instead of the new element to the proc_list.
This commit was SVN r18854.
2008-07-09 20:45:24 +00:00
George Bosilca
3de0488410 Fix the truncation problem. This close the #211.
This commit was SVN r18850.
2008-07-09 17:38:41 +00:00
Pak Lui
d47a6ddd02 Correct some of the info about the options for the man page.
This commit was SVN r18847.
2008-07-09 14:21:08 +00:00
Brad Benton
9f0280bd55 arghh...I inadvertantly checked this in to the 1.3 branch rather than
first to the trunk.  So, here is the trunk checkin:

The call to orte_show_help() to notify truncation of the max_inline value
was missing the want_error_header boolean, which eventually results in
a SEGV.  This change corrects the call with the bool set to true.

This commit was SVN r18839.
2008-07-08 15:28:53 +00:00
Pavel Shamis
452141bfb8 Bugfix for #1375.
- Adding configure options that allow to disable IB/RDMA-CM support.
- Code cleanup in openib section of configure

This commit was SVN r18830.
2008-07-08 06:32:54 +00:00
Ralph Castain
613d0f8017 Missed file...just some comment changes, but important ones
This commit was SVN r18828.
2008-07-08 04:02:31 +00:00
Ralph Castain
cf353a1412 Complete the revisions per Brian's email to devel list, plus lengthy discussions between Brian, Jeff, and myself.
These are mostly long additions to comments to document what is going on and why, and how/where it may be revised in the future. Just a couple of small, but important, changes to the code itself.

This commit was SVN r18827.
2008-07-08 03:56:51 +00:00
Jeff Squyres
83987fea75 Next step: Back out r17543 (ficxing a bunch of ROMIO warnings). Let's
see how the next gen panasas stuff does in terms of warnings; we can
always re-merge this later if we want to.  It's just easier if we have
as little OMPI-specific code as possible (particularly when we know
that the panasas code has some big changes coming).

This commit was SVN r18823.

The following SVN revision numbers were found above:
  r17543 --> open-mpi/ompi@b4ec81a9fd
2008-07-07 23:22:26 +00:00
Jeff Squyres
09ff80ff06 Back out r16691 and r16693 because the meat of them are upstream
already, and we're just about to do a ROMIO version refresh -- so the
less OMPI-specific code we have (e.g., indenting and whatnot), the
better. 

Refs trac:1370.

This commit was SVN r18821.

The following SVN revision numbers were found above:
  r16691 --> open-mpi/ompi@8dca19cb3b
  r16693 --> open-mpi/ompi@037a533752

The following Trac tickets were found above:
  Ticket 1370 --> https://svn.open-mpi.org/trac/ompi/ticket/1370
2008-07-07 22:33:49 +00:00
Jeff Squyres
a6cfe0c574 Remove LANL-specific Panasas patches. This is step 1 in upgrading the
ROMIO in Open MPI (the new version of ROMIO will make this patch
defunct, and David Daniel has confirmed that no one at LANL is using
this functionality, anyway).

Refs trac:1370.

This commit was SVN r18819.

The following Trac tickets were found above:
  Ticket 1370 --> https://svn.open-mpi.org/trac/ompi/ticket/1370
2008-07-07 22:08:26 +00:00
Edgar Gabriel
798f47b430 Fixes ticket #1334
hierarch disables itself now if the pml module used is *not* ob1. The reason
is, that the multi-level hierarchy detection algorithm checks the names of the
btl modules used. In case there are no btl's, we would segfault.

Furthermore, three minor changes:
 - the 2-level hierarchy detection is now the default (sm vs. everything else
 in the world).
 - add udapl to the list of protocols checked for by the multi-level hierarch detection
 - some of the verbose statements of hierarch were inaccurate. Fixed those comments/messages.

This commit was SVN r18817.
2008-07-07 18:44:48 +00:00
Ralph Castain
2a1e0a2e64 Fix ticket #1267
With help from Brian, modify the ompi/proc/proc.c code to be more thread-safe. Remove the list operations from the ompi_proc_t constructor and destructor. Insert list appends to ompi_proc_init and ompi_proc_find_and_add as required, and protect those with thread locks. Let only the ompi_proc_finalize function actually remove objects from the ompi_proc_list.

Cleanup a few places where functions might return without unlocking a thread. Ensure the ompi_proc_world also does an OBJ_RETAIN so that the reference count on any subsequently released object is correct.

This commit was SVN r18816.
2008-07-07 17:39:49 +00:00
Jeff Squyres
74aa9689e4 From an initial patch from George, update all the set/get errhandler
functions to use atomics in order to be thread safe.

This commit was SVN r18807.
2008-07-03 19:28:02 +00:00
Ralph Castain
ba5498cdc6 Repair the MPI-2 dynamic operations. This includes:
1. repair of the linear and direct routed modules

2. repair of the ompi/pubsub/orte module to correctly init routes to the ompi-server, and correctly handle failure to correctly parse the provided ompi-server URI

3. modification of orterun to accept both "file" and "FILE" for designating where the ompi-server URI is to be found - purely a convenience feature

4. resolution of a message ordering problem during the connect/accept handshake that allowed the "send-first" proc to attempt to send to the "recv-first" proc before the HNP had actually updated its routes.

Let this be a further reminder to all - message ordering is NOT guaranteed in the OOB

5. Repair the ompi/dpm/orte module to correctly init routes during connect/accept.

Reminder to all: messages sent to procs in another job family (i.e., started by a different mpirun) are ALWAYS routed through the respective HNPs. As per the comments in orte/routed, this is REQUIRED to maintain connect/accept (where only the root proc on each side is capable of init'ing the routes), allow communication between mpirun's using different routing modules, and to minimize connections on tools such as ompi-server. It is all taken care of "under the covers" by the OOB to ensure that a route back to the sender is maintained, even when the different mpirun's are using different routed modules.

6. corrections in the orte/odls to ensure proper identification of daemons participating in a dynamic launch

7. corrections in build/nidmap to support update of an existing nidmap during dynamic launch

8. corrected implementation of the update_arch function in the ESS, along with consolidation of a number of ESS operations into base functions for easier maintenance. The ability to support info from multiple jobs was added, although we don't currently do so - this will come later to support further fault recovery strategies

9. minor updates to several functions to remove unnecessary and/or no longer used variables and envar's, add some debugging output, etc.

10. addition of a new macro ORTE_PROC_IS_DAEMON that resolves to true if the provided proc is a daemon

There is still more cleanup to be done for efficiency, but this at least works.

Tested on single-node Mac, multi-node SLURM via odin. Tests included connect/accept, publish/lookup/unpublish, comm_spawn, comm_spawn_multiple, and singleton comm_spawn.

Fixes ticket #1256

This commit was SVN r18804.
2008-07-03 17:53:37 +00:00
Lenny Verkhovsky
ba1fa73881 Selectign Maffinity only if Paffinity selected fix
This commit was SVN r18797.
2008-07-03 13:39:34 +00:00
Jeff Squyres
7897db314e Add in the use of MPIR_being_debugged for DDT.
This commit was SVN r18796.
2008-07-03 12:27:35 +00:00
Jeff Squyres
160ba5fe11 Set max_inline_data for the iWARP adapters to be 64
This commit was SVN r18782.
2008-06-30 14:25:32 +00:00
Matthias Jurenz
c0ea3635b6 Improved passing of OMPI configure arguments to VT's configure (Ticket #1353)
This commit was SVN r18779.
2008-06-30 13:32:04 +00:00
Pavel Shamis
eaa7676c57 Changing default maximum inline data size
from Maximum_Supported_By_Device to 128 (our original value).

This commit was SVN r18774.
2008-06-30 07:47:09 +00:00
Jeff Squyres
59b7665a3a Clarify and correct comments
This commit was SVN r18768.
2008-06-28 14:15:04 +00:00
Jeff Squyres
f42f55f84b Several improvements and fixes to the openib IBCM CPC:
* Move the passive side QP move to RTS to before we send the reply
   (vs. sending it after we get the RTU).  A lengthy comment explains
   the need for this.
 * Add some timers to the code for analyzing where time is spent.
 * Clarify a few error messages.
 * Currently have a loop around ib_cm_listen() because sometimes it
   fails for seeminly no reason.  Have pending e-mails in to Sean
   Hefty to see if we can figure out why this is happening.  Note that
   the more MPI processes you add, the more likely this error is to
   occur (e.g., ran 720 processes and it happens at least 50% of the
   time).  This makes IBCM somewhat unattractive for general use;
   hopefully we can get a fix...

This commit was SVN r18766.
2008-06-28 10:53:58 +00:00
Jeff Squyres
67933e743c Move some of the things I did in r18762 to the openib BTL proper (in
endpoint.c) because it's almost identical in all the CPC's.  OOB,
XOOB, and IBCM now all invoke the btl error handler properly if
there's an error during wireup.  RDMACM still needs to be done.

This commit was SVN r18764.

The following SVN revision numbers were found above:
  r18762 --> open-mpi/ompi@3eda04578f
2008-06-27 22:48:45 +00:00
Jeff Squyres
3eda04578f Clean up a lot of error handling in IBCM CPC; properly pass error to
upper level btl (and therefore the PML) when something goes wrong
during wireup.

Refs trac:1283.

This commit was SVN r18762.

The following Trac tickets were found above:
  Ticket 1283 --> https://svn.open-mpi.org/trac/ompi/ticket/1283
2008-06-27 21:02:05 +00:00
Shiqing Fan
d129578694 Small fix for including unistd.h header file.
This commit was SVN r18758.
2008-06-27 16:25:31 +00:00
Jeff Squyres
ad16d8f335 Fix some issues in the ibcm CPC:
* Properly handle non-symmetric subnet ID's
 * Be a bit more stringent when checking for the GID
 * Add lots of BTL_VERBOSE's for diagnostics

This commit was SVN r18754.
2008-06-26 20:23:56 +00:00
Ralph Castain
f4621af954 Restore the route initialization to the global server, if one is specified. This enables us to publish/lookup to a global server when using the direct routed module.
This commit was SVN r18753.
2008-06-26 18:02:45 +00:00
Jeff Squyres
90576a435b Fixes trac:1345
The issue is that the field mca_topo_base_comm_t->mtc_periods_or_edges
has a different length, depending on whether the communicator is a
graph or a cart.  One of the comm dup functions always assumed that it
was the length required by graph comms, which could lead to badness in
some cases.  This commit makes the legnth of that field on a comm dup
be the proper length and copies the data over appropriately.

I also changed the syntax of the ompi_comm_copy_topo() function to use
shorter pointer notation; it made the code much easier to read and
fix. 

This commit was SVN r18752.

The following Trac tickets were found above:
  Ticket 1345 --> https://svn.open-mpi.org/trac/ompi/ticket/1345
2008-06-26 16:59:31 +00:00
Ralph Castain
6af8a73dc0 Modify the checking logic to look for NULL return
This commit was SVN r18749.
2008-06-26 14:08:36 +00:00
Ralph Castain
af8c167861 May be picky, but cleanup before returning in error conditions
This commit was SVN r18748.
2008-06-26 13:31:36 +00:00
Ralph Castain
3631a60181 Update the PML selection logic to detect when a modex is required, and in those cases to only have rank=0 report its selected module. This is per the email thread on the devel list:
http://www.open-mpi.org/community/lists/devel/2008/06/4223.php

This commit was SVN r18747.
2008-06-26 13:22:48 +00:00
Jeff Squyres
dd563f9297 Add more output to btl_base_verbose
This commit was SVN r18743.
2008-06-25 20:16:34 +00:00
Jeff Squyres
b8b1aded4e Hook all the ibcm diagnostics up to "--mca btl_base_verbose 1":
* Use BTL_VERBOSE
 * Remove tailing \n's
 * Remove redundant prefixes (BTL_VERBOSE outputs __FILE__, function,
   and __LINE__)

This commit was SVN r18742.
2008-06-25 19:19:03 +00:00
Jeff Squyres
26f6d9cf0c Properly protect the use of dev->transport_type and
IBV_TRANSPORT_IWARP.

This commit was SVN r18738.
2008-06-25 14:50:59 +00:00
Jeff Squyres
64034b65d0 Remove debugging message kruft
This commit was SVN r18737.
2008-06-25 11:32:33 +00:00
George Bosilca
df9e54194b Fix a deadlock in the put protocol for MX. The callback was never triggered,
as the send and the put share the same execution path and in the case of the
put the MCA_BTL_DES_SEND_ALWAYS_CALLBACK was not set.

This commit was SVN r18735.
2008-06-25 03:45:30 +00:00
George Bosilca
24316b77cf This commit is related to ticket #1362. The following devices respect the
behavior described on the ticket: elan, gm, mx, self, sm, tcp.

This commit was SVN r18734.
2008-06-25 03:35:07 +00:00
Jeff Squyres
edad3b66a2 Add warning message if you request one max_inline_data value and the
device reduces it.

This commit was SVN r18728.
2008-06-24 20:40:03 +00:00
Jon Mason
eefc8956b6 Fix a bug introduced in r18725
ompi_info will crash due to a reference to a unalloced struct.  Add a check for
this struct to prevent this crash.

This commit was SVN r18727.

The following SVN revision numbers were found above:
  r18725 --> open-mpi/ompi@c2351d39f1
2008-06-24 20:38:47 +00:00
Brian Barrett
ac337114e6 Use ' ' instead of / / for the regex in split() when preparing the different
lists of flags for exec.  ' ' is a magic value that means match all
white space, and trim leading / trailing whitespace.  Will prevent
many spurious arguments to underlying compiler.

This commit was SVN r18726.
2008-06-24 19:37:05 +00:00
Jon Mason
c2351d39f1 Fix Ticket #1359
If rdmacm cpc is disabled and an iwarp device is forced to be used, then
mca_btl_openib_get_iwarp_subnet_id will attempt to reference an uninitalized
list.  Modify the code to check for the uninitalized list and return zero.

Also, fix a memory leak caused by not freeing alloced addresses structs during
shutdown. 

This commit was SVN r18725.
2008-06-24 19:16:06 +00:00
George Bosilca
fbf341068a Remove the pending queue from the shared memory BTL. The PML is in charge of managing
the fragments that failed to be send, there is no need to replicate the same
mechanism in the BTL.
Force the SM BTL to empty all ack fragments in the component progress function.

This commit was SVN r18724.
2008-06-24 19:01:26 +00:00
Jeff Squyres
ea21c31f44 * MCA params btl_openib_use_eager_rdma can now override the
INI file use_eager_rdma value (fixes trac:1169)
 * fixed a typo in a MCA param help message
 * made the check for enabling short/eager RDMA more robust in the
   presence of progress threads; it now emits a show_help warning

This commit was SVN r18723.

The following Trac tickets were found above:
  Ticket 1169 --> https://svn.open-mpi.org/trac/ompi/ticket/1169
2008-06-24 18:31:46 +00:00
Jeff Squyres
e0545460ff Fixes trac:1355: allow INI file to set max_inline_data vale, and if not
specified, probe for max value supported by device.

This commit was SVN r18720.

The following Trac tickets were found above:
  Ticket 1355 --> https://svn.open-mpi.org/trac/ompi/ticket/1355
2008-06-24 17:18:07 +00:00
Terry Dontje
12baa72580 This commit fixes trac:1306
This commit was SVN r18718.

The following Trac tickets were found above:
  Ticket 1306 --> https://svn.open-mpi.org/trac/ompi/ticket/1306
2008-06-24 14:38:11 +00:00
George Bosilca
1eb62b6c48 Remove a warning. Close ticket #1357.
This commit was SVN r18717.
2008-06-24 14:23:02 +00:00
Jeff Squyres
3f95b906c5 Fixes trac:1085: Improves SLURM configure logic to also allow OS X or any platform where srun is found in the PATH.
This commit was SVN r18714.

The following Trac tickets were found above:
  Ticket 1085 --> https://svn.open-mpi.org/trac/ompi/ticket/1085
2008-06-23 23:12:55 +00:00
Lenny Verkhovsky
937380df2f Memory check after allocation in SM fixed
This commit was SVN r18706.
2008-06-22 14:52:44 +00:00
Jeff Squyres
51d833e8d1 Minor fixes and comment clarifications for MPI-2.1-mandated handling
of strings.  We mostly did the Right Things already; I simplified the
code a bit and also had us not write to more characters in the C
bindings than we're supposed to (per language in the MPI-2.1 spec).

Fixes trac:1238.

This commit was SVN r18705.

The following Trac tickets were found above:
  Ticket 1238 --> https://svn.open-mpi.org/trac/ompi/ticket/1238
2008-06-21 19:33:47 +00:00
Jeff Squyres
281c37afcc Ensure to ignoe the "empty" CPC components.
This commit was SVN r18702.
2008-06-21 11:39:53 +00:00
Jeff Squyres
807e2cc742 Mark a notable place where we need to return an error up to the BTL or
PML.

This commit was SVN r18701.
2008-06-20 22:11:49 +00:00
Jeff Squyres
5ded50df0e * Fix a > that should be ==
* Ensure to destroy the correct QP (local->id[num]->qp will always
   have a valid pointer in it, even if we setup a dummy qp)
 * Note two notable places where we need to figure out how to
   propagate errors up from the CPC to the main BTL / PML when errors
   occur.  Probably have the same issue in IBCM, too.

This commit was SVN r18700.
2008-06-20 22:09:30 +00:00
Jeff Squyres
0074126886 Per #1352, most iWARP adapters today cannot handle connections between
two processes on the same server (!).  So for today, we'll simply mark
all local processes that use iWARP adapters as "unreachable".

More details in #1352.

This commit was SVN r18699.
2008-06-20 22:08:00 +00:00
Jeff Squyres
f4145fce7a Ensure that we don't try to shut down a thread that is not [yet] there
(e.g., if you're excluding some devices, their destructors will be
invoked before the async event thread was setup for them).

This commit was SVN r18698.
2008-06-20 19:30:51 +00:00
Jeff Squyres
ed17b51204 Adjust the max_inline default size down so that it can be accepted on
multiple adapters (eg., Chelsio T3).

But we need to figure out how to determine a good value for the
resident adapter(s) at runtime.  It's problematic because, for
example, Mellanox ConnectX and Chelsio T3 report max_inline values
differently at run-time.  If you ibv_create_qp with a max_inline value
of 0, ConnectX reports back a value that is a formular based on a few
other values (e.g., max_send_sge and max_recv_sge).  But T3 always
reports back "64".

We're looking into this to figure out the best way -- reducing the
default right now should allow other adapters to run while we figure
it out.

This commit was SVN r18697.
2008-06-20 18:24:04 +00:00
George Bosilca
54e7e03695 One less warning.
This commit was SVN r18695.
2008-06-20 17:50:19 +00:00
Jeff Squyres
f366f49179 Remove some leftover kruft; the STL is no longer used, so this lock is
no longer necessary.

This commit was SVN r18694.
2008-06-20 13:39:26 +00:00
Jeff Squyres
7a1206d912 Two more minor changes:
* Put the variable in the MPI namespace; keeps it safely segregated
   from user apps
 * Need to actually "extern" the variable to make the compiler not
   complain that the variable is never referenced

This commit was SVN r18693.
2008-06-20 13:36:02 +00:00
Jeff Squyres
7905db57bd Slightly decrease the number of buffers for the NetXen adapter
This commit was SVN r18691.
2008-06-20 01:00:22 +00:00
Pak Lui
119df10349 Fix the debugging messages
This commit was SVN r18686.
2008-06-19 18:54:20 +00:00
Pak Lui
a924b4a7f4 Define the symbols to allow parallel debuggers to dlopen
the shared object when it is compiled with the Sun Studio C compiler.
Depends on where the extern variables that are included in the headers were 
initialized, there can be instances wheter there is no storage allocated 
for the variables and therefore the symbols may or may not be defined 
when the debugger tries to dlopen this message queue dll.

This commit was SVN r18685.
2008-06-19 18:49:25 +00:00
George Bosilca
bc9b950162 Honor ^ for the PML selection.
This commit was SVN r18683.
2008-06-19 16:50:46 +00:00
Ralph Castain
265b4de5de Ensure that the call to orte_routed is properly protected at compile time when RTE support is disabled
This commit was SVN r18681.
2008-06-19 15:20:06 +00:00
Jeff Squyres
a884eebdf1 This warning has been bugging me in MTT nightly runs for forever: make
the char string ident in the C++ library be non-static so that other
places can see it.  This makes the C++ library version string
analogous to all the other version strings.

This commit was SVN r18679.
2008-06-19 14:40:37 +00:00
Ralph Castain
3b5e80fa61 Shift responsibility for preconnecting the oob to the orte routed framework, which is the only place that knows what needs to be done. Only the direct module will actually do anything - it uses the same algo as the original preconnect function.
This commit was SVN r18677.
2008-06-19 13:48:26 +00:00
Pavel Shamis
4537827973 Making the qp allocation more optimized.
- sq parameter was replaced with max_inline parameter
- inline is allocated only for relevant QPs

This commit was SVN r18675.
2008-06-19 08:40:39 +00:00
Ralph Castain
955d117f5e Add a new grpcomm module that mimics the old 1.2 behavior - it -always- does a modex because it always includes the architecture. Hence, we called it "blind-and-dumb" since it doesn't look to see if this is required - moniker of "bad". :-)
Update the ESS API so we can update the stored arch's should the modex include that info. Update ompi/proc to check/set the arch for remote procs, and add that function call to mpi_init right after the modex is done.

Setup to allow other grpcomm modules to decide whether or not to add the arch to the modex, and to detect if other entries have been made. If not, then the modex can just fall through. Begin setting up some logic in the "basic" module to handle different arch situations.

For now, default to the "bad" module so we will work in all situations, even though we may be sending around more info than we really require.

This fixes ticket #1340

This commit was SVN r18673.
2008-06-18 22:17:53 +00:00
Jeff Squyres
da6aa57efb Change up the logic a bit to handle the Red Storm case a bit better
(still need the real yod environment variable name), and add in some
lengthy comments explaining the two different methods of debugger
attach that we're using.

MPI handle debugging doesn't seem to be working at the moment; still
checking into it...

This commit was SVN r18672.
2008-06-18 21:33:08 +00:00
Ralph Castain
282a220e7e Update the debugger interface per email thread with Jeff and Brian. Handoff to them for final test and validation
This commit was SVN r18670.
2008-06-18 15:28:46 +00:00
George Bosilca
1dba362a01 Make the ompi_ddt_dump function externally visible.
This commit was SVN r18668.
2008-06-18 08:37:43 +00:00
George Bosilca
8e7c35e76c These symbols are only available via the module/component structure, so they
don't have to be globally visible.

This commit was SVN r18666.
2008-06-18 08:20:02 +00:00
Ralph Castain
0532d799d6 Complete implementation of the --without-rte-support configure option. Working with Brian, this has been tested on RedStorm.
Some minor changes to help facilitate debugger support so that both mpirun and yod can operate with it. Still to be completed.

This commit was SVN r18664.
2008-06-18 03:15:56 +00:00
Jeff Squyres
d0cfca5990 Documentation describing how TV (and others like it) attach to MPI
processes.  Originally downloaded from
http://www-unix.mcs.anl.gov/mpi/mpi-debug/mpich-attach.txt -- cached
here in case that file ever disappears someday.

This commit was SVN r18663.
2008-06-17 21:19:34 +00:00
Jeff Squyres
1e00d26c61 Minor word smything
This commit was SVN r18660.
2008-06-16 19:56:13 +00:00