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

6360 Коммитов

Автор SHA1 Сообщение Дата
Ralph Castain
ae68a953f4 Sigh - one more place
This commit was SVN r28447.
2013-05-05 00:25:14 +00:00
Nathan Hjelm
422331b4da btl/openib: fix unconnected datagram connection method (udcm)
The primary issue with udcm is that the immediate data in message
acks were often bogus. This caused the sender to keep trying even
though a message was received and acked. The fix is to use the
source LID and QP to determine which message is being acked. In
most cases this should work well since only one message will be
in flight to any peer.

This commit was SVN r28444.
2013-05-03 17:11:38 +00:00
Jeff Squyres
c8258c06e2 In coll_sm, we alloc a huge chunk of shared memory, divvy it into lots
of individual regions (each region is a multiple of page size in
length), and each process claims its own regions by binding it to its
local memory.  Each process would end up membining something like 16
individual regions in the overall shmem segment.

There were two errors in this code relating to the memory affinity
pinning.  Some combination of these two errors would lead to kernel
panics (!) on my RHEL 6.2 x86_64 machines when used with mmap'ed
shared memory (not posix or sysv shared memory, curiously enough):

1. The shared memory segment is initially divided into two regions:
control and data.  The control starts at the beginning of the shmem
segment, the data starts after that.  The data portion, unfortunately,
was ''not'' aligned to a page.  So all the multiple-of-page-size
regions that we divvy up were also not alined on page boundaries.  And
therefore all the regions we tried to membind were not on page
boundaries.

The solution was to ensure that the data portion started on a page
boundary.  Then all of the individual regions were on page boundaries,
too.

That being said, in my tests, Linux mbind() fails gracefully when the
address is not on a page boundary.  So I'm not sure how this worked at
all / led to a kernel panic...

2. There was some bad pointer math that resulted in membinding regions
larger than they should have been, resulting in region overlaps.
There were definitely overlaps between regions in the same process;
it's likely that there were overlaps between regions of multiple
processes, too -- I'm not sure (and don't care to figure out :-) ).

The solution was to fix the pointer math so that each region membinds
exactly only itself and no neighboring/overlapping regions.

cmr:v1.7.2:reviewer=samuel

This commit was SVN r28442.
2013-05-03 12:49:35 +00:00
Alex Mikheev
9e2fdc7d56 - correction of r28440
This commit was SVN r28441.

The following SVN revision numbers were found above:
  r28440 --> open-mpi/ompi@93ce233530
2013-05-02 12:52:58 +00:00
Alex Mikheev
93ce233530 - btl_openib: changed default SRQ settings:
- increase number of wqe to minimize number of RNRs
    - it is better to have high watermark and post relatively small number of wqes
    - increased TX queue size

This commit was SVN r28440.
2013-05-02 12:46:35 +00:00
Jeff Squyres
52fd270663 Implement MPI-2.2 functionality of deleting attributes on
MPI_COMM_SELF in reverse order during MPI_FINALIZE (well, actually,
''all'' attributes are now deleted in reverse order whenever a
communicator is destructed).

Also revamped a few things in the MPI attribute implementation:

 * use a One Big Lock philosophy for making the implementation thread
   safe (vs. the pair of locks we were using before).  One Big Lock is
   quite a bit simpler and has fewer corner cases; the code for
   attributes is still complicated, but is definitely less complex
   than it used to be.
 * The COPY_ATTR_CALLBACKS and DELETE_ATTR_CALLBACKS macros no longer
   return; they simply set a value if something went wrong.  Then we
   check this value after the macros complete.  This simplifies
   unlocking, etc.
 * Added write barriers right before releasing locks to ensure memory
   consistency.
 * Fixed a bunch of typos in comments, and some indenting.

Many thanks to KAWASHIMA Takahiro who contributed the original patch
for attribute destruction ordering, and who helped test/debug/evolve
the patch to its final form.

Fixes trac:3123.

cmr:v1.7.2:reviewer=bosilca

This commit was SVN r28439.

The following Trac tickets were found above:
  Ticket 3123 --> https://svn.open-mpi.org/trac/ompi/ticket/3123
2013-05-02 12:32:21 +00:00
Alex Mikheev
f76680fbd0 - btl_openib: fix total registered memory calculation for ConnectIB and Ofed 2.0
This commit was SVN r28432.
2013-05-01 13:39:29 +00:00
George Bosilca
2331000d63 Correctly handle the invalid status for null and inactive
requests. This patch fixes trac:3475.

CMR v1.6, v1.7

This commit was SVN r28431.

The following Trac tickets were found above:
  Ticket 3475 --> https://svn.open-mpi.org/trac/ompi/ticket/3475
2013-05-01 12:55:24 +00:00
Jeff Squyres
eeb1d83c1d Don't assign the status if MPI_STATUS_IGNORE is passed in. Thanks to
Lisandro Dalcin for finding the issue.

