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

10084 Коммитов

Автор SHA1 Сообщение Дата
Sven Stork
a6d04c60b4 - the use_component function is always present independent of OMPI_WANT_LIBLTDL
This commit was SVN r15481.
2007-07-18 14:25:51 +00:00
Sven Stork
92fce998fe - the use_component function is always present independent of OMPI_WANT_LIBLTDL
This commit was SVN r15480.
2007-07-18 14:19:24 +00:00
Gleb Natapov
45fcb45e31 Remove debug checks that produce lots of warnings during compilation.
This commit was SVN r15479.
2007-07-18 13:49:15 +00:00
Gleb Natapov
30b2183314 Remove debug output from a hot path.
This commit was SVN r15478.
2007-07-18 12:48:34 +00:00
Sven Stork
2ab401dc3c - export required symbols used by OSC
This commit was SVN r15476.
2007-07-18 11:51:52 +00:00
Jeff Squyres
3bc940ac27 Fix three things from r15474 (thanks to Brian for noticing):
* bml.h had a change that introduced a variable named "_order" to
   avoid a conflict with a local variable.  The namespace starting
   with _ belongs to the os/compiler/kernel/not us.  So we can't start
   symbols with _.  So I replaced it with arg_order, and also updated
   the threaded equivalent of the macro that was modified.
 * in btl_openib_proc.c, one opal_output accidentally had its string
   reverted from "ompi_modex_recv..." to
   "mca_pml_base_modex_recv....".  This was fixed.
 * The change to ompi/runtime/ompi_preconnect.c was entirely
   reverted; it was an artifact of debugging.

This commit was SVN r15475.

The following SVN revision numbers were found above:
  r15474 --> open-mpi/ompi@8ace07efed
2007-07-18 11:38:06 +00:00
Jeff Squyres
8ace07efed This commit brings in two major things:
1. Galen's fine-grain control of queue pair resources in the openib
   BTL.
1. Pasha's new implementation of asychronous HCA event handling.

Pasha's new implementation doesn't take much explanation, but the new
"multifrag" stuff does.  

