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

96 Коммитов

Автор SHA1 Сообщение Дата
Ralph Castain
fa082cafa9 Shift the architecture calculation from the ompi/datatype engine to the opal/util area. This allows us to compute the architecture earlier in the launch and communicate it outside of the modex.
Note: this is an early preliminary step in the movement of portions of the datatype engine to the opal layer.

This commit was SVN r18198.
2008-04-17 20:43:56 +00:00
Shiqing Fan
79da2fdd2c Use the new memchecker convertor function.
Remove some unnecessary memchecker calls.

This commit was SVN r18172.
2008-04-16 13:24:35 +00:00
Shiqing Fan
54c7b71cfd Use the correct way of including memchecker.h, which will work with '--with-devel-headers'.
This commit was SVN r17435.
2008-02-12 18:01:17 +00:00
Shiqing Fan
f5792bbda5 merging the memchecker into trunk.
This commit was SVN r17424.
2008-02-12 08:46:27 +00:00
Tim Prins
b88a3f7a94 Update onesided components to fix the case (on 64 bit machines) where the total offset is greater than 2^31-1 bytes.
See: http://www.open-mpi.org/community/lists/users/2008/01/4880.php

This commit was SVN r17400.
2008-02-07 18:45:35 +00:00
Jeff Squyres
213b5d5c6e Per long threads on the mailing list and much confusion discussion
about linkers, have all OPAL, ORTE, and OMPI components '''not'' link
against the OPAL, ORTE, or OMPI libraries.

See ttp://www.open-mpi.org/community/lists/users/2007/10/4220.php for
details (or https://svn.open-mpi.org/trac/ompi/wiki/Linkers for a
better-formatted version of the same info).

This commit was SVN r16968.
2007-12-15 13:32:02 +00:00
Shiqing Fan
efdcfa3807 - "extern 'C'" has been set twice. Remove one.
This commit was SVN r16022.
2007-08-30 15:03:59 +00:00
Jeff Squyres
466394a878 We only care about the value of ret in the
!OMPI_ENABLE_PROGRESS_THREADS case.  Reviewed by Brian.

This commit was SVN r16000.
2007-08-29 01:36:17 +00:00
Brian Barrett
af4e86c25f Update collectives selection logic to allow for multiple components to be
used at nce (up to one unique collective module per collective function).
Matches r15795:15921 of the tmp/bwb-coll-select branch

This commit was SVN r15924.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r15795
  r15921
2007-08-19 03:37:49 +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
Brian Barrett
739fed9dc9 Don't poke at internal structure fiealds of communicators or groups, but
instead use accessor functions

This commit was SVN r15366.
2007-07-11 17:16:06 +00:00
Brian Barrett
2ed0548da8 * No need for waiting until exposure epochs are over in order to complete
a WIN_FREE
  * Fix race condition in threaded builds with pending unlocks and
    finishing an epoch
  * Fix memory leak due to use of OBJ_DESTRUCT instead of OBJ_RELEASE
  * Fix race condition between releasing multiple shared locks and
    starting a new lock
  * Need to incremement the shared count if starting a new shared
    lock once an exclusive lock finishes

This commit was SVN r15185.
2007-06-24 22:36:00 +00:00
Brian Barrett
5528e0ca60 Properly initialize variable for threaded case
This commit was SVN r15174.
2007-06-22 15:29:06 +00:00
Brian Barrett
5f16251808 revert r15167. I don't know what I was thinking, but it was most definitely
"not right".

This commit was SVN r15172.

The following SVN revision numbers were found above:
  r15167 --> open-mpi/ompi@faa401dc47
2007-06-22 15:25:39 +00:00
Brian Barrett
80c50120ad debugging output should be macro version
This commit was SVN r15168.
2007-06-21 22:09:37 +00:00
Brian Barrett
faa401dc47 * Need to OBJ_RELEASE, not OBJ_DESTRUCT things that were created with
OBJ_NEW
  * Need to single when the passive unlock has left an expose epoch for
    the win_free case
  * Clean up some debugging output
  * fix missing variable initialization

This commit was SVN r15167.
2007-06-21 22:08:30 +00:00
Brian Barrett
0798c0784d properly set fields so that most difficult alignment rules are always met.
This commit was SVN r14854.
2007-06-05 01:46:04 +00:00
Brian Barrett
a2713dcac8 eeks! Bad to notice after committing the pt2pt part of r14806 that the
compile failed because of the wrong variable name.

This commit was SVN r14807.

The following SVN revision numbers were found above:
  r14806 --> open-mpi/ompi@7e57bbb0ef
2007-05-30 20:33:08 +00:00
Brian Barrett
7e57bbb0ef React slightly better when datatype creation from a buffer fails
This commit was SVN r14806.
2007-05-30 20:32:02 +00:00
George Bosilca
8b817e96fd Allow threaded compilation.
This commit was SVN r14775.
2007-05-25 01:53:29 +00:00
Brian Barrett
38b0d22243 Some cleanups to the pt2pt component
* Remove unused declaration
  * remove unused variable warning when not using progress threads
  * If we're using progress threads, we want to lock, not trylock
    when in progress, since it was called from the wakeup thread
    and not the progress function

This commit was SVN r14739.
2007-05-23 20:31:25 +00:00
Sven Stork
88f0845c44 - let the pt2pt component compile with threads enabled
This commit was SVN r14725.
2007-05-23 12:56:34 +00:00
Brian Barrett
38eab3613b * Fix race condition with the pending_{in,out} variables -- if we're going
to do while(...) { } then we can't change the variables in the ... 
    atomically, but should do it while holding the module lock.
  * Fix dumb communicator creation error when we don't create the progress
    stuff (because a window already exists), where we would accidently
    jump to the error case.

This commit was SVN r14715.
2007-05-21 20:53:02 +00:00
Brian Barrett
0e9e0c518a Fix a couple more progress thread related issues...
This commit was SVN r14708.
2007-05-21 16:06:14 +00:00
Brian Barrett
1191677b76 Fix dumb threads-related compile issues
This commit was SVN r14704.
2007-05-21 03:23:58 +00:00
Brian Barrett
2b4b754925 Some much needed cleanup of the point-to-point one-sided component...
* Combine polling of the long requests and buffer requests into
    one type, and in one place
  * Associate the list of requests to poll with the component, not
    the individual modules
  * add progress thread that sits on the OMPI request structure
    and wakes up at the appropriate time to poll the message
    list.  Not the best, but without some asynch notification
    from the PML that a given set of requests has completed, there
    isn't much better
  * Instead of calling opal_progress() all over the place, move
    to using the condition variables like the rest of the project.
    Has the advantage of moving it slightly futher along in the
    becoming thread safe thing
  * Fix a problem with the passive side of unlock where it could
    go recursive and cause all kinds of problems, especially
    when progress threads are used.  Instead, have two parts of
    passive unlock -- one to start the unlock, and another to
    complete the lock and send the ack back.  The data moving
    code trips the second at the right time.

This commit was SVN r14703.
2007-05-21 02:21:25 +00:00
Jeff Squyres
51f286d737 Just like r14289 on the ORTE trunk:
Per discussions with Brian and Ralph, make a slight correction in
where components are installed. Use $pkglibdir, not $libdir/openmpi,
so that when compiled in the orte trunk, components are installed to
the right directory (because the component search patch is checking
$pkglibdir).

This commit was SVN r14345.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r14289
2007-04-12 11:19:42 +00:00
Mohamad Chaarawi
bfaf9d4a12 Added new module for intercomm collectives. This will require an
autogen.

This commit was SVN r14149.
2007-03-27 02:06:42 +00:00
Brian Barrett
62e5e81e99 revert r14142, as the onesided change should *not* have come over
This commit was SVN r14143.

The following SVN revision numbers were found above:
  r14142 --> open-mpi/ompi@241545a098
2007-03-26 15:58:41 +00:00
Brian Barrett
241545a098 Back out r14073 - it speeds up TCP latency / bandwidth but at the same time
it kills ROMIO and one-sided performance when using only TCP.  The problem
is that it only allows those two to be progressed every couple of seconds,
leading to what looks like hangs in the one-sided tests (and the ROMIO stuff,
although people seem to not notice that at this point).

This commit was SVN r14142.

The following SVN revision numbers were found above:
  r14073 --> open-mpi/ompi@64fbbc20b8
2007-03-26 15:56:23 +00:00
Josh Hursey
dadca7da88 Merging in the jjhursey-ft-cr-stable branch (r13912 : HEAD).
This merge adds Checkpoint/Restart support to Open MPI. The initial
frameworks and components support a LAM/MPI-like implementation.

This commit follows the risk assessment presented to the Open MPI core
development group on Feb. 22, 2007.

This commit closes trac:158

More details to follow.

This commit was SVN r14051.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r13912

The following Trac tickets were found above:
  Ticket 158 --> https://svn.open-mpi.org/trac/ompi/ticket/158
2007-03-16 23:11:45 +00:00
Brian Barrett
d9e0e80190 Make some debugging output only looked at when debugging is enabled
This commit was SVN r13777.
2007-02-25 01:03:19 +00:00
Brian Barrett
65b07140c0 clean up some of the printf warnings caused by the attribute code
This commit was SVN r13395.
2007-01-31 17:11:06 +00:00
Rainer Keller
061ba05439 - Fixes uncovered with the format attribute to
opal_output and opal_output_verbose

This commit was SVN r13371.
2007-01-30 20:56:31 +00:00
Brian Barrett
385a435813 Start long message send as soon as possible, to minimze ack time for the receive,
greatly increasing mid-range bandwidth

This commit was SVN r13317.
2007-01-25 23:07:03 +00:00
Brian Barrett
95c0a17b9a Send the unlock request before starting the requests. We won't unlock until we get an ack from the remote side,
so there's no longer a race there (I used to do the unlock request last, after local completion of all the
requests completed, to try to avoid having the passive side reply to the active side, but I don't do that
anymore).  The unlock side will not "unlock" the window until it actually receives the correct number of results,
so we're good there.

This fixes an issue where we would receive data on the remote side we weren't expecting that could cause
us to release a lock before it really should have been released to the requesting peer.  It could also
cause a deadlock if one of the processes trying to unlock was "self", as that would result in the active
unlock never sending the unlock request, even though it sent the payload, which could cause a counter
that should always be positive to hit -1, causing an infinite loop that could only be solved by
popping up the stack, which was an impossibility.

Refs trac:785

This commit was SVN r13160.

The following Trac tickets were found above:
  Ticket 785 --> https://svn.open-mpi.org/trac/ompi/ticket/785
2007-01-17 21:13:12 +00:00
Brian Barrett
c1be97199b Fix an issue with recursive calls into the component progress caused by btls sometimes calling opal_progress()
during their send calls by dropping the loop through the list of pending control messages if any are marked
as completed.

Refs trac:784

This commit was SVN r13159.

The following Trac tickets were found above:
  Ticket 784 --> https://svn.open-mpi.org/trac/ompi/ticket/784
2007-01-17 20:48:35 +00:00
Brian Barrett
35c57457c6 Don't call ompi_request_test() if the request isn't likely to finish.
Otherwise, we end up recursively calling into the progress functions
and corrupting a list that doesn't like to be corrupted.

Refs trac:561

This commit was SVN r13138.

The following Trac tickets were found above:
  Ticket 561 --> https://svn.open-mpi.org/trac/ompi/ticket/561
2007-01-17 02:30:11 +00:00
Brian Barrett
f03ffb3a62 Send reply from the passive side of an unlock request back to the active
side and only let MPI_WIN_UNLOCK return when the passive side has actively
replied that the window is unlocked.

Refs trac:761

This commit was SVN r13118.

The following Trac tickets were found above:
  Ticket 761 --> https://svn.open-mpi.org/trac/ompi/ticket/761
2007-01-14 22:08:38 +00:00
George Bosilca
87ff2b5ce8 Cast to the correct type.
This commit was SVN r13046.
2007-01-08 22:04:01 +00:00
Brian Barrett
48ec0b2071 Revert out r12974, 12976, and 12991 as George has provided a less intrusive fix
for now...

This commit was SVN r12997.

The following SVN revision numbers were found above:
  r12974 --> open-mpi/ompi@27cea44a9c
2007-01-04 22:07:37 +00:00
Brian Barrett
27cea44a9c Fix a number of issues with the ompi_ptr_t:
* Make sure that the pval always writes to the correct portion of the
    lval.  This only matters on 32 bit big endian machines.
  * On 32 bit machines when assigning to pval, the other 4 bytes of lval
    weren't being written, which could lead to bogus data

We use macros so that there aren't casts all over the code and the pval
assignment can occur to the correct 4 bytes.  Refs trac:587

This commit was SVN r12974.

The following Trac tickets were found above:
  Ticket 587 --> https://svn.open-mpi.org/trac/ompi/ticket/587
2007-01-03 19:47:48 +00:00
Brian Barrett
2a09fa2d9d * silence compiler warning
This commit was SVN r12717.
2006-12-01 20:01:53 +00:00
Brian Barrett
beb1e9d4dd * finish move from hard coded tag to #define'd constant tag
This commit was SVN r12674.
2006-11-27 21:55:41 +00:00
Brian Barrett
0c25f7be09 More One-sided fixes:
* Fix a counter roll-over issue that could result from a large (but
    not excessive) number of outstanding put/get/accumulate calls
    during a single synchronization issues (Refs trac:506)
  * Fix epoch issue with rdma component that would effect PWSC
    synchronization (Refs trac:507)

This commit was SVN r12673.

The following Trac tickets were found above:
  Ticket 506 --> https://svn.open-mpi.org/trac/ompi/ticket/506
  Ticket 507 --> https://svn.open-mpi.org/trac/ompi/ticket/507
2006-11-27 21:41:29 +00:00
Brian Barrett
63e5668e29 Number of one-sided fixes:
* use one-sided datatype check instead of send/receive and check both
    the origin and target datatypes
  * allow error handler to be set on MPI_WIN_NULL, per standard
  * Allow recursive calls into the pt2pt osc component's progress
    function
  * Fix an uninitialized variable problem in the unlock header

This commit was SVN r12667.
2006-11-27 03:22:44 +00:00
George Bosilca
126a68dc9a Big datatype commit. Remove all unused features of the datatype engine. As the memory
allocation logic is completely done outside the data-type engine (in the PML) there is
no need for any special case inside the data-type engine. There is less arguments for
the ompi_convertor_pack and ompi_convertor_unpack as well (the last field free_after is
not required anymore as there is no memory allocated in the engine itself). This change
affect all components using datatypes. I test most of them, but it might happens that I
miss some ... If it's the case please let me know (don't shoot the pianist!!).

This commit was SVN r12331.
2006-10-26 23:11:26 +00:00
George Bosilca
8852c00c36 Look like a big commit but in fact it address only one issue. The way we're working with
size and diplacement of data-type. After this patch all data can contain size_t bytes
and the displacements are defined as ptrdiff_t. All of the files I was able to compile
have been modified to match this requirement.

This commit was SVN r12146.
2006-10-17 20:20:58 +00:00
Brian Barrett
14f338b7df Fix for lock/unlock epoch issues. Previously, we did not handle the case
where a window was in both the passive and active side of a lock sequence.

Refs trac:488

This commit was SVN r12112.

The following Trac tickets were found above:
  Ticket 488 --> https://svn.open-mpi.org/trac/ompi/ticket/488
2006-10-12 22:52:13 +00:00
George Bosilca
4689c56210 Always cast the return of malloc.
This commit was SVN r11990.
2006-10-05 05:07:43 +00:00