This commit was SVN r28430.
2013-05-01 12:32:58 +00:00
Jeff Squyres
d92a8e01f8 Use the _SAFE list traversal macro so that we can remove each item
from the list (just for good measure), and then free() it (without
using _SAFE, we were accessing memory that was just free()'d to get to
the next item).  Also be a little more thorough -- DESTRUCT the list
when we're all done.

This commit was SVN r28429.
2013-05-01 12:26:16 +00:00
George Bosilca
8b0335380a Fix the error messages to reference the correct function.
This commit was SVN r28425.
2013-04-30 23:26:03 +00:00
George Bosilca
6a75c84fa8 Remove useless define.
This commit was SVN r28424.
2013-04-30 23:24:59 +00:00
George Bosilca
92aeefebac The constructor and destructor are not publicly visible functions.
Fix the indentation.

This commit was SVN r28423.
2013-04-30 23:23:57 +00:00
Nathan Hjelm
75cc04faa6 Fix typo in check for mpi_leave_pinned vs mpi_leave_pinned_pipeline.
This commit was SVN r28421.
2013-04-30 20:08:32 +00:00
Ralph Castain
9de82aba55 Revert r28417 - given the non-standard way vprotocol is implemented, I see no way to use the framework verbosity here. Best to just leave it alone as those who use it know what they need to do to get debug output
This commit was SVN r28418.

The following SVN revision numbers were found above:
  r28417 --> open-mpi/ompi@b00de5be8b
2013-04-30 16:37:17 +00:00
Nathan Hjelm
b00de5be8b vprotocol: remove the old output and use the framework output
This commit was SVN r28417.
2013-04-30 15:21:42 +00:00
Ralph Castain
ceb4061214 Fix BTL_VERBOSE - when the MCA param change was committed, it left the base verbosity variable declared so things compiled. Sadly, the verbosity was now being set to a new variable, so debug never was output.
This commit was SVN r28414.
2013-04-30 01:15:52 +00:00
Nathan Hjelm
f384263de7 btl/openib: fix typo
This commit was SVN r28413.
2013-04-29 22:21:25 +00:00
Ralph Castain
5d7a93c032 Add the ability to use an external version of libevent. Clearly not recommended at this time. I've verified that it works in limited scenarios, but more thorough testing and performance impacts need to be assessed.
Interesting how many includes had to be fixed here and there to fill in missing dependencies :-)

This commit was SVN r28411.
2013-04-29 17:02:37 +00:00
Ralph Castain
bd83de0b7f Fix an obvious typo - it was set to default to true when instantiated.
This commit was SVN r28407.
2013-04-27 00:12:10 +00:00
Ralph Castain
8996ecb128 Add missing include
This commit was SVN r28405.
2013-04-27 00:09:36 +00:00
Jeff Squyres
c9c6ced1c9 Use some handy shell scripts from W Spector to s/ierr/ierror/ in the
mpi module.

This commit was SVN r28403.
2013-04-26 22:07:42 +00:00
Jeff Squyres
f55cea1a5b If there are no BTLs, do ''not'' actually shut down the fd listener,
because a) it may still be needed to shut down the CPCs, and b) it
will be shut down during component_close().

This commit was SVN r28402.
2013-04-26 15:31:50 +00:00
Jeff Squyres
99b7a0f20d Remove unused variables.
This commit was SVN r28401.
2013-04-26 15:29:42 +00:00
Ralph Castain
8fd3c86e06 Per Geoffroy Vallee, use the OPAL constant
This commit was SVN r28394.
2013-04-25 14:18:18 +00:00
Nathan Hjelm
c50b99005d fix typo in opal_info_show_component_version and clean up more from ompi_info
This commit was SVN r28389.
2013-04-24 22:07:06 +00:00
Nathan Hjelm
4896b3bc4b clean up some ompi_info code
This commit was SVN r28388.
2013-04-24 21:37:24 +00:00
Vishwanath Venkatesan
c902624b59 Using ompi_type_destroy to free ompi_datatype. This had to be updated in all the collective algorithms.
Hopefully this will fix all warnings.

This commit was SVN r28385.
2013-04-24 19:27:26 +00:00
Nathan Hjelm
2edff7f784 btl/openib: don't free string handle by MCA variable system
This commit was SVN r28383.
2013-04-24 18:59:18 +00:00
Ralph Castain
30850f3280 Fix the @#$!@# ompi_info --version option. Via long chat with Jeff, simplify this option a lot by dumping all the silly suboptions it covered. Instead, just provide the very basic "ompi_info -V|--version" like all other tools do
cmr:v1.7.2

