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

6655 Коммитов

Автор SHA1 Сообщение Дата
Rolf vandeVaart
66725f6973 Enable some CUDA-aware support on tcp btl. Only when configured in.
This commit was SVN r29364.
2013-10-04 12:50:16 +00:00
Ralph Castain
f4f2287958 Singletons currently start out by spawning an HNP - this is required solely in the cases where the singleton subsequently calls MPI_Comm_spawn or publishes port info without support from an external orte-server. In all other cases, the HNP is of no value and can actually be a detriment by creating additional overhead on the node. This is particularly concerning for async operations where processes may begin as singletons and then dynamically wireup to perform pt2pt communications.
So we now allow singletons to start on their own, only spawning an HNP when initiating an operation that actually requires it.

cmr:v1.7.4:reviewer=jsquyres

This commit was SVN r29354.
2013-10-04 02:58:26 +00:00
Rolf vandeVaart
4dd1c86b36 Add a few support functions for future features.
This commit was SVN r29353.
2013-10-03 21:06:17 +00:00
Ralph Castain
61c4baefe0 Silence compiler warning
Refs trac:3796

This commit was SVN r29352.

The following Trac tickets were found above:
  Ticket 3796 --> https://svn.open-mpi.org/trac/ompi/ticket/3796
2013-10-03 19:50:10 +00:00
Rolf vandeVaart
ce61985503 Move registration function inside initial initialization function.
This commit was SVN r29347.
2013-10-03 14:14:42 +00:00
Nathan Hjelm
6232ef3bfb At coll_select time we can not check whether the communicator has a
virtual topology. Remove code checking for a virtual topology until
this flag is set before coll_select.

This commit was SVN r29344.
2013-10-03 03:37:46 +00:00
Nathan Hjelm
539fab1600 Fix typo in communicator destruction
This commit was SVN r29343.
2013-10-03 01:46:36 +00:00
Nathan Hjelm
c17b21b11d Due to MPI_Comm_idup we can no longer use the communicator's CID as
the fortran handle. Use a seperate opal_pointer_array to keep track of
the fortran handles of communicators.

This commit also fixes a bug in ompi_comm_idup where the newcomm was not
set until after the operation completed.

cmr=v1.7.4:reviewer=jsquyres:ticket=trac:3796

This commit was SVN r29342.

The following Trac tickets were found above:
  Ticket 3796 --> https://svn.open-mpi.org/trac/ompi/ticket/3796
2013-10-03 01:11:28 +00:00
Jeff Squyres
dc9bb26902 Fix one more typo in Fortran interfaces.
Refs trac:3796

This commit was SVN r29339.

The following Trac tickets were found above:
  Ticket 3796 --> https://svn.open-mpi.org/trac/ompi/ticket/3796
2013-10-02 18:53:19 +00:00
Nathan Hjelm
b3240df1b1 Merge in Jeff's fortran fixes for new communicator duplicator functions
This commit was SVN r29338.
2013-10-02 18:42:04 +00:00
Ralph Castain
01bd434fa6 Add missing include
Refs trac:3800

This commit was SVN r29337.

The following Trac tickets were found above:
  Ticket 3800 --> https://svn.open-mpi.org/trac/ompi/ticket/3800
2013-10-02 17:51:24 +00:00
Nathan Hjelm
9235b290d5 Update man pages for MPI-3 and add some missing man pages for MPI-2.x
functions.

cmr=v1.7.4

This commit was SVN r29336.
2013-10-02 14:27:47 +00:00
Nathan Hjelm
63084b1003 Add fortran bindings for MPI-3 communicator creation functions.
Thanks to Jeff for finding and fixing compilation issues with
the new fortran bindings.

cmr=v1.7.4:reviewer=jsquyres:ticket=trac:3796

This commit was SVN r29335.

The following Trac tickets were found above:
  Ticket 3796 --> https://svn.open-mpi.org/trac/ompi/ticket/3796
2013-10-02 14:26:58 +00:00
Nathan Hjelm
195c892a9d Add support for MPI_Comm_dup_with_info, MPI_Comm_create_group, and
MPI_Comm_idup.

As part of this work I implemented a basic request scheduler in
ompi/comm/comm_request.c. This scheduler might be useful for more
than just communicator requests and could be moved to ompi/request
if there is a demand. Otherwise I will leave it where it is.

Added a non-blocking version of ompi_comm_set to support ompi_comm_idup.
The call makes a recursive call to comm_dup and a non-blocking version
was needed. To simplify the code the blocking version calls the nonblocking
version and waits on the resulting request if one exists.

