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

8636 Коммитов

Автор SHA1 Сообщение Дата
Dan Lacher
938e7cd8d9 Switch solaris packages over to being built dynamically instead of from
static prototype files.

Submitted by: Dan Lacher
Reviewed by: Rolf Vandevaart

This commit was SVN r12544.
2006-11-10 18:42:50 +00:00
Jeff Squyres
f04ec1bda6 * Add blurb at the top about copyrights
* Remove extra character from LANL copyright, word-wrap and punctuate.

This commit was SVN r12542.
2006-11-10 17:54:28 +00:00
Jeff Squyres
e124857353 Various updates.
This commit was SVN r12540.
2006-11-10 17:41:42 +00:00
Jeff Squyres
5419219041 * Move one more item down into 1.2
* Add future bullet about threaded openib btl progress

This commit was SVN r12539.
2006-11-10 17:28:29 +00:00
Jeff Squyres
113fc131ef - Remove some pending items
- Sync with 1.1.3 NEWS
- Add udapl bullet
- Add MPI_STATUS_SET_ELEMENTS bullet

This commit was SVN r12538.
2006-11-10 17:07:51 +00:00
Gleb Natapov
7e03b83d23 Reset opcode field to SEND. It is checked later in pending progress function.
This commit was SVN r12531.
2006-11-10 06:17:00 +00:00
George Bosilca
77ef979457 New architecture for broadcast. A generic broadcast working on a tree
description. Most of the bcast algorithms can be completed using this
generic function once we create the tree structure. Add all kind of
trees.

There are 2 versions of the generic bcast function. One using overlapping
between receives (for intermediary nodes) and then blocking sends to all
childs and another where all sends are non blocking. I still have to
figure out which one give the smallest overhead.

This commit was SVN r12530.
2006-11-10 05:53:50 +00:00
George Bosilca
56748d5f57 Correctly initialize the unpack buffer.
This commit was SVN r12529.
2006-11-10 05:11:02 +00:00
George Bosilca
17405cd9c6 A temporary fix, until we figure out a better approach. The problem
is that if one add "pml=" to the configuration file, really bad things
happen. All PMLs will get initialize, and each of them will initialize
all BTLs. This patch force the mca_pml_base_pml to get initialized in
all cases before we go out of the mca_pml_base_open function.

This commit was SVN r12527.
2006-11-10 04:53:00 +00:00
George Bosilca
ab1655079d Turn off the CONVERTOR_NO_OP once we reach this point.
This commit was SVN r12526.
2006-11-09 23:56:31 +00:00
Jeff Squyres
8a08b092f6 Check to see if we need to do anything. If we don't (i.e., if all the
rcounts are 0), then just return MPI_SUCCESS.

This commit was SVN r12525.
2006-11-09 23:21:34 +00:00
Rich Graham
1cfe963071 update license.
This commit was SVN r12523.
2006-11-09 22:02:51 +00:00
Edgar Gabriel
b3fc84f669 yes, I did make commits to the trunk, so I should probably update the LICENSE
file as well. (The according files e.g. in the group directory have been
updated, but I forgot to update this one).

This commit was SVN r12522.
2006-11-09 21:59:48 +00:00
George Bosilca
4cb7910a8b And now the optimization step.
This commit was SVN r12521.
2006-11-09 20:26:51 +00:00
George Bosilca
1d80f685b5 Remove one compiler warning.
This commit was SVN r12520.
2006-11-09 20:08:43 +00:00
George Bosilca
e33d1dedab Rewrite the conditions to keep them as small as possible. Correct some
of these conditions. Optimize the flags generation for the convertor.

This commit was SVN r12518.
2006-11-09 19:33:19 +00:00
George Bosilca
da1720d1ef Indentation only.
This commit was SVN r12517.
2006-11-09 19:31:52 +00:00
George Bosilca
73eec4bfef Show the MCA parameter coll_base_verbose only if Open MPI is compiled in
debug mode. Otherwise there is no debug anyway ...

This commit was SVN r12516.
2006-11-09 19:02:32 +00:00
Jeff Squyres
0a28212392 This is a workaround to bug in the Intel C++ compiler, version 9.1
(all versions up to and including 20060925).  The issue has been
reported to Intel, along with a small [non-MPI] test program that
reproduces the problem (the test program and the OMPI C++ bindings
work fine with Intel C++ 9.0 and many other C++ compilers).

In short, a static initializer for a global variable (i.e., its
constructor is fired before main()) that takes as an argument a
reference to a typedef'd type will simply get the wrong value in the
argument.  Specifically:

