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

924 Коммитов

Автор SHA1 Сообщение Дата
Ralph Castain
fab35dbffa Silence some Solaris warnings reported by Paul Hargrove
cmr=v1.7.4:reviewer=jsquyres:subject=Silence some Solaris warnings

This commit was SVN r30542.
2014-02-03 19:46:08 +00:00
Mike Dubman
7e5031374e OSHMEM: Apply Jeff`s comments to fortran configure logic
Refs trac:3763

This commit was SVN r30530.

The following Trac tickets were found above:
  Ticket 3763 --> https://svn.open-mpi.org/trac/ompi/ticket/3763
2014-02-03 09:47:56 +00:00
Jeff Squyres
87651a1e18 Ensure configure test compiler turds are removed.
This particular test can leave various <foo>.mod files in the OMPI top
build dir, which leads developers to say "what are these .mod files in
my 'svn status' output?".

So make a subdir, run the tests in there, and then remove the subdir.

Reviewed by Dave Goodell.

This is not 100% necessary for OMPI 1.7.4, but it would be nice.  The
goal is to have this test removed by OMPI 1.7.5 (i.e., fix ticket
4157).  So I leave it up to the RM to decide whether this goes into
1.7.4 or not.

cmr=v1.7.4:reviewer=ompi-rm1.7

This commit was SVN r30524.
2014-01-31 16:45:29 +00:00
Jeff Squyres
caaab7e8a3 Fix Fortran delcarations of MPI_SUBARRAYS_SUPPORTED and MPI_ASYNC_PROTECTES_NONBLOCKING
Ensure that these two flags are in all of mpif.h, the mpi module, and
the mpi_f08 module.  Thanks to Rolf Rabenseifner for pointing out the
issue.

cmr=v1.7.4:reviewer=ompi-rm1.7

This commit was SVN r30519.
2014-01-31 15:22:12 +00:00
Brian Barrett
8ab8940e45 Clean up error message about Sparc v8/v8+, since the README now has better
information and the cases are getting too long for an AC_MSG_WARN.

This commit was SVN r30503.
2014-01-30 17:51:13 +00:00
Ralph Castain
edc760434c My bad - do not include any references to "orcm" in configure.ac. However, do properly set the AM_CONDITIONALs based on projects being enabled/disabled
This commit was SVN r30501.
2014-01-30 16:44:57 +00:00
Ralph Castain
b84b8a2d52 Going to need these files to support change to configure.ac
This commit was SVN r30499.
2014-01-30 11:36:44 +00:00
Nathan Hjelm
700e97cf6a btl/vader: add support for SGI's implementation of xpmem and add support
for 32-bit architectures.

This commit also modifies _OMPI_CHECK_HEADER to use AC_CHECK_HEADERS instead
of AC_CHECK_HEADER. This allows components to check for multiple headers
instead of just one. The new semantics of the header check in OMPI_CHECK_PACKAGE
are to return success if at least one of the specified headers exists. The new
semantics will not break current usage.

cmr=v1.7.5:ticket=trac:4053

This commit was SVN r30476.

The following Trac tickets were found above:
  Ticket 4053 --> https://svn.open-mpi.org/trac/ompi/ticket/4053
2014-01-29 18:35:47 +00:00
Jeff Squyres
6adc16081a Add a configure test that mimics what OMPI's current mpi_f08
implementation does (that is not quite adherant to the Fortran
standard).  If a compiler allows this behavior, build the mpi_f08
wrapper.  For example, ifort allows it, but Pathscale/EKOPath 5.0 is
stricter in its Fortran compliance and disallows it.

This test is temporary; the real fix is to make OMPI adhere to Fortran
properly (i.e., see #4157).  Once we fix #4157, this test should be
removed.  The main reason for committing this test is to put it into
v1.7.4 so that we can release, but with the intent to remove it by
1.7.5 (or 1.8.x at the latest!).

Refs trac:4157

cmr=v1.7.4:reviewer=ompi-rm1.7:subject=Add mpi_f08-(non)compliance configure test

This commit was SVN r30440.

The following Trac tickets were found above:
  Ticket 4157 --> https://svn.open-mpi.org/trac/ompi/ticket/4157
2014-01-27 23:37:42 +00:00
Ralph Castain
af4a9a0688 Make clear that --with-pmi can/should be used to specify the path to the pmi installation since at least one person didn't realize it.
cmr=v1.7.4:reviewer=jsquyres

This commit was SVN r30439.
2014-01-27 22:50:37 +00:00
Jeff Squyres
967550b3ac Update the BIND(C, name="foo") test to see if the compiler supports
names longer than 32 characters.

Per discussion on the devel list starting here:
http://www.open-mpi.org/community/lists/devel/2014/01/13799.php we
need a new litmus test to disqualify older Fortran compilers (e.g.,
Pathscale 4.0.12) that *seem* to support all the Right Things, but a)
do not support BIND(C, name="super_long_name") or b) run into an
internal error when compiling our mpi_f08 module.

Testing for b) is sketchy at best.  But OMPI has some BIND(C) names
that are >32 characters, and the same compilers that exhibit b) also
seem to not support BIND(C) names that are >32 characters (i.e., a)).
Hence, the following BIND(C) test checks to ensure that BIND(C,
name="foo") works, where "foo" is actually a name >32 characters.

cmr=v1.7.4:reviewer=rhc:subject=Update Fortran configure test to exclude older pathscale/open64 compilers from mpi_f08

This commit was SVN r30421.
2014-01-24 23:17:14 +00:00
Ralph Castain
e3cb4b4a5b Grant Nathan his wish - add an --disable-getpwuid to the configure options and protect all users of that code so it disappears if disabled.
cmr=v1.7.5:reviewer=hjelmn:subject=disable getpwuid if requested

This commit was SVN r30413.
2014-01-24 19:18:37 +00:00
Mike Dubman
59d4bb662c OSHMEM: rework fortran support detection
fix the case, to enable oshmem-fortran when "with-shmem" was specified and "ompi-fortran" was enabled and happy.

fixed by Roman, reviewed by Miked

Refs trac:3763

This commit was SVN r30391.

The following Trac tickets were found above:
  Ticket 3763 --> https://svn.open-mpi.org/trac/ompi/ticket/3763
2014-01-23 07:49:13 +00:00
Jeff Squyres
22782f6c2a Ensure to protect the "use mpi" build properly
cmr=v1.7.4:ticket=4162

This commit was SVN r30387.

The following Trac tickets were found above:
  Ticket 4162 --> https://svn.open-mpi.org/trac/ompi/ticket/4162
2014-01-23 03:40:38 +00:00
Jeff Squyres
308ab05ea7 Better detection for user-requested Fortran bindings.
As discovered by the nightly build, r30379 broke the case where
configure does not find a fortran compiler, and no form of
--enable-mpi-fortran was specified.

This commit specifically calls out the difference between a user
specifying that they want Fortran bindings and the default "try to
compile all the Fortran bindings" cases.

cmr=v1.7.4:ticket=4162

This commit was SVN r30386.

The following SVN revision numbers were found above:
  r30379 --> open-mpi/ompi@7b28af54bb

The following Trac tickets were found above:
  Ticket 4162 --> https://svn.open-mpi.org/trac/ompi/ticket/4162
2014-01-23 02:27:48 +00:00
Jeff Squyres
1c12e21296 We have no non-wrapper mpi_f08 implementation.
So just take out this useless warning.

cmr=v1.7.5:ticket=4163

This commit was SVN r30383.

The following Trac tickets were found above:
  Ticket 4163 --> https://svn.open-mpi.org/trac/ompi/ticket/4163
2014-01-23 01:34:34 +00:00
Jeff Squyres
7b28af54bb Add ability to selectively enable/disable Fortran bindings
Each Fortran bindings layer builds on the other.  Specifically:

 * You can build just mpif.h support
 * You can build mpif.h and "use mpi" support
 * You can build mpif.h and "use mpi" and "use mpi_f08" support

You cannot build mpif.h and "use mpi_f08" support without also
building "use mpi" support.

This new functionality adds new capabilities to the existing
--enable-fortran-mpi switch.  You can now pass the following values:

 * --enable-fortran-mpi=no or none: synonyms for --disable-fortran-mpi
   (i.e., build no Fortran bindings).
 * --enable-fortran-mpi=mpifh: build only mpif.h support
 * --enable-fortran-mpi=usempi: build mpif.h and "use mpi" support
 * --enable-fortran-mpi=usempif08: build mpif.h, "use mpi", and "use
   mpi_f08" support
 * --enable-fortran-mpi=yes or all: synonyms for --enable-fortran-mpi
   (i.e., no argument), which will attempt to build all 3 Fortran
   bindings

cmr=v1.7.4:ticket=4162

This commit was SVN r30379.

The following Trac tickets were found above:
  Ticket 4162 --> https://svn.open-mpi.org/trac/ompi/ticket/4162
2014-01-23 01:28:55 +00:00
Hadi Montakhabi
8af6b8b4e4 add support for PLFS filesystem
This commit was SVN r30370.
2014-01-22 21:16:15 +00:00
Mike Dubman
34b3718042 revert, need rework.
This commit was SVN r30351.
2014-01-21 17:56:01 +00:00
Mike Dubman
37343574e0 OSHMEM: fix fortran binding
The check to enable shmem fortran was too early, MPI can disable fortran but SHMEM fortran check was already done.
Refs trac:3763

This commit was SVN r30340.

The following Trac tickets were found above:
  Ticket 3763 --> https://svn.open-mpi.org/trac/ompi/ticket/3763
2014-01-21 09:20:51 +00:00
Ralph Castain
abb432aef6 The portable_platform file moved to opal at some point, but this .m4 didn't get updated to match.
Thanks to Paul Hargrove for spotting it and providing a patch!

cmr=v1.7.4:reviewer=jsquyres

This commit was SVN r30320.
2014-01-18 03:19:34 +00:00
Ralph Castain
42b7c4499a Correct a typo to get the right configure option to match the internal logic, thus making --enable-mpi-thread-multiple to actually work
cmr=v1.7.4:reviewer=jladd:subject=fix enable-mpi-thread-multiple

This commit was SVN r30296.
2014-01-15 03:56:29 +00:00
Mike Dubman
9f5abfb233 OSHMEM: fix fortran selection logic and refactoring
refactoring inspired by this thread: http://www.open-mpi.org/community/lists/devel/2014/01/13744.php
fix oshmem fortran selection logic, Thanks to Paul for info
Refs trac:3763

This commit was SVN r30286.

The following Trac tickets were found above:
  Ticket 3763 --> https://svn.open-mpi.org/trac/ompi/ticket/3763
2014-01-14 13:23:44 +00:00
Jeff Squyres
5f17bc3c2c Make the use of PROTECTED in the mpi_f08 module be optional.
Add a configure test to see if the Fortran compiler supports the
PROTECTED keyword.  If it does, use in mpi-f08-types.F90 (via a macro
defined in configure-fortran-output-bottom.h).

This is needed to support the PGI 9 Fortran compiler, which does not
support the PROTECTED keyword.

Note that regardless of whether we want to support the PGI 9 Fortran
compiler + mpi_f08, we need to correctly detect whether PROTECTED
works or not, and then use that determination as a criteria for
building the mpi_f08 module.  Previously, mpi-f08-types.F90 used
PROTECTED unconditionally, and we didn't test for it in configure.  So
if a compiler (e.g., PGI 9) supported everything else but didn't
support PROTECTED, it would try to compile the mpi_f08 stuff and choke
on the use of PROTECTED.

Refs trac:4093

This commit was SVN r30273.

The following Trac tickets were found above:
  Ticket 4093 --> https://svn.open-mpi.org/trac/ompi/ticket/4093
2014-01-13 18:35:42 +00:00
Jeff Squyres
c6c6cbddb2 Missed this one in r30271.
Refs trac:4102

This commit was SVN r30272.

The following SVN revision numbers were found above:
  r30271 --> open-mpi/ompi@23a235d1ef

The following Trac tickets were found above:
  Ticket 4102 --> https://svn.open-mpi.org/trac/ompi/ticket/4102
2014-01-13 18:30:15 +00:00
Jeff Squyres
23a235d1ef Minor configure output consistency updates
Just some minor updates to make some Fortran test outputs be a bit
more consistent with each other.  This can definitely wait until
1.7.5, unless it causes conflicts with other changes that need to come
into 1.7.4.

cmr=v1.7.5:reviewer=dgoodell

This commit was SVN r30271.
2014-01-13 18:28:26 +00:00
Jeff Squyres
cc4440147f Fix typos in Fortran configury: ensure to call the right m4 macros!
Refs trac:4093

This commit was SVN r30258.

The following Trac tickets were found above:
  Ticket 4093 --> https://svn.open-mpi.org/trac/ompi/ticket/4093
2014-01-11 14:34:53 +00:00
Jeff Squyres
69ecf1670c Remove even more dead Fortran configury.
This configure option was only relevant when we were generating TKR
"use mpi" interfaces for MPI subroutines with choice buffers.  Now
that we aren't, the only interface that needs to accept a choice
buffer is MPI_SIZEOF (which we have to provide).  

And since there's now only several dozen interfaces in the "mpi" TKR
module, there's no reason to not generate ''all'' possible array rank
values (when there were thousands of interfaces, generating 4-vs-7
array ranks per interface per type was a big deal).  The default used
to be 4; now we can just hard-code it to 7, the max possible value for
Fortran 2003 (I think the max was raised ?to 11? in F2008, but let's
not go there for now).

cmr=v1.7.5:reviewer=dgoodell:subject=Remove even more dead Fortran configury

This commit was SVN r30257.
2014-01-11 14:06:59 +00:00
Jeff Squyres
b0ffdb3ae5 As noted by Paul Hargrove, older PGI compilers support ''some'' of
BIND(C), but not ''all'' of it.  So expand our configure checks to
look for multiple different forms of BIND(C):

 * ISO_C_BINDING
 * SUBROUTINE ... BIND(C)
 * TYPE, BIND(C)
 * TYPE(foo), BIND(C, name="bar")

If the compiler supports all of these, then declare that we support
BIND(C), and the rest of the mpi_f08 checks can continue.  If we miss
any one of those, don't bother continuing -- we won't build the
mpi_f08 module.

Also push the results of all of these tests down to ompi_info so that
they can be reported easily (e.g., "Hey, why doesn't my OMPI
installation have the mpi_f08 module?").

cmr=v1.7.4:reviewer=jsquyres:subject=Expand Fortran BIND(C) configure checks

This commit was SVN r30247.
2014-01-10 23:44:55 +00:00
Jeff Squyres
18cc164a3b Remove dead Fortran .m4 code.
This should have been part of r30151/#4057.  Oops.

cmr=v1.7.4:reviewer=dgoodell

This commit was SVN r30246.

The following SVN revision numbers were found above:
  r30151 --> open-mpi/ompi@52b5e17d97
2014-01-10 23:40:47 +00:00
Mike Dubman
d9f144d09f fix broken logic for oshmem:bindings:fort
Refs trac:3763

This commit was SVN r30226.

The following Trac tickets were found above:
  Ticket 3763 --> https://svn.open-mpi.org/trac/ompi/ticket/3763
2014-01-10 15:20:19 +00:00
Jeff Squyres
36cca10042 Thanks to a reminder from Tobias Burunus, commit support for the
upcoming GCC/gfortran 4.9's ignore TKR interface.

This was originally committed in a side mercurial repo, but I sadly
completely forgot about it until Tobias reminded me.

cmr=v1.7.5:reviewer=dgoodell:subject=Add support for gfortran 4.9 Fortran ignore TKR

This commit was SVN r30152.
2014-01-08 03:46:27 +00:00
Jeff Squyres
52b5e17d97 Eliminate some dead Fortran configury (these values are not used any
more).

cmr=v1.7.5:reviewer=dgoodell

This commit was SVN r30151.
2014-01-08 03:19:58 +00:00
Nathan Hjelm
e627c91227 btl/vader: add support for traditional shared memory.
This commit adds support for placing the send memory segment in a
traditional shared memory segment when XPMEM is not available. The
current default is to reserve 4MB for shared memory on each process.
The latest benchmarks show vader performing better than sm on both
Intel and AMD CPUs.

For large messages vader will now use CMA if it is available (and
XPMEM is not).

cmr=v1.7.5:reviewer=jsquyres

This commit was SVN r30123.
2014-01-06 19:51:44 +00:00
Ralph Castain
07503d8d6b Add some plumbing for ORCM support to keep the two code repos from diverging.
This commit was SVN r30115.
2014-01-03 22:35:20 +00:00
Ralph Castain
969d39d1af Fix enable-mpi-java - we can't push/pop the opal_java_happy variable in opal_setup_java.m4 as we need it in ompi_setup_java.m4 to determine that the java bindings can be built
cmr=v1.7.4:reviewer=jsquyres:subject=Fix enable-mpi-java

This commit was SVN r30097.
2013-12-28 17:03:59 +00:00
Jeff Squyres
6f6c3cc21c Per http://www.open-mpi.org/community/lists/devel/2013/12/13532.php,
r30016 was not enough to solve the issue.

So properly prefix all the shell variables used in opal_setup_java.m4
(one of them had an orte_ prefix -- oops!).  Now we won't get any
conflicts.

Refs trac:4015

This commit was SVN r30037.

The following SVN revision numbers were found above:
  r30016 --> open-mpi/ompi@35dfd26f9e

The following Trac tickets were found above:
  Ticket 4015 --> https://svn.open-mpi.org/trac/ompi/ticket/4015
2013-12-20 22:42:49 +00:00
Mike Dubman
92fdbbd7b1 Implementing comment #1 from http://www.open-mpi.org/community/lists/devel/2013/12/13523.php
Refs trac:4011

This commit was SVN r30024.

The following Trac tickets were found above:
  Ticket 4011 --> https://svn.open-mpi.org/trac/ompi/ticket/4011
2013-12-20 16:53:28 +00:00
Mike Dubman
d78a9cdd77 add rpath on mca_mtl_mxm.so to point to /path/to/mxm/lib/libmxm.so which was detected at configure time
This *should* fix following situation:

1 mxm.rpm puts /etc/ld.so.conf.d/mxm.conf file during rpm install with libpath to /opt/mellanox/mxm/lib
2 some1 can extract mxm.rpm into $HOME/mxm and compile OMPI with new mxm location
3 during runtime, OMPI from prev step will pick MXM from step (1) instead of from step (2)

cmr=v1.7.4:reviewer=ompi-rm1.7

This commit was SVN r30005.
2013-12-20 11:15:41 +00:00
Jeff Squyres
a7e65df6bc Update the --enable-wrapper-rpath help string to be correct.
Refs trac:3694

This commit was SVN r29903.

The following Trac tickets were found above:
  Ticket 3694 --> https://svn.open-mpi.org/trac/ompi/ticket/3694
2013-12-13 22:20:10 +00:00
Jeff Squyres
a25630c5e7 Fix rpath m4 typo that seeped in at the last minute.
Refs trac:3694

This commit was SVN r29901.

The following Trac tickets were found above:
  Ticket 3694 --> https://svn.open-mpi.org/trac/ompi/ticket/3694
2013-12-13 21:40:03 +00:00
Jeff Squyres
1bc8f41edb This commit combines 3 somewhat-unrelated things, which unfortunately
got linked together (work on one caused work in the other):

 * Clean up a bunch of VAR_SCOPE issues in configure.  This includes:
   * Using VAR_SCOPE_PUSH and VAR_SCOPE_POP in more places
   * Cleaning up the use of some shell variables (e.g., name them better)
 * Add support for external libevent via
   --with-libevent=<dir-to-libevent-install-tree>, as specifically
   asked for by downstream packagers.
 * Revamp how wrapper compiler RPATH (and RUNPATH) support is done.
   The external libevent work exposed weakenesses in how the original
   RPATH/RUNPATH work was done, so we had to re-do it to be a bit more
   robust.

This work has not yet been tested on Solaris.

Refs trac:3694

This commit was SVN r29899.

The following Trac tickets were found above:
  Ticket 3694 --> https://svn.open-mpi.org/trac/ompi/ticket/3694
2013-12-13 21:24:45 +00:00
Brian Barrett
121ca26c59 Per discussion at Develoepr's Meeting, remove Solaris threads support. Solaris
will just fall back to pthreads, which should be no problem.

This commit was SVN r29893.
2013-12-13 20:07:11 +00:00
Brian Barrett
6ef938de3f * Per the Developer's meeting today, restructure the threading in Open MPI a bit
more:
  - Remove OPAL_ENABLE_MULTI_THREADS, since it didn't really do anything
    correctly.  Opal always has threads enabled at this point.
  - Remove OMPI_ENABLE_PROGRESS_THREADS, since this hasn't worked in
    8 years and it has performance issues we'll never be able to
    overcome.  Note that we have plans for re-adding async progress, using
    a hybrid protocol of async and sync sends.
  - OMPI_ENABLE_THREAD_MULTIPLE now determines whether the thread lock
    macros do the check or not.
  - Condition variables are ALWAYS polling right now, which fixes the thread
    live-lock currently found when THREAD_MULTIPLE is turned on.

This commit was SVN r29891.
2013-12-13 19:40:12 +00:00
Jeff Squyres
cc7e121b1c Per thread starting here:
http://www.open-mpi.org/community/lists/users/2013/10/22882.php, fix
the value of MPI_STATUS_SIZE for the -i8 case.  Thanks to Jim Parker
for bringing up the issue and providing the patch.

Separate patches are required for v1.6 and v1.7 (and will be attached
to their respective tickets), because this breaks ABI, so we need a
non-default configure option to fix the issue but knowingly break ABI.

cmr=v1.7.4:reviewer=bosilca:subject=Fix MPI_STATUS_SIZE for -i8 case
cmr=v1.6.6:reviewer=bosilca:subject=Fix MPI_STATUS_SIZE for -i8 case

This commit was SVN r29858.
2013-12-11 17:47:54 +00:00
Jeff Squyres
e45412f5db Addendum to r29847: actually remove the old OPAL_VAR_SCOPE_POP
Refs trac:3694

This commit was SVN r29848.

The following SVN revision numbers were found above:
  r29847 --> open-mpi/ompi@c1ce04ad23

The following Trac tickets were found above:
  Ticket 3694 --> https://svn.open-mpi.org/trac/ompi/ticket/3694
2013-12-09 14:30:01 +00:00
Mike Dubman
c1ce04ad23 revert Jeff`s fix, now hcol can be compiled with it
Refs trac:3694