cmr=v1.7.4:reviewer=jsquyres:ticket=trac:3796

This commit was SVN r29334.

The following Trac tickets were found above:
  Ticket 3796 --> https://svn.open-mpi.org/trac/ompi/ticket/3796
2013-10-02 14:26:40 +00:00
Nathan Hjelm
7bedf62dd8 Add basic algorithms for the remaining non-blocking collectives.
The algorithms are intended for MPI-3.0 compliance and are not
optimized. We should aim to add better algorithms in the future through
cheetah.

MPI_Iallreduce and MPI_Igatherv on intercommunicators are required for
MPI_Comm_idup support.

cmr=v1.7.4:reviewer=brbarret:ticket=trac:2715

This commit was SVN r29333.

The following Trac tickets were found above:
  Ticket 2715 --> https://svn.open-mpi.org/trac/ompi/ticket/2715
2013-10-02 14:26:23 +00:00
Mike Dubman
19748e6957 fix race condition which can happen on finalize
1. Change in rte api implementation: now comm_world used to do p2p. 
This allows to not worry about other comms being destroyed.

2. added a notification mechanism with a help of which runtime can say libhcoll that RTE api can not be used any longer. 
pass a pointer to a flag, and its size to libhcoll.
The flag changes when the RTE is no longer available. 
Currently this flag is just ompi_mpi_finalized global bool value.

cmr=v1.7.3:reviewer=jladd

This commit was SVN r29331.
2013-10-02 13:38:47 +00:00
Ralph Castain
5bd0b42356 Store the proc's locality on the ompi_proc_t
Refs trac:3766

This commit was SVN r29325.

The following Trac tickets were found above:
  Ticket 3766 --> https://svn.open-mpi.org/trac/ompi/ticket/3766
2013-10-02 01:36:52 +00:00
Jeff Squyres
00bbab4dae Remove commented-out code for deprecated functions that were not added to MPI-3.
This commit was SVN r29320.
2013-10-01 21:20:45 +00:00
Nathan Hjelm
4f12406436 Don't check for neighborhood collective routines on non-virtual topology communicators
This commit was SVN r29319.
2013-10-01 19:59:18 +00:00
Matthias Jurenz
0a841eb762 revised r29314
- adapted Open MPI version check (the "const" stuff will come with version 1.7.4, not from 1.9.0)
	- removed the const keyword from the deprecated functions MPI_Type_hindexed and MPI_Type_struct
	  TODO: Since MPICH v3.x adds the const keyword to that functions we need a configure test to figure out whether adding const is required. (only relevant for the stand-alone version of VampirTrace)

This commit was SVN r29317.

The following SVN revision numbers were found above:
  r29314 --> open-mpi/ompi@29b22f350e
2013-10-01 14:24:50 +00:00
Matthias Jurenz
29b22f350e revised r29280
This commit was SVN r29314.

The following SVN revision numbers were found above:
  r29280 --> open-mpi/ompi@5c41bdc746
2013-10-01 12:43:15 +00:00
George Bosilca
d0ad20aacb Don't use ORTE specifics in the OMPI layer. Instead use the RTE equivalents.
Patch submitted by Geoffroy Vallee.

This commit was SVN r29303.
2013-09-30 23:31:04 +00:00
Jeff Squyres
d04ea88d87 Missed updating the profiling versions of the neighbor collectives in r29299.
Refs trac:3802.

This commit was SVN r29302.

The following SVN revision numbers were found above:
  r29299 --> open-mpi/ompi@66eb7ff610

The following Trac tickets were found above:
  Ticket 3802 --> https://svn.open-mpi.org/trac/ompi/ticket/3802
2013-09-30 19:45:09 +00:00
Jeff Squyres
4af194ca32 Missed updating the profiling versions of [I]Alltoallw in r29298.
Refs trac:3814.

This commit was SVN r29301.

The following SVN revision numbers were found above:
  r29298 --> open-mpi/ompi@0acebc0a1f

The following Trac tickets were found above:
  Ticket 3814 --> https://svn.open-mpi.org/trac/ompi/ticket/3814
2013-09-30 19:44:24 +00:00
Jeff Squyres
66eb7ff610 Fix the !MPI_[I]Neighbor_* mpi_f08 interfaces.
Use the same trick for send/recvtypes as we did in r29298 for
![I]Alltoallw.  Also, add all prototypes for all the back-end
ompi_neighbor_*_f functions.