{{{
namespace MPI {
    Intracomm COMM_WORLD(MPI_COMM_WORLD);
}
}}}

The constructor for MPI::Intracomm should get the value of
&ompi_mpi_comm_world.  It does not; it seems to get a random value.

As mandated by MPI-2, annex B.13.4, for C/C++ interoperability, the
prototype for this constructor is:

{{{
class Intracomm {
public:
    Intracomm(const MPI_Comm& data);
};
}}}

Experiments with icpc 9.1/20060925 have shown that removing the
reference from the prototype makes it work (!).  After lots of
discussions about this issue with a C++ expert (Doug Gregor from IU),
we decided the following (cut-n-paste from an e-mail):

-----
> So here's my question: given that OMPI's MPI_<CLASS> types are all
> pointers, is there any legal MPI program that adheres to the above
> bindings that would fail to compile or work properly if we simply
> removed the "&" from the second binding, above?

I don't know of any way that a program could detect this change. FWIW,
the C++ committee has agreed that implementation of the C++ standard
library are allowed to decide arbitrarily between const& and by-value.
If they don't care, MPI users won't care.

When you remove the '&', I suggest also removing the "const". It is
redundant, but can trigger some strange name mangling in Sun's C++
compiler.
-----

So with this change:

 * we now work again with the Intel 9.1 compiler
 * our C++ bindings do not exactly conform to the MPI-2 spec, but
   valid/legal MPI C++ apps cannot tell the difference (i.e., the
   functionality is the same)

This commit was SVN r12514.
2006-11-09 17:34:12 +00:00
George Bosilca
a14ff905f8 Update the convertor.c file. This commit was supposed to go together with
r12486 but somehow I miss it.
Update the pack and unpack functions for contigusous datatypes to minimize their
impact on the performance. Keep them as condensed as possible.

This commit was SVN r12513.

The following SVN revision numbers were found above:
  r12486 --> open-mpi/ompi@8746369338
2006-11-09 17:26:55 +00:00
Sven Stork
9ba4c4a7ee - Add support for "sh" handling. Instead of detecting of bash we now
check for bourne shell, because bourne shell is the smallest
  common divisor for bash/ksh/sh.
- Make some shell expressions sh compatible 

This commit was SVN r12509.
2006-11-09 10:16:45 +00:00
George Bosilca
a82ce427e4 Update the number of reduce algorithms available.
This commit was SVN r12503.
2006-11-08 22:20:34 +00:00
George Bosilca
0dcf0097db They are supposed to be ints not size_t.
This commit was SVN r12497.
2006-11-08 17:05:15 +00:00
George Bosilca
eab1776e9a Explicit casts for our friendly Windows environment...
This commit was SVN r12496.
2006-11-08 17:02:46 +00:00
George Bosilca
f9f1087e7f Be nice and let everybody access this variable.
This commit was SVN r12495.
2006-11-08 16:56:17 +00:00
George Bosilca
0914892044 Small cleanups, some explicit casts.
This commit was SVN r12494.
2006-11-08 16:54:03 +00:00
George Bosilca
74d3946342 Remove the call to set_args. This is only required for the MPI level,
because there we have to be able to return to the user the description
of the data.

This commit was SVN r12493.
2006-11-08 16:52:48 +00:00
George Bosilca
b53a313904 These functions dont have to be exported. The outside world
access them only via the pointer in the convertor structure.

This commit was SVN r12492.
2006-11-08 16:49:34 +00:00
Brian Barrett
1addeb118e * Already a note about this in the 1.2 section (Added a bunch of missing
C++ constants).

This commit was SVN r12488.
2006-11-08 14:29:30 +00:00
George Bosilca
3ecdb1678e Rollback the opal_object commit. Except on my initial test environment it
do not produce anything usefull.

This commit was SVN r12487.
2006-11-08 07:10:16 +00:00
George Bosilca
8746369338 This commit was supposed to go with the r12485.
This commit was SVN r12486.

The following SVN revision numbers were found above:
  r12485 --> open-mpi/ompi@b4e9199651
2006-11-08 06:21:15 +00:00
George Bosilca
b4e9199651 Minimize the impact on contiguous and predefined data-types. Most of the
usefull things are now done without the call to any external function,
directly in the macros in this file.
Create a new flag for the convertor to help figure out when we have
to do anything special for pack/unpack. A convertor with the flag
CONVERTOR_NO_OP is a basic convertor, designed for contiguous types.

This commit was SVN r12485.
2006-11-08 06:16:47 +00:00
George Bosilca
915d748d72 Initialize the convertor on _START not on _INIT. This allow us to
set it up before the match when we know the peer, saving some
time on the critical path. If the receive is ANY_SOURCE then
we initialize the convertor on _MATCHED. Anyway, we will set it
up only once per receive.

