1
1

3092 Коммитов

Автор SHA1 Сообщение Дата
George Bosilca
10175c3014 No more warnings in the PML V.
This commit was SVN r15601.
2007-07-25 04:19:58 +00:00
George Bosilca
c961cb5749 The Windows support is now back in bussiness.
This commit was SVN r15599.
2007-07-25 03:55:34 +00:00
George Bosilca
c6d2e03cdd Correct the prototype for non GNU compilers.
This commit was SVN r15598.
2007-07-25 03:50:35 +00:00
Jeff Squyres
e80b7e9dde If MPI_ALLOC_MEM is invoked with a 0 sized request, return NULL. If
MPI_FREE_MEM is invoked with NULL, return success.

Fixes trac:1101.

This commit was SVN r15593.

The following Trac tickets were found above:
  Ticket 1101 --> https://svn.open-mpi.org/trac/ompi/ticket/1101
2007-07-25 01:00:30 +00:00
Donald Kerr
be0bf9c27d add a missing subroutine prototype
This commit was SVN r15590.
2007-07-24 21:07:57 +00:00
Jeff Squyres
f2a2b2c0f9 A little more error checking; clean up the invalid MCA help message
This commit was SVN r15589.
2007-07-24 20:57:40 +00:00
Gleb Natapov
5b7d3faedc Implement "credit management for credit messages" protocol. On each message a
sender piggybacks a number of credit messages it received from a peer. A number
of outstanding credit messages is limited. This is needed to never ever fall
back to HW flow control.

This commit was SVN r15580.
2007-07-24 15:19:51 +00:00
Gleb Natapov
45a7a0650b btl_openib_handle_incoming() is called from regular receive path and from
eager RDMA receive path and checks internally from where it was called from to
perform different tasks. Leave only common code in there and move other code
to appropriate places.

This commit was SVN r15579.
2007-07-24 13:23:08 +00:00
Jeff Squyres
7177e8c753 Fix mistaken logic for the error handler. Thanks to Jeff Dusenberry
for pointing out the problem and supplying the fix.

This commit was SVN r15574.
2007-07-24 01:01:13 +00:00
George Bosilca
0486e8949e Remove all warnings.
This commit was SVN r15570.
2007-07-23 21:06:25 +00:00
Donald Kerr
2df5576d1d add support for if_include/if_exclude mca parameter to allow selection of udapl registry interface adapters; reviewed by rolf van de vaart
This commit was SVN r15565.
2007-07-23 19:49:34 +00:00
George Bosilca
21a7670390 Update the elan BTL. Now we support the following protocols: send, put
and partially get.

This commit was SVN r15564.
2007-07-23 19:07:13 +00:00
Ralph Castain
957128b887 Add new orte frameworks
This commit was SVN r15561.
2007-07-23 18:31:02 +00:00
Pavel Shamis
ebadede3c4 Adding mca_mpool_rdma_finalize.
This commit was SVN r15557.
2007-07-23 16:18:36 +00:00
Brian Barrett
9184db7239 Update ROMIO release to the one included with MPICH2-1.0.5p4, tagged in
vendor/romio as mpich2-1.0.5p4.

This commit was SVN r15544.
2007-07-21 22:08:27 +00:00
Aurelien Bouteiller
16da13c79e Missing file...
This commit was SVN r15540.
2007-07-20 22:24:02 +00:00
Aurelien Bouteiller
70bb44d7a9 Moving the Message Log framework to the trunk. Protocol example (simple
showcase) and sender based are provided for now.

Ignored by default except for utk folks. 

This commit was SVN r15539.
2007-07-20 21:36:11 +00:00
Brian Barrett
5b9fa7e998 reapply r15517 and r15520, which were removed in r15527 so that I could get
the RML/OOB merge in slightly easier

This commit was SVN r15530.

The following SVN revision numbers were found above:
  r15517 --> open-mpi/ompi@41977fcc95
  r15520 --> open-mpi/ompi@9cbc9df1b8
  r15527 --> open-mpi/ompi@2d17dd9516
2007-07-20 02:34:29 +00:00
Brian Barrett
39a6057fc6 A number of improvements / changes to the RML/OOB layers:
* General TCP cleanup for OPAL / ORTE
  * Simplifying the OOB by moving much of the logic into the RML
  * Allowing the OOB RML component to do routing of messages
  * Adding a component framework for handling routing tables
  * Moving the xcast functionality from the OOB base to its own framework

Includes merge from tmp/bwb-oob-rml-merge revisions:

    r15506, r15507, r15508, r15510, r15511, r15512, r15513

This commit was SVN r15528.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r15506
  r15507
  r15508
  r15510
  r15511
  r15512
  r15513
2007-07-20 01:34:02 +00:00
Brian Barrett
2d17dd9516 temporarily back our r15517 and 15520 so that I can get the RML / OOB changes
to cleanly apply

This commit was SVN r15527.

The following SVN revision numbers were found above:
  r15517 --> open-mpi/ompi@41977fcc95
2007-07-20 01:10:34 +00:00
Tim Prins
0b06832fc7 Properly return a value in all cases.
This commit was SVN r15519.
2007-07-19 21:33:23 +00:00
Ralph Castain
41977fcc95 Remove the cellid field from the orte_process_name_t structure. This only affects a handful of files in itself, but...
Cleanup ALL instances of output involving the printing of orte_process_name_t structures using the ORTE_NAME_ARGS macro so that the number of fields and type of data match. Replace those values with a new macro/function pair ORTE_NAME_PRINT that outputs a string (using the new thread safe data capability) so that any future changes to the printing of those structures can be accomplished with a change to a single point.

Note that I could not possibly find outputs that directly print the orte_process_name_t fields, but only dealt with those that used ORTE_NAME_ARGS. Hence, you may still have a few outputs that bark during compilation. Also, I could only verify those that fall within environments I can compile on, so other environments may yield some minor warnings.

This commit was SVN r15517.
2007-07-19 20:56:46 +00:00
Brian Barrett
9b14008f61 add a couple of comments, clean up the organization a bit
This commit was SVN r15499.
2007-07-18 22:56:33 +00:00
Pavel Shamis
d837f1446b It is work around for Ticket #1092.
It will prevent the error failure in openib finalize
but it doesn't resolve the actual issue. I guess that
oneside tests some how allocates memory (mpool?) and doesn't 
release it. Need to check it.

This commit was SVN r15488.
2007-07-18 18:02:13 +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
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
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
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
804f3bee41 - export symbols that are required for the fortran bindings
This commit was SVN r15439.
2007-07-16 13:23:57 +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
Galen Shipman
06b97cb267 fix template btl
This commit was SVN r15413.
2007-07-13 20:06:22 +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
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
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
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
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
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