Refs trac:3802

This commit was SVN r29299.

The following SVN revision numbers were found above:
  r29298 --> open-mpi/ompi@0acebc0a1f

The following Trac tickets were found above:
  Ticket 3802 --> https://svn.open-mpi.org/trac/ompi/ticket/3802
2013-09-30 17:54:12 +00:00
Jeff Squyres
0acebc0a1f Make the Alltoall/Ialltoallw F08 interfaces a little less sucky.
Use proper array types for the sendtypes and recevtypes params in the
definition of these subroutines (since they're prototyped to be array
parameters in the module).  See the comment in the code for a more
complete explanation.

Note that after talking to Craig Rasumussen, he says that this is
fairly common practice in the Fortran community (i.e., pass a scalar
that is part of an array to effectively pass an offset into that
array, since Fortran passes by reference).  So this might be a hack,
but it's a commonly-accepted hack.

Reviewed by Craig Rasmussen.

cmr=v1.7.3:subject=Fix [I]Alltoallw mpi_f08 wrapper functions

This commit was SVN r29298.
2013-09-30 17:50:43 +00:00
Jeff Squyres
b84863be20 Add missing MPI_Dist_graph interfaces to the ignore-TKR Fortran mpi module bindings.
This commit was SVN r29295.
2013-09-30 16:09:10 +00:00
Nathan Hjelm
f3d18028e5 Fix typo in uGNI prepare source that could cause incorrect results with
non-contiguous datatypes.

cmr=v1.7.3

This commit was SVN r29294.
2013-09-30 16:00:58 +00:00
Mike Dubman
9bf7578ff2 fix memory corruption
cmr:v1.7.3:reviewer=ompi-rm1.7

This commit was SVN r29293.
2013-09-30 06:18:12 +00:00
Jeff Squyres
0939788fd4 README.txt was removed, so remove it from EXTRA_DIST.
This commit was SVN r29292.
2013-09-29 21:52:52 +00:00
Oscar Vega-Gisbert
2f81173acf Update Javadoc of MPIException.
This commit was SVN r29291.
2013-09-29 10:57:14 +00:00
Oscar Vega-Gisbert
b97951ab3b Allow NULL buffers to send/recv 0 items as control messages.
This commit was SVN r29290.
2013-09-29 10:36:09 +00:00
Jose Roman
f656c9859c Improved README.JAVA; remove README file in java directory
This commit was SVN r29289.
2013-09-29 10:22:38 +00:00
George Bosilca
90c42bf762 Rearrange the #include to minimize clutter.
This commit was SVN r29286.
2013-09-28 17:15:33 +00:00
Jeff Squyres
4313bbbe20 Fix type in weak symbol declarations for the new _x functions.
This commit was SVN r29284.
2013-09-28 12:31:56 +00:00
Jeff Squyres
c0232e031c Add some missing declarations to allow the new Fortran neighbor
collective interfaces to compile.

This commit was SVN r29283.
2013-09-28 12:14:25 +00:00
Jeff Squyres
76450fe629 Add "jdoc" target to make javadocs
This commit was SVN r29282.
2013-09-28 12:11:22 +00:00
Jeff Squyres
5c41bdc746 Temporary VT fix:
* Always enable "const" in the wrapper functions, even though Open MPI
  doesn't advertise itself as MPI-3.0 yet