This commit was SVN r12484.
2006-11-08 05:42:29 +00:00
George Bosilca
ad5d5b95c8 Help the compiler to understand what we're doing here. It generate less
memory accesses at least with gcc.

This commit was SVN r12483.
2006-11-08 05:08:11 +00:00
George Bosilca
eb45a5e402 Move things around a little bit. Mainly fields from the send and receive
request in the base request. Rearrange the fields to keep the data
together. Remove some useless tests.

This commit was SVN r12482.
2006-11-08 04:58:23 +00:00
George Bosilca
63462331c9 Reduce the number of branches. Keep the fast path as short as possible.
Remove some useless error checking. Add OPAL_UNLIKELY directives.

This commit was SVN r12477.
2006-11-07 23:59:32 +00:00
George Bosilca
f3de2e1a82 Keep the fast path as short as possible.
This commit was SVN r12476.
2006-11-07 23:56:32 +00:00
Ralph Castain
a3be8261fb Fix a bug that had us generate an error message and abort startup when there were stale universe directories around. Now, we just ignore them.
This commit was SVN r12472.
2006-11-07 21:34:57 +00:00
Jeff Squyres
31e8f510fe After review with Rolf, decided to be a bit more safe and instead of
assigning status._cancelled, call MPI_STATUS_SET_CANCELLED.

This commit was SVN r12471.
2006-11-07 20:49:31 +00:00
Jeff Squyres
427c20af0d Use a new algorithm for allgatherv. The old algorithm essentially did
N gatherv's:

  for (i = 0 ... size)
    MPI_Gatherv(..., root = i, ...)

The new algorithm simply does (effectively):

  MPI_Gatherv(..., root = 0, ...)
  MPI_Bcast(..., root = 0, ...)

This commit was SVN r12469.
2006-11-07 18:07:55 +00:00
Jeff Squyres
25dab9700f * Add some error checking to GET_ELEMENTS and STATUS_SET_CANCELLED
* Move the check for STATUS_IGNORE in STATUS_SET_ELEMENTS up into the
   error checking block

This commit was SVN r12460.
2006-11-07 02:47:35 +00:00
Galen Shipman
55db17b37c don't try to use a dead btl..
This commit was SVN r12456.
2006-11-06 23:25:24 +00:00
George Bosilca
f81a599326 Don't do the safe guard for contiguous memory layouts.
This commit was SVN r12455.
2006-11-06 23:15:24 +00:00
George Bosilca
108ea4dbe9 When the MX MTL complete a request, force a return from the progress function.
Decrease the latency by about 0.3 microseconds.

This commit was SVN r12454.
2006-11-06 23:13:07 +00:00
George Bosilca
3d0df2cf29 Allow the MX BTL to finish the small sends quicker. Once the mx_isend is posted if
the message size is less than 4K do a check for the message completion and if any
call the callback.

This commit was SVN r12453.
2006-11-06 23:12:01 +00:00
Galen Shipman
eef37430a7 failing already failed for ACK timeout..
This commit was SVN r12452.
2006-11-06 22:09:39 +00:00
Galen Shipman
813e7faea8 more fixes for failover.. and yet still more to come..
This commit was SVN r12450.
2006-11-06 21:27:17 +00:00
Ralph Castain
ea77beca29 cleanup the TM modules in prep for T-bird tests. The TM RAS will now report time required to resolve hostnames
This commit was SVN r12449.
2006-11-06 20:56:18 +00:00
Jeff Squyres
6e1729cb93 Fixes trac:580
* Add MPI::Status methods Set_elements() and Set_cancelled()
 * Added a bunch of comments in various places in the MPI C++ bindings
   implementatio just to explain what's going on (because C++ can hide
   a lot from you)
 * Insert C++ callbacks for the MPI_Grequest callback functions
   registered by MPI::Grequest::Start().  These callbacks keep a
   little meta-data (created by Grequest::Start()) that allow the
   proper callback signatures from C (i.e., from ompi_grequest_<foo>()
   in libmpi.a -- C code), translate arguments as required, and then
   invoke the callbacks with proper C++ signatures (i.e., call
   user-defined callbacks with C++ function signatures).

This commit was SVN r12446.

The following Trac tickets were found above:
  Ticket 580 --> https://svn.open-mpi.org/trac/ompi/ticket/580
2006-11-06 18:42:00 +00:00
Ralph Castain
884caeb2c7 Add timing tests for the TM ras
This commit was SVN r12445.
2006-11-06 18:41:22 +00:00