This commit was SVN r28381.
2013-04-24 17:46:28 +00:00
Nathan Hjelm
2cd91e7c9c Add missing file
This commit was SVN r28379.
2013-04-24 16:53:53 +00:00
Alex Margolin
aebd794bf6 Fixed macro definition order in MXM component headers
This commit was SVN r28378.
2013-04-24 16:51:43 +00:00
Nathan Hjelm
0f87d80256 Add file missing from last commit
This commit was SVN r28377.
2013-04-24 16:01:23 +00:00
Nathan Hjelm
bccf8c657a Per RFC add initial support for the MPI 3.0 tools interface.
Current MPI_T support:
  - Full cvar interface.
  - Full categories interface.
  - No pvar support at this time.

This commit was SVN r28376.
2013-04-24 15:59:23 +00:00
Vishwanath Venkatesan
bba4a93f63 Got this wrong while replacing MPI function with OMPI functions. Fixed it now.
This commit was SVN r28350.
2013-04-22 19:58:25 +00:00
Rolf vandeVaart
5e1dde419c Fix some compile errors in CUDA-aware code that has crept in.
This commit was SVN r28346.
2013-04-18 15:34:16 +00:00
Vishwanath Venkatesan
53753622d4 Changing some of the MPI_ functions to ompi_ equivalents.
This commit was SVN r28342.
2013-04-17 21:06:36 +00:00
Alex Margolin
0ab7675019 Fix MXM connection establishment flow
This commit was SVN r28329.
2013-04-12 16:37:42 +00:00
Nathan Hjelm
538a4f92d3 make ompi_info print out mpi_ variables
This commit was SVN r28328.
2013-04-11 21:23:16 +00:00
Steve Wise
134baaf2fa Add Chelsio T5 device. This fixes trac:3552 and should be added to cmr:v1.6:reviewer=jsquyres and cmr:v1.7:reviewer=jsquyres
This commit was SVN r28327.

The following Trac tickets were found above:
  Ticket 3552 --> https://svn.open-mpi.org/trac/ompi/ticket/3552
2013-04-11 19:30:53 +00:00
George Bosilca
2d33c9ee39 Stop complaining about an overwritten default parameter.
This commit was SVN r28322.
2013-04-10 19:44:37 +00:00
Jeff Squyres
8405975bf6 Be a little more conservative about initializing devices and modules
(i.e., ensure that more data items get zeroed out/set to NULL) so that
if something goes wrong during initialization, we don't try to clean
up something that isn't there (and segv).

The chance of this happening on the trunk is very low (and will also
be low once the verbs improvements are brought over to v1.7).  But it
can actually happen in the v1.6 branch (e.g., if no CPC is available,
we'll try to get the length of the endpoints list, but the endpoints
list is NULL).  

Hence, even though the real goal is to get this functionality over to
v1.6, I figured I'd commit to the trunk/CMR to v1.7 just to try to
keep commonality in the openib between all three where possible.

This commit was SVN r28317.
2013-04-09 21:55:31 +00:00
Jeff Squyres
975ff4675e rc was used before it was initialized. Looks like this minor bug was
introduced in r28241.

This commit was SVN r28316.

The following SVN revision numbers were found above:
  r28241 --> open-mpi/ompi@9d4a26f47d
2013-04-09 21:49:15 +00:00
Ralph Castain
45af6cf59e The move of the orte_db framework to opal required that we create an opaque opal_identifier_t type as OPAL cannot know anything about the ORTE process name. However, passing a value down to opal and then having the db components reference it causes alignment issues on Solaris Sparc platforms. So pass the pointer instead and do the old "memcpy" trick to avoid the problem.
This commit was SVN r28308.
2013-04-08 23:34:16 +00:00
Nathan Hjelm
4e95d691a7 pml/ob1: do not reset the convertor if one was not created (size = 0).
This macro is only used on the failure path so the additional if statement
should not have any affect on performance.

cmr:v1.7

This commit was SVN r28292.
2013-04-05 01:40:11 +00:00
Pavel Shamis
fed6e60131 Fixing OpenIB BTL compilation failure for a cases when
BTL_OPENIB_MALLOC_HOOKS_ENABLED is disabled.

This commit was SVN r28290.
2013-04-04 20:17:18 +00:00
Pavel Shamis
aa1f5697b4 In order to prevent name conflicts in XRC (MOFED) enabled mode
OFACM's ib_address_t was renamed to ofacm_ib_address_t

This commit was SVN r28289.
2013-04-04 20:02:17 +00:00
Matthias Jurenz
90dc8cc191 Fixed Coverity CID 993726 (Use after free)
This commit was SVN r28287.
2013-04-04 06:57:00 +00:00
Nathan Hjelm
e8d9944456 sbgp/ibnet: fix param -> var update errors
This commit was SVN r28284.
2013-04-03 20:17:18 +00:00
Nathan Hjelm
75093155ab bcol/iboffload: fix still more errors from param -> var updates
This commit was SVN r28283.
2013-04-03 19:57:03 +00:00