* Remove CONST from MPI_Type_hindexed, MPI_Type_struct (because
  they're deprecated functions, and never had const added to them)

This commit was SVN r29280.
2013-09-28 10:28:53 +00:00
Jeff Squyres
114022146a Add a missing "const" to MPI_Unpack (addendum to r29266).
Refs trac:3785.

This commit was SVN r29278.

The following SVN revision numbers were found above:
  r29266 --> open-mpi/ompi@0b8fc13299

The following Trac tickets were found above:
  Ticket 3785 --> https://svn.open-mpi.org/trac/ompi/ticket/3785
2013-09-27 12:48:28 +00:00
George Bosilca
f60365a91e Allow the trunk to cimpile after r29265. The addition of the neighborhood
collective to the mca_coll_base_comm_coll_t structure increased the size
of the ompi_communicator_t over the limit of the predefined padding
(PREDEFINED_COMMUNICATOR_PAD).

This fix is a temporary fix to allow the trunk to compile. Unfortuantely
it breaks the compatibility with all other versions of Open MPI. Please
read the comment in this header file for a more complete explanation.

This commit was SVN r29277.

The following SVN revision numbers were found above:
  r29265 --> open-mpi/ompi@c5596548b2
2013-09-27 07:25:26 +00:00
Ralph Castain
d565a76814 Do some cleanup of the way we handle modex data. Identify data that needs to be shared with peers in my job vs data that needs to be shared with non-peers - no point in sharing extra data. When we share data with some process(es) from another job, we cannot know in advance what info they have or lack, so we have to share everything just in case. This limits the optimization we can do for things like comm_spawn.
Create a new required key in the OMPI layer for retrieving a "node id" from the database. ALL RTE'S MUST DEFINE THIS KEY. This allows us to compute locality in the MPI layer, which is necessary when we do things like intercomm_create.

cmr:v1.7.4:reviewer=rhc:subject=Cleanup handling of modex data

This commit was SVN r29274.
2013-09-27 00:37:49 +00:00
Ralph Castain
bc92c260ca Add missing library dependency
cmr:v1.7.3:reviewer=jsquyres

This commit was SVN r29273.
2013-09-27 00:08:43 +00:00
Jeff Squyres
c065839d1f Make the Java wrapper compiler behave like the other wrapper compilers
(specifically, with regards to the --showme flag and return code).

This commit was SVN r29270.
2013-09-26 22:48:51 +00:00
Dave Goodell
2c7975eb86 common_verbs: fix bad opal_output args
Spotted by Reese Faucette <rfaucett@cisco.com>.

cmr=v1.7.3

This commit was SVN r29267.
2013-09-26 21:59:00 +00:00
Nathan Hjelm
0b8fc13299 MPI-3.0: update C bindings with const and consistent use of [] for
arrays.

The MPI 3.0 standard added const to all in buffers in the C bindings. This
commit adds the const keyword and in most cases casts const away. We will
eventually should go through and update the various interfaces (coll, pml,
io, etc) to take the const keyword. The group, comm, win, and datatype
interfaces have been updated with const.

cmr=v1.7.4:ticket=trac:3785:reviewer=jsquyres

This commit was SVN r29266.

The following Trac tickets were found above:
  Ticket 3785 --> https://svn.open-mpi.org/trac/ompi/ticket/3785
2013-09-26 21:56:20 +00:00
Nathan Hjelm
c5596548b2 MPI-3: Add support for neighborhood collectives
Blocking versions are simple linear algorithms implemented in coll/basic. Non-
blocking versions are from libnbc 1.1.1. All algorithms have been tested with
simple test cases.

cmr=v1.7.4:reviewer=jsquyres

This commit was SVN r29265.
2013-09-26 21:55:08 +00:00
Dave Goodell
a42fa78da7 usnic: SEGV in OSU benchmarks
Prevent frag from being freed out from under us in the case
the PML callback routine calls usnic_free().  We accomplish this
by delaying decrement of sf_bytes_to_ack until after the callback is
performed, since sf_bytes_to_ack == 0 is condition of freeing the frag.

Fixes Cisco bug CSCuj45094.

Authored-by: Reese Faucette <rfaucett@cisco.com>

cmr=v1.7.3

This commit was SVN r29264.
2013-09-26 21:48:04 +00:00
Jeff Squyres
e4e3e411fc Next generation of MPI Java bindings.
Includes all MPI functions supported by Open MPI, including MPI-3
functions (as of about 2 weeks ago).  Many changes compared to the
prior generation of Java bindings; not much is left from the prior
generation, actually.  The changes include (but are not limited to):

 * Add support for more than just a subset of MPI-1 functions
 * Use typical Java case for symbol names
 * Support Java Direct buffers (giving darn-near "native C"
   performance)
 * Support "type struct" better than the prior generation
 * Make more of an effort for the Java bindings to be a thin layer
   over the back-end C bindings
 * ...and more

A proper README with more information about what is supported, how to
use these bindings, etc. will be committed shortly.

This commit was SVN r29263.
2013-09-26 21:44:39 +00:00
Jeff Squyres
6c53711ac8 Provide Java MPI_Op callbacks via an intercept routine (just like how
we do MPI::Op C++ callbacks).

This commit was SVN r29262.
2013-09-26 21:36:44 +00:00
Mike Dubman
7c6ff00da5 Add caching of FCA communicators
developed by Dinar, reviewed by miked/yossi.
cmr:v1.7.3:reviewer=jsquyres:subject=add caching of FCA communicators.

This commit was SVN r29256.
2013-09-26 17:48:07 +00:00