Note that "svn merge" was not used to bring this new code from the
/tmp/ib_multifrag branch -- something Bad happened in the periodic
trunk pulls on that branch making an actual merge back to the trunk
effectively impossible (i.e., lots and lots of arbitrary conflicts and
artifical changes).  :-(

== Fine-grain control of queue pair resources ==

Galen's fine-grain control of queue pair resources to the OpenIB BTL
(thanks to Gleb for fixing broken code and providing additional
functionality, Pasha for finding broken code, and Jeff for doing all
the svn work and regression testing).

Prior to this commit, the OpenIB BTL created two queue pairs: one for
eager size fragments and one for max send size fragments.  When the
use of the shared receive queue (SRQ) was specified (via "-mca
btl_openib_use_srq 1"), these QPs would use a shared receive queue for
receive buffers instead of the default per-peer (PP) receive queues
and buffers.  One consequence of this design is that receive buffer
utilization (the size of the data received as a percentage of the
receive buffer used for the data) was quite poor for a number of
applications.

The new design allows multiple QPs to be specified at runtime.  Each
QP can be setup to use PP or SRQ receive buffers as well as giving
fine-grained control over receive buffer size, number of receive
buffers to post, when to replenish the receive queue (low water mark)
and for SRQ QPs, the number of outstanding sends can also be
specified.  The following is an example of the syntax to describe QPs
to the OpenIB BTL using the new MCA parameter btl_openib_receive_queues:

{{{
-mca btl_openib_receive_queues \
     "P,128,16,4;S,1024,256,128,32;S,4096,256,128,32;S,65536,256,128,32"
}}}

Each QP description is delimited by ";" (semicolon) with individual
fields of the QP description delimited by "," (comma).  The above
example therefore describes 4 QPs.

The first QP is:

    P,128,16,4

Meaning: per-peer receive buffer QPs are indicated by a starting field
of "P"; the first QP (shown above) is therefore a per-peer based QP.
The second field indicates the size of the receive buffer in bytes
(128 bytes).  The third field indicates the number of receive buffers
to allocate to the QP (16).  The fourth field indicates the low
watermark for receive buffers at which time the BTL will repost
receive buffers to the QP (4).

The second QP is:

    S,1024,256,128,32

Shared receive queue based QPs are indicated by a starting field of
"S"; the second QP (shown above) is therefore a shared receive queue
based QP.  The second, third and fourth fields are the same as in the
per-peer based QP.  The fifth field is the number of outstanding sends
that are allowed at a given time on the QP (32).  This provides a
"good enough" mechanism of flow control for some regular communication
patterns.

QPs MUST be specified in ascending receive buffer size order.  This
requirement may be removed prior to 1.3 release.

This commit was SVN r15474.
2007-07-18 01:15:59 +00:00
George Bosilca
e3ad495e7b Remove an unused variable.
This commit was SVN r15473.
2007-07-17 22:34:59 +00:00
George Bosilca
59ee366728 Remove a compilation warning.
This commit was SVN r15472.
2007-07-17 22:32:59 +00:00
Rich Graham
f2a30cde5d add table of send completion callback functions, on a per send-type
basis.

This commit was SVN r15471.
2007-07-17 21:26:56 +00:00
Rich Graham
0991c3d5f5 move buffered send component clean up out of the pml to ompi_mpi_finalize.
This commit was SVN r15463.
2007-07-17 14:50:52 +00:00
Sven Stork
73f1d800cf - Make the component select with static build working.
Remove the matching logic out of dynamic path into an
  extra function. Add the corresponing check to the static
  component path.

This commit was SVN r15458.
2007-07-17 12:06:51 +00:00
George Bosilca
e782da00e0 Don't allow the same communicator to be used in a multi-threaded build by several
threads to create new communicators. There is nothing in the standard about threading
and communicaotr functions, but as they include collective communications I expect the
same rules have to be applied. As such, on an incorrect MPI program we deadlock (!).

This commit was SVN r15456.
2007-07-17 00:33:27 +00:00
Rich Graham
de5670cd79 add missing header file - Thanks Brian.
This commit was SVN r15455.
2007-07-17 00:06:35 +00:00
Rich Graham
1a4ce2a961 move setting of the component used to managed buffer sends out of the
pmls, and into ompi_mpi_init.  This is the first of several steps to pull
buffered send management out of the pmls.

This commit was SVN r15451.
2007-07-16 21:52:25 +00:00
Ralph Castain
511457feb5 Remove stale test code. At least we were wise enough to have eliminated this code from the "make check" tree, but almost none of it compiles and of what does compile, nothing seems to really work.
This commit was SVN r15446.
2007-07-16 16:34:14 +00:00
Brian Barrett
6a1f876e98 Don't inline this function so that we can access the predefined datatype
array even when visibility is turned on

This commit was SVN r15444.
2007-07-16 16:29:51 +00:00
Sven Stork
c43335d671 - release the lock before we forward a message. In the threaded
build it's possible that we have to process an ack before this function
  returns. If we don't release the lock here we cause a deadlock later
  in ack processing function.

This commit was SVN r15441.
2007-07-16 14:43:24 +00:00
Ralph Castain
5121dfe7e7 With the changes to the failed-to-start logic, we need to revise the odls so it doesn't overwrite the exit status on procs that are not found. Otherwise, we lose the appropriate error message to the user.
This commit was SVN r15440.
2007-07-16 13:50:26 +00:00
Sven Stork
804f3bee41 - export symbols that are required for the fortran bindings
This commit was SVN r15439.
2007-07-16 13:23:57 +00:00
Ralph Castain
cd9213a9f0 Son of a gun - how did that fix not get into r15390?
Fix the blasted iof null component so it only is selected if/when directed.

This commit was SVN r15437.

The following SVN revision numbers were found above:
  r15390 --> open-mpi/ompi@bd65f8ba88
2007-07-16 12:38:11 +00:00
Ralph Castain
d109e9a6f4 Roll in the Voltaire core/socket/etc process mapping implementation. Only change I made was to cleanup some of the diagnostic output in the odls_default component so it uses the -mca odls_base_verbose parameter.
You will not see any impact from this change unless you use the syntax described in ticket #1023. I've tried as many of the RAS components as possible and saw no problem - there may be issues with other RAS components that would not compile on any of my systems. Anything that appears should be trivial to fix.

This commit was SVN r15427.
2007-07-14 15:14:07 +00:00
George Bosilca
c839694fb8 Dont print anything when the user requested a specific MX interface.
This commit was SVN r15426.
2007-07-14 00:04:50 +00:00
George Bosilca
1e825888a5 Fix the problem reported on #1087. The global send and receive requests queues are
now release in the base close, so there is no need for the cm PML to destroy them.

This commit was SVN r15425.
2007-07-13 23:56:09 +00:00
Brian Barrett
c9ad5d1f24 ooops, need to handle case where extents are not same as type sizes
This commit was SVN r15423.
2007-07-13 21:26:12 +00:00
Jelena Pjesivac-Grbovic
1b66a52c50 Modifying type of binomial tree used for binomial reduce:
switching:
       0                         0
     / \ \                     / \ \
	1    \ \         -->       4   \ \
  /      \ \                 /     \ \
 3       2  \               3       2 \
             4                         1
(duh).  The first form is the bmtree suitable for bcast, but the latter is better for reduce.
Updating default decision function accordingly.

This commit was SVN r15422.
2007-07-13 21:07:51 +00:00
Pak Lui
685dd6f47b Fixed the mpool sm size specification problem at large -np due to variable has overflown
Added a verbose MCA param for showing the actual size of the mpool sm allocation

See trac #1083 for details

This commit was SVN r15419.
2007-07-13 20:49:30 +00:00
Brian Barrett
7a9a8c7e17 Support reduction operations other than MPI_REPLACE for user-defined
datatypes with MPI_ACCUMULATE

This commit was SVN r15418.
2007-07-13 20:46:12 +00:00
Tim Mattox
bfe682b6c7 Added a udapl NEWS item for v1.2.4
This commit was SVN r15415.
2007-07-13 20:24:14 +00:00
Galen Shipman
06b97cb267 fix template btl
This commit was SVN r15413.
2007-07-13 20:06:22 +00:00
Josh Hursey
eeba2cb871 Add a comment to clarify the relationship between
mca_base_cmd_line_process_args() and opal_init_util() so
we do not forget their ordering needs, and subtle relationship.

This commit was SVN r15412.
2007-07-13 19:08:05 +00:00
Sven Stork
3bb6ca6a3d - export orted symbols
This commit was SVN r15411.
2007-07-13 18:49:43 +00:00
Tim Mattox
bc3adb98c5 Added a bunch of NEWS items for v1.2.4
This commit was SVN r15410.
2007-07-13 18:46:09 +00:00
Josh Hursey
20bbe9ee2b Bring back the AMCA fix for the orted from r15219.
This fixes C/R support for the trunk which regressed in r15390 due to the RTE
changes.

This commit was SVN r15409.

The following SVN revision numbers were found above:
  r15219 --> open-mpi/ompi@f88aa6c273
  r15390 --> open-mpi/ompi@bd65f8ba88
2007-07-13 18:15:36 +00:00
Tim Prins
d2f0806420 Fix a problem introduced by r15390 which was causing strange failures in numerous areas.
We no longer store whether we are a singleton in a MCA parameter, we now use a global constant. So all references to the MCA parameter must be removed.

This commit was SVN r15408.

The following SVN revision numbers were found above:
  r15390 --> open-mpi/ompi@bd65f8ba88
2007-07-13 17:52:16 +00:00
Josh Hursey
d4d5a351c1 Silence a compiler warning when not using IPV6.
Also convert a few statements to conform to coding standard for Open MPI.

This commit was SVN r15407.
2007-07-13 16:38:36 +00:00
Ralph Castain
2bded34a1d Fix a problem observed by Brian where processes launched local to mpirun lost their environment except for MCA params.
The problem stemmed from no longer launching a local orted on the same node as mpirun. The orted would save and reuse the base environment. Mpirun didn't do that, and the odls was using the orted's globally saved environment (which wasn't being set).

This fix establishes a globally accessible base launch environment that both the orted and mpirun can utilize. Since we now use that, we don't need to pass it to the odls_launch_proc function, so remove that param from the API (and modify all components to handle the change).

This commit was SVN r15405.
2007-07-13 15:47:57 +00:00
Tim Prins
f325fed4e0 update svn:ignore
This commit was SVN r15403.
2007-07-13 15:09:40 +00:00
Camille Coti
59dc6b95f3 Modifications in the way user-specified modules are loaded. Once we get the list of filenames from the libtool, we add the statically defined ones and then based on the include/exclude string we only keep the ones requested by the user. If no include/exclude was provided, we keep [as expected] everything. Once we have the list of whatever is requested we open them. Therefore, as an example, if the user specify "--mca pml ob1" we will never try to load/open/init DR nor CM.
There are several interesting things:
1. less NFS traffic [as we potentially access less files]
2. faster loading time [in case the user tune it's execution environment]
3. (1) + (2) -> faster startup time [at least everything which do not depend on the network]
4. MX bug will go away if the pml is specified.
5. No useless BTL will be opened, which will solve few others issues.

This commit was SVN r15402.
2007-07-13 14:54:01 +00:00
Jeff Squyres
24a28494a6 Fix what looks like a cut-n-paste error.
This will not cause everyone to run autogen because this component is
.ompi_ignore'd for everyone except jsquyres and rhc.

This commit was SVN r15401.
2007-07-13 14:47:03 +00:00
Josh Hursey
021249fa65 Use the new MCA metadata flag instead of 'false' for the newly added components
This commit was SVN r15400.
2007-07-13 14:39:17 +00:00
Ralph Castain
ec79f264a6 The iof is still having problems with non-orte/ompi programs, apparently. Turn off the iof_flush when a program terminates as this will (in the case of non-orte/ompi programs) cause mpirun to hang.
This commit was SVN r15399.
2007-07-13 13:05:46 +00:00
Jeff Squyres
b20248709a Next round of LSF commits. Getting farther, but it still doesn't
fully work yet (everything is still .ompi_ignore'ed for everyone).

This commit was SVN r15398.
2007-07-13 11:57:17 +00:00
George Bosilca
b9db0a4c2d Remove a warning:
ompi-trunk/ompi/runtime/ompi_mpi_init.c:221: warning: `cmd_buffer' might be used uninitialized in this function

This commit was SVN r15397.
2007-07-13 06:20:44 +00:00
George Bosilca
52eebd706f Update the xgrid PLS to fit the current interface of the PLS.
This commit was SVN r15396.
2007-07-13 06:18:16 +00:00
George Bosilca
725f776bb2 This patch was originally proposed by Brian, I just did some small optimizations.
It solve the problem with the MPI_Aint alignment that showed up on Solaris
Sparc and on heterogeneous environments when dealing with the data-type description.
The solution is to move the displacement array from the packed array if we
detect that the local architecture required MPI_Aint to be aligned to an
MPI_Aint boundary (which is not the case for x86 architectures if MPI_Aint
is a 64 bits type).

This commit was SVN r15395.
2007-07-13 05:45:02 +00:00
Josh Hursey
3f0bca5017 the other half of r15392. Sorry for the autogen :/
This commit was SVN r15394.

The following SVN revision numbers were found above:
  r15392 --> open-mpi/ompi@73273397f5
2007-07-12 21:30:59 +00:00
Brian Barrett
d4950c6aa1 Allow an arbitrary list of procs to be passed to the resolve function,
instead of just the procs for MCW (in MCW order).  Should make resolving
ptl_process_id_t structures for arbitrary communicators easier for
applications that need it.

This commit was SVN r15393.
2007-07-12 20:55:44 +00:00
Josh Hursey
73273397f5 Quiet a warning on the Cray systems in which mkfifo does not work.
Thanks to Lisa Glendenning for mentioning this, and Brian for following
up with me on it.

This commit was SVN r15392.
2007-07-12 20:30:09 +00:00
Ralph Castain
bd65f8ba88 Bring in an updated launch system for the orteds. This commit restores the ability to execute singletons and singleton comm_spawn, both in single node and multi-node environments.
Short description: major changes include -

1. singletons now fork/exec a local daemon to manage their operations.

2. the orte daemon code now resides in libopen-rte

3. daemons no longer use the orte triggering system during startup. Instead, they directly call back to their parent pls component to report ready to operate. A base function to count the callbacks has been provided.

I have modified all the pls components except xcpu and poe (don't understand either well enough to do it). Full functionality has been verified for rsh, SLURM, and TM systems. Compile has been verified for xgrid and gridengine.

This commit was SVN r15390.
2007-07-12 19:53:18 +00:00