This commit was SVN r29847.

The following Trac tickets were found above:
  Ticket 3694 --> https://svn.open-mpi.org/trac/ompi/ticket/3694
2013-12-09 11:49:09 +00:00
Jeff Squyres
33fe77b874 Comment out the badness from the hcoll configury, originally from
r29830 -- Jeff will straighten this out with Alexander in person next
week (I can't test this myself because I have no access to libhcoll).
Sorry for the hassle...

Refs trac:3694

This commit was SVN r29842.

The following SVN revision numbers were found above:
  r29830 --> open-mpi/ompi@3bd9c603ff

The following Trac tickets were found above:
  Ticket 3694 --> https://svn.open-mpi.org/trac/ompi/ticket/3694
2013-12-08 14:36:55 +00:00
Mike Dubman
9a65e0d8c6 cosmetic fixed fpr hcol autotools
Refs: #3694

This commit was SVN r29841.
2013-12-08 09:45:13 +00:00
Jeff Squyres
a7f45f2675 Oops! r29830 added a variable into OPAL_VAR_SCOPE that is actually
needed in the global scope ($ompi_check_fca_dir).  This commit removes
it from the OPAL_VAR_SCOPE, so it should be fixed now.

Sorry about that, folks!  :-(

This commit was SVN r29838.

The following SVN revision numbers were found above:
  r29830 --> open-mpi/ompi@3bd9c603ff
2013-12-07 22:54:10 +00:00