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

986 Коммитов

Автор SHA1 Сообщение Дата
Brian Barrett
703edbb0e6 Don't push infiniband CPPFLAGS into CPPFLAGS, but into the component CPPFLAGS
This commit was SVN r27754.
2013-01-07 18:57:03 +00:00
Brian Barrett
559b76a191 Need to include all the IB flags in the check for RDMA CM or the
headers and libraries won't be found if OFED is installed in a
non-standard path...

This commit was SVN r27753.
2013-01-07 17:54:10 +00:00
Ralph Castain
d482c6acc1 Improve the error message a bit
This commit was SVN r27726.
2012-12-28 03:02:07 +00:00
Ralph Castain
fb5079a310 Update the pmi detection to report a more meaningful error message when with-pmi is specified but the pmi.h file cannot be found
This commit was SVN r27725.
2012-12-27 04:57:30 +00:00
Brian Barrett
8231cb62a2 On OpenBSD (and probably others), expr operates on a 32 bit signed integer,
which is the same size as a Fortran or C integer.  This resulted in configure
coming up with Fortran's MAX_INT as -2^31, which obviously isn't a positive
number.  Since we found the MAX_INT using the same broken loop in a couple
places and doing it right is complicated, added a new macro that is much
more careful about sign roll-over.

During the Fortran rework between v1.6 and v1.7, the variable which
indicates whether or not Fortran is being compiled changed, so on platforms
without Fortran compilers, we were trying to determine the max value for
Fortran INTEGERS where we previously didn't.  I believe this is why
bug #3374 appeared as a regression.

Finally, since the OMPI code doesn't cope with OMPI_FORTRAN_HANDLE_MAX
being negative (which was the root cause of the segfault in $3374),
add a check at the end of the OMPI_FORTRAN_GET_HANDLE_MAX macro to
ensure that OMPI_FORTRAN_HANDLE_MAX is always non-negative.

This commit was SVN r27714.
2012-12-22 16:24:36 +00:00
Jeff Squyres
b29b852281 Consolidate all the opal/orte/ompi .m4 files back to the top-level
config/ directory.  We split them apart a while ago in the hopes that
it would simplify things, but it didn't really (e.g., because there
were still some ompi/opal .m4 files in the top-level config/
directory, resulting in developer confusion where any given m4 macro
was defined).

So this commit consolidates them back into the top-level directory for
simplicity.  

There's still (at least) two changes that would be nice to make:

 1. Split any generated .m4 file (e.g., autogen-generated .m4 files)
    into a separate directory somewhere so that a top-level -Iconfig/
    will only get our explicitly defined macros, not the autogen stuff
    (e.g., with libevent2019 needing to get the visibility macro, but
    NOT all the autogen-generated inclusion of component configure.m4
    files).
 1. Change configure to be of the form:
{{{
# ...a small amount of preamble/setup...
OPAL_SETUP
m4_ifdef([project_orte], [ORTE_SETUP])
m4_ifdef([project_ompi], [OMPI_SETUP])
# ...a small amount of finishing stuff...
}}}

I doubt we'll ever get anything as clean as that, but that would be
the goal to shoot for.

This commit was SVN r27704.
2012-12-19 00:00:36 +00:00
Ralph Castain
ef21699635 Since we now strip the path away from the platform file name, you have to indicate that the file is relative when sourcing it - otherwise, you get "file not found"
cmr:v1.7

This commit was SVN r27091.
2012-08-17 21:37:41 +00:00
Jeff Squyres
26217f27d7 Fix "make distclean" when used with MPI extensions. We were
accidentally adding component names to the OMPI_MPIEXT_ALL_SUBDIRS
variable twice; once with mpiext/ and once without.  And then
prefixing all of them with mpiext/ again at the end.  That wasn't
really necessary :-) -- we only need to add it once (without mpiext/)
and then prefix at the end (for consistency with the
OMPI_MPI_EXT_*_SUBDIRS handling).

This commit was SVN r26981.
2012-08-10 02:00:39 +00:00
Nathan Hjelm
3c6e2a2a48 Per RFC enable the use of the source directive (relative path) in platform files. The priority of configure options vs platform file options remains the same.
This commit was SVN r26873.
2012-07-26 16:19:23 +00:00
Josh Hursey
28681deffa Backout the ORCA commit. :(
There is a linking issue on Mac OSX that needs to be addressed before this is able to come back into the trunk.

This commit was SVN r26676.
2012-06-27 01:28:28 +00:00
Josh Hursey
542330e3a7 Commit of ORCA: Open MPI Runtime Collaborative Abstraction
This is a runtime interposition project that sits between the OMPI and ORTE layers in Open MPI.

The project is described on the wiki:
  https://svn.open-mpi.org/trac/ompi/wiki/Runtime_Interposition

And on this email thread:
  http://www.open-mpi.org/community/lists/devel/2012/06/11109.php

This commit was SVN r26670.
2012-06-26 21:42:16 +00:00
Jeff Squyres
a0e3912416 I actually meant to commit this hours ago (and could have sworn that I
did so!).  Previously, I forgot to include the case of not specifying
--with-verbs -- oops!  So now the OPAL_CHECK_VERBS_DIR macro will:

 1. $opal_want_verbs will be set to: "yes" if --with-verbs or
    --with-verbs=DIR was specified "no" if --without-verbs was
    specified) "optional" if neither --with-verbs* nor --without-verbs
    was specified
    '''NOTE:''' --with-openib* are deprecated synonyms for --with-verbs*.
 1. $opal_verbs_dir and $opal_verbs_libdir with either both be set or
    both be empty.

This commit was SVN r26654.
2012-06-25 20:28:45 +00:00
Jeff Squyres
148ae6d6e3 This commit unifies the configury of some verbs-lovin' components.
* Add new configure command line options and deprecate some old ones:
   * --with-verbs replaces --with-openib
   * --with-verbs-libdir replaces --with-openib-libdir
 * If you specify --with-openib[-libdir] without
   --with-verbs[-libdir], you'll get a "these options have been
   deprecated!" warning, but then they'll act just like
   --with-verbs[--libdir]. 

  '''Sidenote:''' Note that we are not renaming any components at this
  time, nor are we renaming the top-level OMPI_CHECK_OPENIB m4 macro
  (which is pretty strongly tied to the openib BTL and is bastaridzed
  by the ofud BTL).  Note that there will likely be more changes in
  this area coming soon (next week?) when some long-standing changes
  move to the SVN trunk: some openib BTL infrastructure will move to
  ompi/mca/common, and its configury gets split up / refactored.

We extend our philosophy of other --with-<foo> configure options of
--with-verbs to ''all'' verbs-lovin components:

 * If you specify --with-verbs, then all verbs-lovin' components must
   configure successfully (or abort).  This currently means: OOB ud,
   BTL ofud, BTL openib.
 * If you specify --with-verbs=DIR, then all verbs-lovin' component
   must configure successfully (or abort), and will use DIR to find
   verbs headers and libraries.
 * If you specify --without-verbs, then all verbs-lovin' components
   will be ignored.

This commit also fixes a problem where the --with-openib=DIR form
would not use DIR for ''all'' verbs-lovin' components (I think only
BTL openib and BTL ofud used that DIR).  Now all of them do, as does
hwloc (because hwloc has some !OpenFabrics helper functions that
require ibv types from verbs.h).

There's a little new m4 infrastructure worth mentioning:

 * If you create a new verbs-lovin' component (i.e., a component that
   need verbs), your configure.m4 should
   AC_REQUIRE([OPAL_CHECK_VERBS_DIR]). 
 * You can then use three global shell variables: $opal_want_verbs,
   $opal_verbs_dir, $opal_verbs_libdir, which will be set as follows:
   * opal_want_verbs will be "yes" and opal_verbs_dir and
     opal_verbs_libdir will both be set to directory values, '''OR'''
   * opal_want_verbs will be "no" and opal_verbs_dir and
     opal_verbs_libdir will both be set empty

This commit was SVN r26640.
2012-06-22 19:53:56 +00:00
Jeff Squyres
8b693b09af Fix long-standing typo -- that line should be a shell comment (!).
This commit was SVN r26639.
2012-06-22 19:30:08 +00:00
Terry Dontje
634fc278d9 Fix issue with sctp config scripts not detecting netinet/in.h dependency. Also removing tabs from sctp m4 file
This commit was SVN r26599.
2012-06-13 10:38:28 +00:00
Jeff Squyres
5d61dffbbc Fix long-standing typo.
This commit was SVN r26598.
2012-06-12 20:49:25 +00:00
Jeff Squyres
f9c685bd5e Fix some fortran flags variable names, and fortran configury C test
problems (i.e., don't return a value from a void() function!).  Thanks
to Eugene for identifying these issues.  Hopefully this will fix up
the problems Oracle is having with compiling the new Fortran stuff.

This commit was SVN r26310.
2012-04-23 15:28:26 +00:00
Jeff Squyres
b9640a582a Fix the case where there is no Fortran compiler found. Possibly fix
the case where we have a really ancient Fortran compiler that does not
support ISO_C_BINDING, but need to test to be sure that the new
configury works.

This commit was SVN r26290.
2012-04-18 19:29:07 +00:00
Jeff Squyres
253444c6d0 == Highlights ==
1. New mpifort wrapper compiler: you can utilize mpif.h, use mpi, and use mpi_f08 through this one wrapper compiler
 1. mpif77 and mpif90 still exist, but are sym links to mpifort and may be removed in a future release
 1. The mpi module has been re-implemented and is significantly "mo' bettah"
 1. The mpi_f08 module offers many, many improvements over mpif.h and the mpi module

This stuff is coming from a VERY long-lived mercurial branch (3 years!); it'll almost certainly take a few SVN commits and a bunch of testing before I get it correctly committed to the SVN trunk.

== More details ==

Craig Rasmussen and I have been working with the MPI-3 Fortran WG and Fortran J3 committees for a long, long time to make a prototype MPI-3 Fortran bindings implementation.  We think we're at a stable enough state to bring this stuff back to the trunk, with the goal of including it in OMPI v1.7.  

Special thanks go out to everyone who has been incredibly patient and helpful to us in this journey:

 * Rolf Rabenseifner/HLRS (mastermind/genius behind the entire MPI-3 Fortran effort)
 * The Fortran J3 committee
 * Tobias Burnus/gfortran
 * Tony !Goetz/Absoft
 * Terry !Donte/Oracle
 * ...and probably others whom I'm forgetting :-(

There's still opportunities for optimization in the mpi_f08 implementation, but by and large, it is as far along as it can be until Fortran compilers start implementing the new F08 dimension(..) syntax.

Note that gfortran is currently unsupported for the mpi_f08 module and the new mpi module.  gfortran users will a) fall back to the same mpi module implementation that is in OMPI v1.5.x, and b) not get the new mpi_f08 module.  The gfortran maintainers are actively working hard to add the necessary features to support both the new mpi_f08 module and the new mpi module implementations.  This will take some time.

As mentioned above, ompi/mpi/f77 and ompi/mpi/f90 no longer exist.  All the fortran bindings implementations have been collated under ompi/mpi/fortran; each implementation has its own subdirectory:

{{{
ompi/mpi/fortran/
  base/               - glue code
  mpif-h/             - what used to be ompi/mpi/f77
  use-mpi-tkr/        - what used to be ompi/mpi/f90
  use-mpi-ignore-tkr/ - new mpi module implementation
  use-mpi-f08/        - new mpi_f08 module implementation
}}}

There's also a prototype 6-function-MPI implementation under use-mpi-f08-desc that emulates the new F08 dimension(..) syntax that isn't fully available in Fortran compilers yet.  We did that to prove it to ourselves that it could be done once the compilers fully support it.  This directory/implementation will likely eventually replace the use-mpi-f08 version.

Other things that were done:

 * ompi_info grew a few new output fields to describe what level of Fortran support is included
 * Existing Fortran examples in examples/ were renamed; new mpi_f08 examples were added
 * The old Fortran MPI libraries were renamed:
   * libmpi_f77 -> libmpi_mpifh
   * libmpi_f90 -> libmpi_usempi
 * The configury for Fortran was consolidated and significantly slimmed down.  Note that the F77 env variable is now IGNORED for configure; you should only use FC. Example:
{{{
shell$ ./configure CC=icc CXX=icpc FC=ifort ...
}}}

All of this work was done in a Mercurial branch off the SVN trunk, and hosted at Bitbucket.  This branch has got to be one of OMPI's longest-running branches.  Its first commit was Tue Apr 07 23:01:46 2009 -0400 -- it's over 3 years old!  :-)  We think we've pulled in all relevant changes from the OMPI trunk (e.g., Fortran implementations of the new MPI-3 MPROBE stuff for mpif.h, use mpi, and use mpi_f08, and the recent Fujitsu Fortran patches).

I anticipate some instability when we bring this stuff into the trunk, simply because it touches a LOT of code in the MPI layer in the OMPI code base.  We'll try our best to make it as pain-free as possible, but please bear with us when it is committed.

This commit was SVN r26283.
2012-04-18 15:57:29 +00:00
Jeff Squyres
cb7cbf0fbd Josh and I talked about this on the phone today: mpiext is for
prototyping new MPI functionality.  The C++ bindings are officially
deprecated, and are (currently) 1 vote away from being removed from
MPI-3 altogether.  So let's whack the C++ stuff from mpiext.

This commit was SVN r26239.
2012-04-05 20:23:10 +00:00
Josh Hursey
158c30313e Add support for profiling interfaces for MPIEXT interfaces.
If the profiling directory is present '/profile' then wire in the profiling stuff.

Only supports C and F77 (and kinda F90) at the moment.

This commit was SVN r26237.
2012-04-04 20:41:49 +00:00
Jeff Squyres
28e289a9c0 Remove one more non-portable test "==" operator
This commit was SVN r25970.
2012-02-20 20:41:05 +00:00
Terry Dontje
e61a407860 Added notes about Solaris Studio and Ubuntu. Also added check for gccfss being the compiler and abort configure if it is.
This commit was SVN r25903.
2012-02-10 19:25:23 +00:00
Jeff Squyres
46a22a8fc1 Remove spurrious quotes; correct descriptions in AC_DEFINE's
This commit was SVN r25864.
2012-02-03 23:02:24 +00:00
Jeff Squyres
feb8eb8a90 Add the new MPI-3 function MPI_GET_LIBRARY_VERSION.
This commit was SVN r25860.
2012-02-02 23:57:09 +00:00
Matthias Jurenz
d154e81668 If configure of a contributed component fails, abort if it's requested via command line switch
This commit was SVN r25814.
2012-01-30 12:09:06 +00:00
Brian Barrett
cc660fa57a Rather than looking for any path, look for any non-absolute path starting
in contrib/platform, in addition to cwd

This commit was SVN r24905.
2011-07-20 23:28:17 +00:00
Josh Hursey
0833734fcf Add support for F77/F90 in the Open MPI extensions interface system.
Per RFC from OMPI Devel list:
 * http://www.open-mpi.org/community/lists/devel/2011/06/9324.php

This commit was SVN r24772.
2011-06-10 20:03:06 +00:00
Jeff Squyres
99ea34fe94 Missed updating these 2 scripts yesterday
This commit was SVN r24410.
2011-02-17 14:01:10 +00:00
Jeff Squyres
3f4d4886f2 Minor update for something that has been bugging me for quite a while:
OMPI supports multiple different repository systems (SVN, hg, git).
But the VERSION file has listed "want_svn" and "svn_r" as fields, even
though the actual repo system and version may not be SVN.

So search/replace those fields (and derrivative values that come from
those fields) with "want_repo_rev" and "repo_rev", respectively.

This commit was SVN r24405.
2011-02-16 22:53:23 +00:00
Eugene Loh
45b222ecec Correct some subtle PTRHEAD_ typos (should be PTHREAD_) in
config/ompi_config_pthreads.m4.  Terry pointed them out.
Mostly just aix/freebsd.

This commit was SVN r24324.
2011-01-28 21:05:40 +00:00
Ethan Mallove
8b83cdfe30 Remove config/libtool-sun-fortran.diff line from Makefile.am, since it was deleted.
This commit was SVN r24081.
2010-11-23 16:10:52 +00:00
Ethan Mallove
1d5785153f Redo of r24076. Modify configure (instead of libtool.m4) within
`autogen.pl` to properly handle all Sun Fortran version strings.

This commit was SVN r24080.

The following SVN revision numbers were found above:
  r24076 --> open-mpi/ompi@ca0b0efada
2010-11-23 16:08:39 +00:00
Ethan Mallove
ea837b9201 Add Libtool patch to autogen.pl for Sun Studio Fortran linker options
This commit was SVN r24075.
2010-11-19 22:09:37 +00:00
Jeff Squyres
e4744b4ed5 Per http://www.open-mpi.org/community/lists/devel/2010/11/8671.php,
change a bunch of OMPI_<foo> names to OPAL_<foo>.

This commit was SVN r24046.
2010-11-12 23:22:11 +00:00
Jeff Squyres
22496c774c Ensure to unalias some popular aliases so that this script doesn't get
hung waiting for stdin input

This commit was SVN r23970.
2010-10-29 13:37:19 +00:00
Ralph Castain
9ea2b196ce Convert the opal_event framework to use direct function calls instead of hiding functions behind function pointers. Eliminate the opal_object_t abstraction of libevent's event struct so it can be directly passed to the libevent functions.
Note: the ompi_check_libfca.m4 file had to be modified to avoid it stomping on global CPPFLAGS and the like. The file was also relocated to the ompi/config directory as it pertains solely to an ompi-layer component.

Forgive the mid-day configure change, but I know Shiqing is working the windows issues and don't want to cause him unnecessary redo work.

This commit was SVN r23966.
2010-10-28 15:22:46 +00:00
Brian Barrett
50394a05f2 Restore ordering to installdirs components
This commit was SVN r23964.
2010-10-28 01:03:16 +00:00
Brian Barrett
9febaa475e * Add shell of functionality required for supporting Portals4
* Update places where orte-free builds have failed

This commit was SVN r23891.
2010-10-14 22:49:09 +00:00
Jeff Squyres
7ef20f60f3 Autoconf updates to make us compatible with AC 2.68. Thanks to Ralf W. for the patch!
This commit was SVN r23797.
2010-09-23 22:37:52 +00:00
Jeff Squyres
cb647134b9 Also need this file in the tarball.
This commit was SVN r23796.
2010-09-23 15:33:13 +00:00
Jeff Squyres
6b9ef6517f Fix typo
This commit was SVN r23780.
2010-09-20 22:07:03 +00:00
Ralph Castain
40a2bfa238 WARNING: Work on the temp branch being merged here encountered problems with bugs in subversion. Considerable effort has gone into validating the branch. However, not all conditions can be checked, so users are cautioned that it may be advisable to not update from the trunk for a few days to allow MTT to identify platform-specific issues.
This merges the branch containing the revamped build system based around converting autogen from a bash script to a Perl program. Jeff has provided emails explaining the features contained in the change.

Please note that configure requirements on components HAVE CHANGED. For example. a configure.params file is no longer required in each component directory. See Jeff's emails for an explanation.

This commit was SVN r23764.
2010-09-17 23:04:06 +00:00
Jeff Squyres
828f2ba423 Remove the useless kruft again, but leaving $ver set this time...
This commit was SVN r23738.
2010-09-10 07:10:27 +00:00
Ralph Castain
853156dc36 Revert r23736 so trunk can build nightly tarball
This commit was SVN r23737.

The following SVN revision numbers were found above:
  r23736 --> open-mpi/ompi@fcff113cee
2010-09-10 02:10:58 +00:00
Jeff Squyres
fcff113cee Remove ancient kruft; we don't handle man pages here.
This commit was SVN r23736.
2010-09-09 15:40:18 +00:00
Jeff Squyres
c0685fc673 Fix problem noted by Sebastian Andrzej Siewior; we should not be using AS_VAR_GET. Per advice from Ralf, change them all to AS_VAR_IF and AS_VAR_COPY. CMR:v1.5. A separate patch has to be created for v1.4 because files have moved around.
This commit was SVN r23681.
2010-08-27 22:48:57 +00:00
Ethan Mallove
bdbc24a589 Get ltmain_pgi_tp.diff into nightly tarball
This commit was SVN r23678.
2010-08-27 14:06:51 +00:00
Ethan Mallove
7acb18f3d4 Patch ltmain.sh in autogen.sh per this Libtool thread:
http://www.mail-archive.com/libtool@gnu.org/msg11249.html

This commit was SVN r23665.
2010-08-25 19:40:17 +00:00
Rainer Keller
104afe39e4 - ompi_ext.m4: For VPATH builds, create the subdirectories first
- mpiext.h: For OMPI_DECLSPEC, include the ompi_config.h

This commit was SVN r23623.
2010-08-17 22:40:22 +00:00
Brian Barrett
6ae9790d19 * Add option of init/fini hooks for MPI extensions to be called at the end of
MPI_INIT and start of MPI_FINALIZE.
* Clean up MPI Extensions build system to acknowledge that OMPI's the only
  project with extensions, as well as remove some build artifacts necessary
  for more general components.

This commit was SVN r23616.
2010-08-17 04:44:22 +00:00
Mike Dubman
7d1a8a154d fca:
- keep compat to fca v1.2 and fca 2.0
- fix segv
- keep compat to ompi 1.4.x

This commit was SVN r23569.
2010-08-08 13:28:41 +00:00
Mike Dubman
7cbe9b43c2 initial release of Voltaire FCA (fabric collective accelerator) collective component
- compatible with FCA v1.2

This commit was SVN r23539.
2010-08-02 11:25:53 +00:00
Jeff Squyres
c3cc8151c7 Add --disable-<ompi-contrib-name> switch. Thanks to Kevin Buckley for
the initial patch.

This commit was SVN r23426.
2010-07-16 13:19:20 +00:00
Jeff Squyres
a3aba8f2b7 Missed two places to rename libtrace -> libompitrace.
This commit was SVN r23359.
2010-07-06 22:26:08 +00:00
Jeff Squyres
1802325a39 Rename "libtrace" to be "libompitrace" so as not to conflict with an
already-existing "libtrace" on some BSD distros.

This commit was SVN r23357.
2010-07-06 21:48:15 +00:00
Jeff Squyres
3a87183b57 Fix the help message to show which values are legal for
--enable-contrib-no-build.  Thanks to Kevin Buckley for pointing out
the issue.

This commit was SVN r23356.
2010-07-06 14:57:05 +00:00
Jeff Squyres
3449c34bc9 Remove no-longer-existing patchfiles from the Makefile.am.
This commit was SVN r22897.
2010-03-27 11:36:31 +00:00
Jeff Squyres
319fb12504 Per RFC initially started here:
http://www.open-mpi.org/community/lists/devel/2010/02/7496.php

Increase the required versions of AM, AC, and LT:

 * Autoconf: 2.65
 * Automake: 1.11.1
 * Libtool: 2.2.6b

And therefore removed a bunch of patches that we used to apply to make
older versions of these tools work.

Also updated the HACKING document to match these version numbers,
specifically mentioned Mercurial in a few places, and removed some
outdated language about running autogen.sh in subdirectories.

This commit was SVN r22896.
2010-03-26 21:03:50 +00:00
Jeff Squyres
d0d1cd90db Oops -- use a name that matches the other patches in this dir and
matches the name in Makefile.am.

This commit was SVN r22816.
2010-03-11 02:13:01 +00:00
Jeff Squyres
9f1c699f36 Add a patch to libltdl so that the preopen loader doesn't mask a real
error if the file-based dloader (e.g., dlopen) fails to load a DSO for
a complex reason (e.g., unresolved symbol).

This has been widely reported upstream to the libltdl maintainers - a
general solution is difficult.  This is very definitely an
OMPI-specific solution.  Since our embedded libltdl is hidden behind
visibility flags, that's ok.

Note that this is a change to autogen.sh, but this commit does not
force re-running autogen.sh.  You'll just get the new functionality
the next time you re-run autogen.sh.

This commit was SVN r22806.
2010-03-10 17:03:25 +00:00
Rainer Keller
4ded1651a3 - Don't we love Fortran: while everybody was of the opinion the
continuation mark in column 6 is enough to split the lines, we do
   the same continuation mark in column 73.
   Now, while that would fit any msg., this would produce warnings when
   including mpif-config.h  with -Wall in gfortran and -warn in ifort.

   Just get the SVN Version string short and forget it. Let's see
   make check choke on that.

   This additionally fixes the HG version string...

   (Will mention this in ticket #2259)

This commit was SVN r22620.
2010-02-16 02:25:00 +00:00
Jeff Squyres
715d866da6 Minor fixes:
* Fix typo in echo message
 * Only traverse into orte/ and ompi/ if they exist (i.e., properly
   handle --no-orte and --no-ompi tarballs).  Note that this was only
   a minor error -- before, they just output error messages and
   (correctly) kept going.  This fix just removes the error messages.

This commit was SVN r22353.
2010-01-05 15:11:41 +00:00
Jeff Squyres
781164a96c Add missing file.
This commit was SVN r22294.
2009-12-10 22:46:08 +00:00
Terry Dontje
c6ebc7c341 rename macros ompi_check_optflags and ompi_make_stripped_flags based on comments in #2072
This commit was SVN r22151.
2009-10-28 10:51:59 +00:00
Terry Dontje
6df802424d remove duplicate setting of CFLAGS_WITHOUT_OPTFLAGS and special case DEBUGGER_FLAGS for intel compiler
This commit was SVN r22143.
2009-10-26 18:41:53 +00:00
Ralph Castain
13d86e100b Courtesy of Ralph and Jeff:
Continue the reorganization of the configure system. Move files from the main config directory to their appropriate level-specific config directories. Modify the configure system to correctly handle compiler detection, test, and setup so that all things pertaining to opal and orte are done at the lower level, with the ompi configure system only looking at mpi-specific options.

Ensure the wrapper compilers for orte and ompi only get built when appropriate. Add support for c++ to the orte wrapper compilers, both script and non-script versions.

This commit was SVN r22138.
2009-10-24 01:04:35 +00:00
Rainer Keller
e0b7aa772f - svn propedit svn:ignore config/
Add project_list.m4 and remove the file.

This commit was SVN r22123.
2009-10-22 17:18:50 +00:00
Rainer Keller
8f01bd4c8e - Just noticed, this is missing in nightly tar-ball as well...
This commit was SVN r22121.
2009-10-22 02:07:23 +00:00
Ralph Castain
214e26b539 Per Jeff (this work was done on a branch of mine, so I will do the commit):
Re-enable "./autogen.sh -no-ompi" again. If you -no-ompi, the entire OMPI
configury is skipped and the entire ompi/ subtree is not built. There's
some simple m4-isms that prune out the relevant parts.

I added ompi/config/, orte/config/, and opal/config/ directories. I moved a
bunch of m4 files from the top-level config/ dir into ompi/config/, and a few
into orte/config/.

Note that all 3 <project>/config directories have a config_files.m4 file. This
file contains the AC_CONFIG_FILES list for that project. The AC_CONFIG_FILES
call cannot be in an AC_DEFUN macro and conditionally called -- if it is
included at all, Autoconf will process it. Hence, these config_files.m4 files
don't AC_DEFUN -- they just have AC_CONFIG_FILES. m4_ifdef() is used to
conditionally include the files or not.

I moved a bunch of obvious OMPI-only m4 files from config/ to ompi/config/,
but I'm sure that there's more that could go. A ticket will be filed with
thoughts on future work in this area.

This commit was SVN r22113.
2009-10-20 23:44:20 +00:00
Ralph Castain
358528309e Per the RFC, disable IPv6 support unless specifically requested to enable it, even if the underlying system has the required include headers.
NOTE: the IPv6 support is currently marginally working and has problems when IPv6 headers are present but the interfaces are not configured to use that protocol, per several reports from users. It is unclear that anyone is willing/able to support this capability. Should that situation change, this change can be reconsidered.

This commit was SVN r22039.
2009-09-30 23:27:11 +00:00
George Bosilca
74d56d51ac Fix a typo.
This commit was SVN r22007.
2009-09-23 23:36:44 +00:00
Ralph Castain
c3f9096fd9 Add a reliable multicast framework, with an initial basic module. This is configured out unless specifically requested via --enable-multicast.
This commit was SVN r21988.
2009-09-22 00:58:29 +00:00
Ralph Castain
a3c057c943 Add a configure option to enable-monitoring
This commit was SVN r21961.
2009-09-09 20:58:22 +00:00
Jeff Squyres
b6d406f9c2 Double check that "hg" is found on the system before trying to use
it.  If not found, insert a warning version string.

This commit was SVN r21946.
2009-09-05 09:01:30 +00:00
Jeff Squyres
c81fee8ab3 Slightly change hg version command in order to be a bit more safe
(thanks Sylvain J).

This commit was SVN r21945.
2009-09-05 08:29:13 +00:00
Jeff Squyres
4b72146afe Added some clarifications about *which* portions of this file were
derived from GASNet.

This commit was SVN r21944.
2009-09-05 03:42:40 +00:00
Jeff Squyres
17c8f103a3 Suggestion from Paul Hargrove to disable the use of --program-prefix,
--program-suffix, and --program-transform-name.

This commit was SVN r21943.
2009-09-05 01:46:49 +00:00
Ralph Castain
0e528e994f Revert last commit - went to wrong repo!
Didn't we just have that happen the other day too? :-)

This commit was SVN r21878.
2009-08-25 13:06:14 +00:00
Ralph Castain
15d12b240b Sync to r21876
This commit was SVN r21877.

The following SVN revision numbers were found above:
  r21876 --> open-mpi/ompi@ef970293f0
2009-08-25 13:04:12 +00:00
Ralph Castain
e1662b4c30 Add a new contrib area for "libtrace" - a debugger library that outputs the name of the called MPI function plus the value of all its arguments before passing them along to the corresonding PMPI call.
Support for the rest of the MPI bindings will be developed over time.

This commit was SVN r21849.
2009-08-20 04:36:20 +00:00
Jeff Squyres
f50e25d0d2 Addition to r21759 and r21764. Properly group flag-saving inside the AC_REQUIREd macro so that we don't get unexpected execution ordering. See comments on Trac ticket #1993 and Ralf W.'s post on the devel list: http://www.open-mpi.org/community/lists/devel/2009/08/6621.php
This commit was SVN r21803.

The following SVN revision numbers were found above:
  r21759 --> open-mpi/ompi@3eb2a3141a
  r21764 --> open-mpi/ompi@a82d957c46
2009-08-11 23:13:18 +00:00
Jeff Squyres
a82d957c46 A few dirty tricks to ensure that section titles appear before their
sections. 

This commit was SVN r21764.
2009-08-05 01:25:47 +00:00
Rainer Keller
bed58f1d08 - Allow the generated config/ompi_get_version.sh to be run
from VPATH directory...
   Otherwise the generated revision number is -1.

This commit was SVN r21762.
2009-08-04 22:50:23 +00:00
Jeff Squyres
3eb2a3141a These changes appear to make us play nicely with AC 2.64. I'm not
sure ''why'' these changes are necessary -- they don't really have any
functional difference.  Strange...

This commit was SVN r21759.
2009-08-04 21:37:10 +00:00
Jeff Squyres
846e6e4bad Fix borkedness from r21755:
* No need for OPAL_SIZEOF_BOOL and OPAL_SIZEOF_INT in comm_inln.h --
   just use sizeof()
 * Fix logic in ompi_setup_cxx.m4 to account for the case where we
   ''do'' have a C++ compiler (duh!!)
 * Fix spelling error in a shell variable that ended up making a
   bad/empty #define

This should bring the trunk back to being functional.  Sorry for the
interruption, folks...

This commit was SVN r21758.

The following SVN revision numbers were found above:
  r21755 --> open-mpi/ompi@90d6491737
2009-08-04 18:45:11 +00:00
Jeff Squyres
90d6491737 Since ompi_info is no longer written in C++, we no longer require a
C++ compiler in configure.  If we have a C++ compiler, then the MPI
C++ bindings are built by default.  If we don't have a C++ compiler,
then the MPI C++ bindings are not built by default.

--enable-mpi-cxx will now force an error if there is no C++ compiler
available.  --disable-mpi-cxx (or the lack of a C++ compiler) will now
disable many of the C++ compiler checks in configure.

Note that there are a few items to clean up regarding the difference
between C's _Bool type and C++'s bool type.  Right now, we assume that
they are the same.  But they aren't, and they shouldn't be treated as
such.  This cleanup will be forced in MPI-2.2 with the introduction of
the MPI_C_BOOL MPI datatype.

This commit was SVN r21755.
2009-08-04 11:54:01 +00:00
Brian Barrett
0278b86456 Pass visibility flags to libltdl's CFLAGS, which will result in libltdl
being hidden in libopal.  This seems to make applications which also
use libltdl play nicer.

This commit was SVN r21731.
2009-07-24 04:12:29 +00:00
Terry Dontje
b3e0c79275 Update copyright.
This commit was SVN r21722.
2009-07-21 12:40:43 +00:00
Terry Dontje
aae25346f5 Change test from using AC_TRY_RUN to using AC_RUN_IFELSE so we can
automatically pick up stdint.h by using AC_INCLUDES_DEFAULT.  This is needed
for the types like int8_t which were added last week.

This commit was SVN r21721.
2009-07-21 11:25:06 +00:00
Rainer Keller
7e59abd741 - Get test compiling with -Werror
This commit was SVN r21691.
2009-07-15 22:59:19 +00:00
Rainer Keller
6c5532072a - Split the datatype engine into two parts: an MPI specific part in
OMPI
   and a language agnostic part in OPAL. The convertor is completely
   moved into OPAL.  This offers several benefits as described in RFC
   http://www.open-mpi.org/community/lists/devel/2009/07/6387.php
   namely:
    - Fewer basic types (int* and float* types, boolean and wchar
    - Fixing naming scheme to ompi-nomenclature.
    - Usability outside of the ompi-layer.
 - Due to the fixed nature of simple opal types, their information is
   completely
   known at compile time and therefore constified
 - With fewer datatypes (22), the actual sizes of bit-field types may be
   reduced
   from 64 to 32 bits, allowing reorganizing the opal_datatype
   structure, eliminating holes and keeping data required in convertor
   (upon send/recv) in one cacheline...
   This has implications to the convertor-datastructure and other parts
   of the code.
 - Several performance tests have been run, the netpipe latency does not
   change with
   this patch on Linux/x86-64 on the smoky cluster.
 - Extensive tests have been done to verify correctness (no new
   regressions) using:
   1. mpi_test_suite on linux/x86-64 using clean ompi-trunk and
    ompi-ddt:
    a. running both trunk and ompi-ddt resulted in no differences
       (except for MPI_SHORT_INT and MPI_TYPE_MIX_LB_UB do now run
       correctly).
    b. with --enable-memchecker and running under valgrind (one buglet
       when run with static found in test-suite, commited)
   2. ibm testsuite on linux/x86-64 using clean ompi-trunk and ompi-ddt:
      all passed (except for the dynamic/ tests failed!! as trunk/MTT)
   3. compilation and usage of HDF5 tests on Jaguar using PGI and
      PathScale compilers.
   4. compilation and usage on Scicortex.
 - Please note, that for the heterogeneous case, (-m32 compiled
   binaries/ompi), neither
   ompi-trunk, nor ompi-ddt branch would successfully launch.

This commit was SVN r21641.
2009-07-13 04:56:31 +00:00
Shiqing Fan
656ec00611 Remove the definition of _WIN32_DCOM. It only enables DCOM when _WIN32_WINNT is less then 0x400 (Win 95, 98), and we are supporting 0x502(Win XP) and above in Open MPI. Thanks George for pointing this out.
This commit was SVN r21555.
2009-06-27 23:36:25 +00:00
Jeff Squyres
3d0e807e0d Fix one problem with autogen.sh -no-ompi: the ext stuff will now be skipped properly. However, there are now other un-defined AM_CONDITIONALs... Ugh!
This commit was SVN r21534.
2009-06-25 22:37:03 +00:00
Rainer Keller
499f0850ae - Update from yesterdays patch -- just check once and for all, getting
rid of optimization flags beforehand...

This commit was SVN r21370.
2009-06-05 01:00:59 +00:00
Rainer Keller
1b8d0cf146 - AC_TRY_RUN does not work in case of cross-compilation environments.
Tests based on preprocessor CPP output, won't help either, as they
   don't spit out nice computed numerical values, but rather the
   #define itselve.

This commit was SVN r21364.
2009-06-04 13:00:16 +00:00
Rainer Keller
aadf1add6c - In case of Intel compiler using FFLAGS=-ipo (included in -fast), the
produced object file does not contain external sumbols -- bad for the
   configure tests to find out external symbols.

   The only way to check for Fortran naming convention is to rid of
     -ipo and -fast in case of ifort...

   Thanks to Michel Devel for bringing this up.

This commit was SVN r21363.
2009-06-03 15:13:07 +00:00
Ralph Castain
4d3aa5a8a4 Once again, into the breach!
Yes, friends, our favorite PCIE BTL has resurfaced as mgmt vacillates over its existence. This is an updated version that actually mostly works, in its final stages of debugging.

Some generalization still remains to be done...

This commit was SVN r21358.
2009-06-02 22:26:36 +00:00
Rainer Keller
b572dc3591 - As discussed revert r21330, Fortran-configure info should
not end up in OPAL
 - Will post an updated patch for the OMPI_ALIGNMENT_ parts (within C).

This commit was SVN r21342.

The following SVN revision numbers were found above:
  r21330 --> open-mpi/ompi@95596d1814
2009-06-01 19:02:34 +00:00
Rainer Keller
95596d1814 - Move alignment and size output generated by configure-tests
into the OPAL namespace, eliminating cases like opal/util/arch.c
   testing for ompi_fortran_logical_t.
   As this is processor- and compiler-related information
   (e.g. does the compiler/architecture support REAL*16)
   this should have been on the OPAL layer.
 - Unifies f77 code using MPI_Flogical instead of opal_fortran_logical_t

 - Tested locally (Linux/x86-64) with mpich and intel testsuite
   but would like to get this week-ends MTT output


 - PLEASE NOTE: configure-internal macro-names and
   ompi_cv_ variables have not been changed, so that
   external platform (not in contrib/) files still work.

This commit was SVN r21330.
2009-05-30 15:54:29 +00:00
Rainer Keller
9ef87898e0 (originally, did not want to do this during business hours, but
well..)
 - As Jeff suggested, for m4 macros, dont use _ OPAL, but
   rather OPAL_ prefix
 - Set the variable before AC_SUBST, so that replacement happens
   in f77 header-file, too.

This commit was SVN r21316.
2009-05-28 20:28:43 +00:00
George Bosilca
273c32cb14 As these are used in more than C header files, they should be subst.
This commit was SVN r21306.
2009-05-27 19:29:34 +00:00
Rainer Keller
51e2b5dcef - Make the maximum length user strings configurable... Namely
MPI_MAX_PROCESSOR_NAME
      MPI_MAX_ERROR_STRING
      MPI_MAX_OBJECT_NAME
      MPI_MAX_INFO_KEY
      MPI_MAX_INFO_VAL
      MPI_MAX_PORT_NAME
      MPI_MAX_DATAREP_STRING

   Defaults stay as theyr currently are -- and now give an explanation on the
   min/max values being used in a central place...
   m4-macro _OPAL_WITH_OPTION_MIN_MAX_VALUE may be benefical in other parts
   of the configure system.

 - We need some of these in the lower level OPAL for an upcoming commit!
   All other levels base their values on them.

This commit was SVN r21292.
2009-05-27 12:54:40 +00:00
Rainer Keller
fc0c7f5b39 - Revert OMPI_CSUM_DST, not yet there
- Keep configure --help strings in sync

This commit was SVN r21288.
2009-05-27 03:24:10 +00:00
Rainer Keller
d760604b7f - Factor out OPAL, ORTE and OMPI specific configure-parameters...
Thereby move
     --with-openib-control-hdr-padding from opal_configure_options.m4
   to
     --enable-openib-control-hdr-padding in ompi_check_openib.m4

This commit was SVN r21287.
2009-05-27 03:03:18 +00:00
Rainer Keller
9d3f1671d3 - When doing VPATH compilation, the include-directory
has not been created yet by configure (happens only
   when mpi.h and other .in-files are being created...)
   Therefore mkdir -p it...

This commit was SVN r21278.
2009-05-26 21:58:27 +00:00
Josh Hursey
3e847c19f0 Per RFC: MPI Interface Extensions Infrastructure
Add infrastructure for MPI Interface Extensions. This allows a developer to create new MPI interfaces that are non-standard.

The following email thread describes the functionality proposed in the RFC:
  http://www.open-mpi.org/community/lists/devel/2009/05/5997.php

The following wiki page describes how to use and enable the extensions:
  https://svn.open-mpi.org/trac/ompi/wiki/MPIExtensions

This commit was SVN r21272.
2009-05-26 20:49:35 +00:00
Jeff Squyres
a67d67b2b9 Disable argument checking in sub-configure scripts to avoid annoying messages about how sub-configures don't support all the same options as the top-level configure script
This commit was SVN r21264.
2009-05-22 21:45:23 +00:00
Rainer Keller
916eb1fb1e - As proposed in RFC and telcon, warn the user about deprecated
functionality (per MPI-2.1). This warning can be toggled using
   --enable-mpi-interface-warning (default OFF), but can be
   selectively turned on passing
       mpicc -DOMPI_WANT_MPI_INTERFACE_WARNING

   Using icc, gcc < 4.5, warnings (such as in mpi2basic_tests) show:
     type_vector.c:83: warning: ‘MPI_Type_hvector’ is deprecated
     (declared at /home/../usr/include/mpi.h:1379)

   Using gcc-4.5 (gcc-svn) these show up as:
     type_vector.c:83: warning: ‘MPI_Type_hvector’ is deprecated
     (declared at /home/../usr/include/mpi.h:1379):
     MPI_Type_hvector is superseded by MPI_Type_create_hvector in MPI-2.0


   Jeff and I propose to turn such warnings on with Open MPI-1.7 by default.


 - Detection of user-level compiler is handled using the preprocessor
   checks of GASnet's other/portable_platform.h (thanks to Paul Hargrove
   and Dan Bonachea) adapted into ompi/include/mpi_portable_platform.h
   (see comments).

   The OMPI-build time detection is output (Familyname and Version)
   with ompi_info.

   This functionality (actually any upcoming __attribute__) are turned
   off, if a different compiler (and version) is being detected.


 - Note, that any warnings regarding (user-compiler!=build-compiler)
   as discussed in the RFC are _not_ included for now.


 - Tested on Linux with --enable-mpi-interface-warning on
   Linux, gcc-4.5 (deprecated w/ specific msg)
   Linux, gcc-4.3 (deprecated w/o specific msg)
   Linux, pathscale 3.1 (deprecated w/o specific msg)
   Linux, icc-11.0 (deprecated w/o specific msg)

   Linux, PGI-8.0.6 accepts __deprecated__ but does not issue a warning,
   further investigation needed...

This commit was SVN r21262.
2009-05-22 04:39:43 +00:00
Rainer Keller
5c80033aa2 - Eliminate icc warning w/ regard to __attribute__((__format__)) on
function pointers... Needed checking in opal_check_attributes.m4

This commit was SVN r21254.
2009-05-20 00:39:22 +00:00
Greg Koenig
e4e064542f This change goes along with r21180 to move files into
the correct names.

This commit was SVN r21181.

The following SVN revision numbers were found above:
  r21180 --> open-mpi/ompi@60485ff95f
2009-05-06 20:15:34 +00:00
Greg Koenig
60485ff95f This is a very large change to rename several #define values from
OMPI_* to OPAL_*.  This allows opal layer to be used more independent
from the whole of ompi.

NOTE: 9 "svn mv" operations immediately follow this commit.

This commit was SVN r21180.
2009-05-06 20:11:28 +00:00
Terry Dontje
20faf6a1a9 special case xldscope for sun cc compilers so icc doesn't falsely think it
should use the xldscop option.

This commit was SVN r21021.
2009-04-15 18:13:27 +00:00
Jeff Squyres
aed834ef1f Make better help messages for many configure options that take
optional directory arguments.

This commit was SVN r20978.
2009-04-10 22:32:00 +00:00
Jeff Squyres
5e68b0d0b7 Make help strings for configure =DIR types of options better/more accurate
This commit was SVN r20977.
2009-04-10 22:10:07 +00:00
Nysal Jan
8e2b6a8b3c There is no need to set epevin.data.fd as we have already set epevin.data.ptr to 5 earlier
This commit was SVN r20949.
2009-04-07 12:45:19 +00:00
Nysal Jan
2e1d14cafe Add a comment explaining the change made
This commit was SVN r20948.
2009-04-07 03:59:32 +00:00
Nysal Jan
fbba533874 Fix broken epoll detection. Add the write only fd of the pipe to the epoll set and check if the fd is ready for writing. The earlier test works with older linux distros but fails with newer ones.
This commit was SVN r20945.
2009-04-06 21:44:10 +00:00
Terry Dontje
b92bec7c85 Put in a check for visibility attribute support so we don't add the visibility
linker option when there is no visibility attribute support thus no visible 
external variables.  This is to get around a Sun Studio compiler version that
doesn't recognize the visibility attribute but recognizes the -xldscope option.

This commit was SVN r20902.
2009-03-31 14:31:00 +00:00
Ralph Castain
17f51a0389 Add a new PML module that acts as a "mini-dr" - when requested, it performs a dr-like checksum on messages for BTL's that require it, as specified by MCA params.
Add two new configure options that specify:

1. when to add padding to the openib control header - this *only* happens when the configure option is specified

2. when to use the dr-like checksum as opposed to the memcpy checksum. Not selectable at runtime - to eliminate performance impacts, this is a configure-only option

Also removed an unused checksum version from opal/util/crc.h.

The new component still needs a little cleanup and some sync with recent ob1 bug fixes. It was created as a separate module to avoid performance hits in ob1 itself, though most of the code is duplicative. The component is only selectable by either specifying it directly, or configuring with the dr-like checksum -and- setting -mca pml_csum_enable_checksum 1.

Modify the LANL platform files to take advantage of the new module.

This commit was SVN r20846.
2009-03-23 23:52:05 +00:00
Ralph Castain
fb2b41d40a Give up on the pcie BTL and blow it away. The drivers for this initial implementation have been too customized by IBM - too hard to re-integrate the code.
Maybe someday, someone with enough interest/time can start over...

This commit was SVN r20845.
2009-03-23 23:27:57 +00:00
Terry Dontje
d521a7bb71 Add visibility feature for Sun Studio compilers.
This commit was SVN r20833.
2009-03-20 10:13:01 +00:00
Rainer Keller
e4ebd56722 - AC_MSG_RESULT([$OMPI_F90_BUILD_SIZE]), only if F90-bindings enabled.
- All user output is named Fortran...

This commit was SVN r20784.
2009-03-16 02:07:33 +00:00
Jeff Squyres
a210b4ae06 Add new m4 macro: OMPI_SETUP_COMPONENT_PACKAGE.
This macro is a wrapper around OMPI_SETUP_PACKAGE, and provides common
functionality that I found myself doing in multiple components.
Someone may want to convince me that we should just wrap this all in
OMPI_SETUP_PACKAGE, but I did it first as a separate macro because so
many other places are already using OMPI_SETUP_PACKAGE and I didn't
want to update all of them.

This macro does the following:

 * Assumes that this component should be built by default if all
   headers and libraries can be found
 * Adds --with-<name> and --with-<name>-libdir options to configure
 * Sanity checks directory names given to the above options (i.e., look
   for a token file in each, but only if the directory argument is
   given)
 * Assumes that if --with-<name> is supplied and we can't build the
   component, it's a fatal error.
 * Assumes that if --with-<name> is NOT supplied and we can't build the
   component, it's NOT a fatal error.
 * Run OMPI_CHECK_PACKAGE (check for the specific presence of header
   files and/or libraries) to determine if the package is available
 * Set <framework>_<component>_WRAPPER_EXTRA_LDFLAGS
 * Set <framework>_<component>_WRAPPER_EXTRA_LIBS
 * Set and AC_SUBST <framework>_<component>_CPPFLAGS
 * Set and AC_SUBST <framework>_<component>_CFLAGS
 * Set and AC_SUBST <framework>_<component>_LDFLAGS
 * Set and AC_SUBST <framework>_<component>_LIBS

This commit was SVN r20746.
2009-03-06 21:48:36 +00:00
Ralph Castain
9184f2452f Sorry for this being committed in the middle of the day... :-//
However, there is a bug in the config/ompi_check_pcie.m4 that I found this morning which causes those components to always attempt to build. This fixes it so the trunk will build again.

This commit was SVN r20737.
2009-03-05 16:19:46 +00:00
Ralph Castain
20b81ff634 Add the PCIE BTL. This won't actually work yet - still need to work through issues with system header files, generalize specification of resources, etc. - but it won't build unless specifically directed to do so. Meantime, any more changes that impact these areas of the code base can be reflected here rather than having to be dealt with later.
This commit was SVN r20734.
2009-03-05 02:40:25 +00:00
Jeff Squyres
c731bb25c0 Refs trac:1603
* Significantly improve the check to see if REAL*16 === the back-end
   C type (i.e., not just in size, but also in representation)
 * Add a check to see if Intel compiler's _Quad type === REAL*16
 * Ensure that on the Sun SPARC with the Sun compilers, we get long
   double === REAL*16 

This commit was SVN r20513.

The following Trac tickets were found above:
  Ticket 1603 --> https://svn.open-mpi.org/trac/ompi/ticket/1603
2009-02-11 01:04:58 +00:00
Jeff Squyres
7a3b011f45 Really fix the quoting this time. Really.
This commit was SVN r20430.
2009-02-04 23:04:21 +00:00
Jeff Squyres
35c5e28a8e Up to SVN r20383
This commit was SVN r20384.

The following SVN revision numbers were found above:
  r20383 --> open-mpi/ompi@e0638c84c8
2009-01-29 17:59:04 +00:00
Jeff Squyres
b921629578 Make sure to check for the right header file when a $withdir is
explicitly specified.  This bug has escaped for a long time because
OMPI_CHECK_WITHDIR wasn't working properly until recently (r20289);
the fact that the wrong header file was specified was irrelevant
because OMPI_CHECK_WITHDIR was broken and the wrong header filename
was effectively ignored.

This commit was SVN r20301.

The following SVN revision numbers were found above:
  r20289 --> open-mpi/ompi@ebaf6d5e61
2009-01-20 16:57:19 +00:00
Jeff Squyres
96fdba262b It looks like ftp.gnu.org is disabling the download of repository
versions of config.guess and config.sub right now due to some git
vulnerability.  So make the script a bit more resilient to ensure that
what we get from ftp.gnu.org is actually runnable.

This commit was SVN r20300.
2009-01-20 15:53:18 +00:00
Jeff Squyres
ebaf6d5e61 Add a missing comma, which significantly changes the effect of this macro :-)
This commit was SVN r20289.
2009-01-17 00:15:42 +00:00
Jeff Squyres
d1c6f3f89a * Fix a truckload of Cisco copyrights to be the same as the rest of
the code base.
 * Fix a few misspellings in other copyrights.

This commit was SVN r20241.
2009-01-11 02:30:00 +00:00
Jeff Squyres
1f2b4945e0 Fix a help message.
This commit was SVN r20182.
2009-01-03 01:03:28 +00:00
Jeff Squyres
fb1e368274 Emit a developer-friendly message if you forget to define the proper
MCA m4 macro in configure.params (or, more likely, you copied the
configure.params file from another component and forgot to change the
m4 macro name in the file) instead of just aborting with a cryptic
message.

This commit was SVN r20181.
2009-01-02 23:43:19 +00:00
Jeff Squyres
ba359623e0 Fix a few places where we didn't properly escape []; consolidate all debug/optimization flag checking to use AC quadrigraphs properly
This commit was SVN r20097.
2008-12-09 23:42:28 +00:00
Jeff Squyres
cad0f41391 Also strip out -g[0-9] (in addition to -g) from CCASFLAGS on Leopard. Fixes trac:1701. Thanks to Barry Smith for reporting the problem.
This commit was SVN r20096.

The following Trac tickets were found above:
  Ticket 1701 --> https://svn.open-mpi.org/trac/ompi/ticket/1701
2008-12-09 23:42:16 +00:00
Brian Barrett
8a8cf96b6c Provide configure parameter to allow the disabling of reading parameters
and components from the home directory for platforms that are bad at
reading in files from home directory at scale (like Red Storm)

This commit was SVN r20069.
2008-12-04 01:51:44 +00:00
Ralph Castain
bb25d4e3f3 From Jeff's pen, answering a problem cited by me:
If someone specifies a directory for a config option, then we should respect that designation and error out if the directory isn't found. Implemented first for the --with-openib options.

This commit was SVN r20045.
2008-12-01 23:53:18 +00:00
Jeff Squyres
35d10a4794 Add helpful messages to AC_ARG_WITH --help output.
This commit was SVN r20044.
2008-12-01 23:13:13 +00:00
Jeff Squyres
017c0c526b Per ticket #1666, ensure that we check that the value of
--with-f90-max-array-dim is >=1 and <=7.

This commit was SVN r20042.
2008-11-26 02:25:20 +00:00
Ethan Mallove
b409d390bc Add a couple of Libtool tweaks for Sun Studio compatibility:
* Use the (undocumented) `solaris_use_stlport4` libtool variable to
   turn off any Cstd/stlport4 linkage. This allows Open MPI to be C++
   STL agnostic.
 * Patch `config/libtool.m4` in autogen.sh for a bug in Libtool's
   detection of the Sun Studio Fortran compiler. See the below e-mail
   thread for more details:
   http://www.open-mpi.org/community/lists/devel/2008/11/4920.php

This commit was SVN r20036.
2008-11-25 15:59:48 +00:00
Jeff Squyres
4f028171a2 Refs trac:1603:
* Add OMPI_F77_CHECK_REAL16_C_EQUV test whether REAL*16 is bit
   equivalent to long double.  AC_DEFINE OMPI_REAL16_MATCHES_C with
   result (0 or 1).
 * Update ompi_info to only show real16 support if
   OMPI_REAL16_MATCHES_C is 1.
 * Update DDT to only support REAL16 and COMPLEX32 if
   1==OMPI_REAL16_MATCHES_C.
 * MPI Op function pointer tabls will have NULL for the REAL16 and
   COMPLEX32 entries if 0==OMPI_REAL16_MATCHES_C.
 * Slightly cleaned up OMPI_F77_GET_ALIGNMENT and OMPI_F77_CHECK m4
   tests (use OMPI_VAR_SCOPE_PUSH/POP).

This commit was SVN r19948.

The following Trac tickets were found above:
  Ticket 1603 --> https://svn.open-mpi.org/trac/ompi/ticket/1603
2008-11-07 20:37:21 +00:00
Jeff Squyres
3b1a1d75f8 Fix problem on RHEL4U3 when compiling with the PGI 32 bit compiler:
<infiniband/driver.h> cannot be included because it will fail to
compile.  So per advice from Roland, in that case, just put manually
include the one ibv_*() prototype that we need.  Use an undocumented
feature of AC_CHECK_HEADERS to check for <infiniband/driver.h> that I
was told on the autoconf mailing list (see the comment for more
details).

This commit was SVN r19857.
2008-10-29 21:45:06 +00:00
Pavel Shamis
d79775c98c Changing --enable-connect-xrc to --enable-openib-connectx-xrc
Ticket #1608

This commit was SVN r19850.
2008-10-29 17:47:27 +00:00
Jeff Squyres
d2c3a3cede Fix a problem on some distros that have buggy versions of gcc (e.g.,
https://bugs.launchpad.net/ubuntu/+source/gcc-4.2/+bug/284401).
Ensure to test for -Wno-long-* in combination with other CFLAGS that
we added, not just individually.

This commit was SVN r19838.
2008-10-29 12:17:44 +00:00
George Bosilca
d33801c0fa Rollback the last two commits.
svn merge -r 19823:19821 https://svn.open-mpi.org/svn/ompi/trunk ./

I copied the config directory in another location, and the original
.svn directory was replaced by the Open MPI one ... As a result my
first commit, applied the changes on the Open MPI trunk instead of
the other project.

This commit was SVN r19824.
2008-10-28 17:22:29 +00:00
George Bosilca
e0bb777a51 Remove useless files.
This commit was SVN r19823.
2008-10-28 17:02:37 +00:00
George Bosilca
74041562a2 One file at the time ...
This commit was SVN r19822.
2008-10-28 16:56:53 +00:00
Jeff Squyres
fdbb2d01aa Fix the wrapper compiler flags to get the right C++ exceptions flags
(this was missed in #1585).  Also, fix a long-standing problem that
the F90 wrapper compilers were using the F77 wrapper compiler flags.

This commit was SVN r19819.
2008-10-28 14:26:47 +00:00
Jeff Squyres
be21ea2391 Back out r19805 and replace it with something a bit better, based on a
suggestion from George during review.

Refs trac:1595.

This commit was SVN r19818.

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

The following Trac tickets were found above:
  Ticket 1595 --> https://svn.open-mpi.org/trac/ompi/ticket/1595
2008-10-28 12:25:08 +00:00
Jeff Squyres
bc710baa75 Remove a compiler warning from ompi_info by using 2 macros to record
whether MPI API parameters should be checked never, always, or
determined at run-time.

This commit was SVN r19805.
2008-10-25 20:54:02 +00:00
Terry Dontje
a39d8d62e7 Correct the "default" message for --enable-cxx-exceptions to disabled as the
code is actually coded and correct some F90 comments to f77.

This commit was SVN r19784.
2008-10-21 20:54:08 +00:00
Jeff Squyres
ac698173b9 * Ensure to pass the C++ exceptions flags to the C and Fortran
compilers as well.   Not doing this was causing problems with
   MPI::ERRORS_THROW_EXCEPTIONS with gcc in 32 bit (but not 64 bit!). 
 * Ensure that the C and Fortran compilers actually like the C++
   exceptions flags.  If not, currently just abort.  Let's see if
   anyone complains about this -- I doubt they will because a) C++
   exception support is not enabled by default, and b) I think C++
   exceptions really only make sense within the same compiler family.

This commit was SVN r19783.
2008-10-21 20:25:20 +00:00
Jeff Squyres
bccd8a6cfc Expand a few configure help string messages, mainly because Terry was
complaining that he didn't know what the defaults were ;-), but also
because it's the Right thing to do.

This commit was SVN r19765.
2008-10-17 23:05:30 +00:00
Jeff Squyres
c42ab8ea37 Fixes trac:1210, #1319
Commit from a long-standing Mercurial tree that ended up incorporating a lot of things:

 * A few fixes for CPC interface changes in all the CPCs
 * Attempts (but not yet finished) to fix shutdown problems in the IB CM CPC
 * #1319: add CTS support (i.e., initiator guarantees to send first message; automatically activated for iWARP over the RDMA CM CPC)
   * Some variable and function renamings to make this be generic (e.g., alloc_credit_frag became alloc_control_frag)
   * CPCs no longer post receive buffers; they only post a single receive buffer for the CTS if they use CTS. Instead, the main BTL now posts the main sets of receive buffers. 
   * CPCs allocate a CTS buffer only if they're about to make a connection
 * RDMA CM improvements:
   * Use threaded mode openib fd monitoring to wait for for RDMA CM events
   * Synchronize endpoint finalization and disconnection between main thread and service thread to avoid/fix some race conditions
   * Converted several structs to be OBJs so that we can use reference counting to know when to invoke destructors
   * Make some new OBJ's have opal_list_item_t's as their base, thereby eliminating the need for the local list_item_t type
   * Renamed many variables to be internally consistent
   * Centralize the decision in an inline function as to whether this process or the remote process is supposed to be the initiator
   * Add oodles of OPAL_OUTPUT statements for debugging (hard-wired to output stream -1; to be activated by developers if they want/need them) 
   * Use rdma_create_qp() instead of ibv_create_qp()
 * openib fd monitoring improvements:
   * Renamed a bunch of functions and variables to be a little more obvious as to their true function
   * Use pipes to communicate between main thread and service thread
   * Add ability for main thread to invoke a function back on the service thread 
   * Ensure to set initiator_depth and responder_resources properly, but putting max_qp_rd_ataom and ma_qp_init_rd_atom in the modex (see rdma_connect(3))
   * Ensure to set the source IP address in rdma_resolve() to ensure that we select the correct OpenFabrics source port
   * Make new MCA param: openib_btl_connect_rdmacm_resolve_timeout
 * Other improvements:
   * btl_openib_device_type MCA param: can be "iw" or "ib" or "all" (or "infiniband" or "iwarp")
   * Somewhat improved error handling
   * Bunches of spelling fixes in comments, VERBOSE, and OUTPUT statements
   * Oodles of little coding style fixes
   * Changed shutdown ordering of btl; the device is now an OBJ with ref counting for destruction
   * Added some more show_help error messages
   * Change configury to only build IBCM / RDMACM if we have threads (because we need a progress thread) 

This commit was SVN r19686.

The following Trac tickets were found above:
  Ticket 1210 --> https://svn.open-mpi.org/trac/ompi/ticket/1210
2008-10-06 00:46:02 +00:00
Jeff Squyres
8b786cac04 The configure test we had for checking whether openib could build
(related to the presence of posix threads and ptmalloc2) is now a
little outdated: since we don't build ptmalloc2 as part of libopal
anymore, the openib BTL's requirements are not directly tied to
ptmalloc2's anymore.  Specifically, I altered the test to:

 1. At compile time, if no threads are found, the ptmalloc2 component
    is going to be built, '''and the ptmalloc2 component is going to be
    inside libopal,''' then refuse to build the openib BTL.
 1. At run time, if no threads were available at compile time and the
    ptmalloc2 component is part of the process, then refuse to use the
    openib BTL.

Fixes trac:1537.

This commit was SVN r19652.

The following Trac tickets were found above:
  Ticket 1537 --> https://svn.open-mpi.org/trac/ompi/ticket/1537
2008-09-27 11:19:21 +00:00
Pavel Shamis
bd09bbf851 Disabling IBCM support by default.
The component still is not stable.

This commit was SVN r19609.
2008-09-23 15:57:55 +00:00
Jeff Squyres
7b05a14d9a Back up r19489, which was the result of a "svn ci -m ..." instead of
an "hg ci -m ...".  Oops.

This commit was SVN r19490.

The following SVN revision numbers were found above:
  r19489 --> open-mpi/ompi@ea866f9e26
2008-09-03 08:45:33 +00:00
Jeff Squyres
ea866f9e26 Up to SVN r19488
This commit was SVN r19489.

The following SVN revision numbers were found above:
  r19488 --> open-mpi/ompi@c0b8a4a9b5
2008-09-03 08:35:59 +00:00
Ralph Castain
2e4536d5aa Ensure that platform-specific mca param files get installed with the correct default mca param filename. Platform-specific mca param files overwrite any pre-existing default mca param file as they are considered to be the "gold" standard if a platform file was provided.
This commit was SVN r19423.
2008-08-27 02:40:02 +00:00
Ralph Castain
a81dfa0aea When using a platform file, allow the system to automatically pickup an associated default MCA param file for that platform. This change will first look for a file named "platform.conf" (where platform = the name of the platform you specified) in the directory where the platform file itself resides. If that isn't found, it then looks for our default mca param file name in that same location. If neither of those are found, we just use the good old standby default param file that ships with the openmpi code.
I tested this with both conventional and VPATH builds without problem. Please let me know if you hit an issue.

This commit was SVN r19296.
2008-08-14 20:26:17 +00:00
Ralph Castain
4e4babbddd Correct type in config file: the option is --without-rte-support
This commit was SVN r19242.
2008-08-11 22:15:07 +00:00
Jeff Squyres
7d1f6d42ab Case-sensitive filesystem fix for OS X / Xgrid
This commit was SVN r19130.
2008-08-02 14:07:48 +00:00
Dan Lacher
9175da1e02 Putback for all changes to automate man page updates to strings of
versions, dates and build names.

Fixes trac:1387

Big thanks to Jeff and Brian for help and oversight.

This commit was SVN r19120.

The following Trac tickets were found above:
  Ticket 1387 --> https://svn.open-mpi.org/trac/ompi/ticket/1387
2008-08-01 21:14:37 +00:00
Jeff Squyres
4adc4a632a This option is neither documented nor implemented.
This commit was SVN r19027.
2008-07-24 23:37:16 +00:00
Jeff Squyres
5b9219565c Remove the use of __cpu_to_be64() and replace it with hton64().
This commit was SVN r18995.
2008-07-23 12:08:55 +00:00
Pavel Shamis
849a8f86a7 Bug fox for #1388 - fixing ib_cm_listen() random failures.
This commit was SVN r18952.
2008-07-20 06:21:32 +00:00
Ethan Mallove
294f07a13d Fixes trac:1401 (-xvector* needs to be counted as an optimzation flag for orterun to compile)
This commit was SVN r18947.

The following Trac tickets were found above:
  Ticket 1401 --> https://svn.open-mpi.org/trac/ompi/ticket/1401
2008-07-18 19:19:22 +00:00
Pavel Shamis
452141bfb8 Bugfix for #1375.
- Adding configure options that allow to disable IB/RDMA-CM support.
- Code cleanup in openib section of configure

This commit was SVN r18830.
2008-07-08 06:32:54 +00:00
George Bosilca
872d957550 Allow Open MPI to configure correctly on the Sicortex machine.
This commit was SVN r18731.
2008-06-25 03:07:53 +00:00
Ralph Castain
17fcd72b5d Restore bproc code - if someone wants to maintain it, then more power to them...but it would definitely be easier if the old code is in the trunk. This is all .ompi_ignore'd except for me so I can play with making it compile again in my copious free time.
This commit was SVN r18716.
2008-06-24 01:27:22 +00:00
Jeff Squyres
3f95b906c5 Fixes trac:1085: Improves SLURM configure logic to also allow OS X or any platform where srun is found in the PATH.
This commit was SVN r18714.

The following Trac tickets were found above:
  Ticket 1085 --> https://svn.open-mpi.org/trac/ompi/ticket/1085
2008-06-23 23:12:55 +00:00
Ralph Castain
955d117f5e Add a new grpcomm module that mimics the old 1.2 behavior - it -always- does a modex because it always includes the architecture. Hence, we called it "blind-and-dumb" since it doesn't look to see if this is required - moniker of "bad". :-)
Update the ESS API so we can update the stored arch's should the modex include that info. Update ompi/proc to check/set the arch for remote procs, and add that function call to mpi_init right after the modex is done.

Setup to allow other grpcomm modules to decide whether or not to add the arch to the modex, and to detect if other entries have been made. If not, then the modex can just fall through. Begin setting up some logic in the "basic" module to handle different arch situations.

For now, default to the "bad" module so we will work in all situations, even though we may be sending around more info than we really require.

This fixes ticket #1340

This commit was SVN r18673.
2008-06-18 22:17:53 +00:00
Ralph Castain
0532d799d6 Complete implementation of the --without-rte-support configure option. Working with Brian, this has been tested on RedStorm.
Some minor changes to help facilitate debugger support so that both mpirun and yod can operate with it. Still to be completed.

This commit was SVN r18664.
2008-06-18 03:15:56 +00:00
Brian Barrett
7712b07ac4 Add perl based wrapper compilers for cross-compile environments. The default
is still to use the C based wrapper compilers (which have many more features
and are more well tested).  The Perl compilers are enabled with the option
--enable-script-wrapper-compilers, which also ignores the option
--disable-binaries (ie --enable-script-wrapper-compilers --disable-binaries
will result in perl-based wrapper compilers being installed, but no other
binaries being installed).

This commit was SVN r18655.
2008-06-13 22:52:25 +00:00
Jeff Squyres
85834b22e6 Change the default to not enable heterogeneous builds; we detect at run-time if a heterogeneous job was started and will barf appropriately if OMPI was not compiled with heterogeneous support
This commit was SVN r18601.
2008-06-06 00:00:37 +00:00
Pavel Shamis
7b9024bc05 Updating Mellanox's Copyright in files touched in 2008
This commit was SVN r18592.
2008-06-05 13:40:26 +00:00
Rolf vandeVaart
8b01499d6e Fix up the checking for whether the epoll interface is working properly. We now make sure that we can properly use the 3 interfaces to epoll. This was needed as there are compilers that do not recognize the packed attribute. The plan is to also request this change get moved upstream to libevent.
Reviewed by Jeff Squyres
This change fixes trac:1316.

This commit was SVN r18548.

The following Trac tickets were found above:
  Ticket 1316 --> https://svn.open-mpi.org/trac/ompi/ticket/1316
2008-05-30 01:00:19 +00:00
Jeff Squyres
6a82b7bbb4 This file does not need to be executable.
This commit was SVN r18516.
2008-05-27 22:03:05 +00:00
Jeff Squyres
1cba10e11b Per advice from Ralf W. (see bug-libtool list post 4:48pm US Eastern
time, 27 May 2008 -- not web archived as of this commit), do the
following:

 * move libtoolize earlier in the process
 * remove most of acinclude.m4; instead, use "aclocal -I config" at
   the top-level to have it automatically pull in any relevant .m4
   file
 * add patch for ifort shared library support for LT 2.2.4
   (http://lists.gnu.org/archive/html/bug-libtool/2008-05/msg00049.html);
   will likely be unnecessary in future LT versions

This commit was SVN r18515.
2008-05-27 21:58:09 +00:00
Jeff Squyres
15fce83c5b Change some define's to AC_DEFUN's so that "aclocal -I config" will
find all the right .m4 files upon demand.

This commit was SVN r18514.
2008-05-27 21:54:23 +00:00
Rainer Keller
b0cbeb0b41 - Add detection of __attribute__((hot)) and __attribute__((cold))
to allow explicit grouping of hot functions into similar code
   sections upon link-time. Should decrease TLB misses (iff the code-
   section is really too large)...
   Candidates for __opal_attribute_hot__ are MPI_Isend MPI_Irecv,
   MPI_Wait, MPI_Waitall
   Candidates for __opal_attribute_cold__ are MPI_Init, MPI_Finalize and
   MPI_Abort...

This commit was SVN r18421.
2008-05-10 10:38:51 +00:00
George Bosilca
fe495e429a Completely remove the kqueue support on MAC OS X. Remove the test
from kqueue that try to detect if kqueue might works with ptys.

This commit was SVN r18411.
2008-05-08 02:33:23 +00:00
Jeff Squyres
807dc5383d Check for a function that is only available in recent versions of the
IBCM library.  Fixes trac:1280.

This commit was SVN r18397.

The following Trac tickets were found above:
  Ticket 1280 --> https://svn.open-mpi.org/trac/ompi/ticket/1280
2008-05-07 11:51:55 +00:00
Pak Lui
f5311903ee Correct the check with AC_LINK_IFELSE per Jeff's suggestion
This commit was SVN r18368.
2008-05-05 02:13:30 +00:00
Jeff Squyres
ba5615a18f Merge in /tmp-public/cpc3 branch to trunk. oob/xoob still remains the
default CPC.

This commit was SVN r18356.
2008-05-02 11:52:33 +00:00
Jeff Squyres
357428f82f Per http://www.open-mpi.org/community/lists/devel/2008/04/3778.php, Ralph W.'s suggestion to remove an unnecessary escape
This commit was SVN r18354.
2008-05-01 22:33:49 +00:00
Jeff Squyres
518bd99e17 Per thread started here:
http://www.open-mpi.org/community/lists/users/2008/04/5483.php

Make the error message a bit more user-friendly.

This commit was SVN r18293.
2008-04-25 11:09:43 +00:00
Jeff Squyres
a198971fa2 Temporarily disable Solaris ports support in libevent. Refs trac:1273
This commit was SVN r18199.

The following Trac tickets were found above:
  Ticket 1273 --> https://svn.open-mpi.org/trac/ompi/ticket/1273
2008-04-17 23:14:43 +00:00
Jeff Squyres
939d50dff6 Minor configure help message fix. Thanks Bernhard Fischer
This commit was SVN r18077.
2008-04-02 22:55:38 +00:00
Rainer Keller
e1e13631cc - Starting with gcc-4.4, the compiler does not recognize faulty
compiler warnings starting with -Wno- to recognize (if there are no
   other warnings.
   Try it with Your favorite warning, such as -Wno-britney will not
   fail, while it will be recognized as faulty, if You also pass on with
   -Wno-britney -Wspears....

This commit was SVN r18070.
2008-04-02 07:44:17 +00:00
George Bosilca
8e8b8950ef Add support for Interix.
This commit was SVN r17983.
2008-03-26 23:20:33 +00:00
Jeff Squyres
314ab2c6e7 Update internal libevent to upstream (v1.4.2-rc + OMPI changes).
Greatly reduce the number of "foo" -> "opal_foo" symbol renames in the
libevent source, and instead greatly expand the event_rename.h file
that uses preprocessor macros to make all public symbols be
"opal_foo".

This commit was SVN r17923.
2008-03-23 12:33:04 +00:00
Jeff Squyres
ace1717ca7 Patch from Brian to add in proper linker libraries
This commit was SVN r17919.
2008-03-21 23:00:54 +00:00
George Bosilca
cce542dd73 Don't do anything if the compile step failed. Make the correct
detection on Windows.

This commit was SVN r17791.
2008-03-07 23:57:56 +00:00
George Bosilca
79d292fe31 Do the microsoft checks.
This commit was SVN r17790.
2008-03-07 22:35:26 +00:00
George Bosilca
023fa2663d Typos.
This commit was SVN r17788.
2008-03-07 21:13:20 +00:00
Ralph Castain
b104a59b08 Remove obsolescent configure option
This commit was SVN r17753.
2008-03-06 03:09:42 +00:00
Pak Lui
4dd5683715 Typo in help message
This commit was SVN r17743.
2008-03-05 16:02:33 +00:00
Matthias Jurenz
07bbdd0de0 Re-enable building of contrib packages by default (the VT configury issues are fixed)
This commit was SVN r17740.
2008-03-05 15:30:50 +00:00
Tim Prins
1b34620d8e Make the default to enable symbol visibility.
Fixes trac:1222

This commit was SVN r17712.

The following Trac tickets were found above:
  Ticket 1222 --> https://svn.open-mpi.org/trac/ompi/ticket/1222
2008-03-05 01:30:32 +00:00
Jeff Squyres
8189fcc7d5 Back out r17702; it went very badly.
This commit was SVN r17704.

The following SVN revision numbers were found above:
  r17702 --> open-mpi/ompi@3df754ebd7
2008-03-05 00:42:39 +00:00
Jeff Squyres
8e631d4dc0 Suggestions from Ralf W. to use the official git HTTP mirrors to get
the latest config.sub and config.guess.

This commit was SVN r17695.
2008-03-04 21:22:51 +00:00
Jeff Squyres
6aba701f65 Change the default to ''not'' build any contrib packages by default
(per consensus on the devel list, at least until the VT configury
issues are fixed).

This commit was SVN r17683.
2008-03-04 13:43:12 +00:00
Matthias Jurenz
70fe703057 set OMPI_CONTRIB_DIST_SUBDIRS only if the contributed software is enabled
This commit was SVN r17680.
2008-03-03 15:59:52 +00:00
Ralph Castain
d70e2e8c2b Merge the ORTE devel branch into the main trunk. Details of what this means will be circulated separately.
Remains to be tested to ensure everything came over cleanly, so please continue to withhold commits a little longer

This commit was SVN r17632.
2008-02-28 01:57:57 +00:00
Galen Shipman
44003a41f2 Update common_portals to allow using portals interconnect with a modex rather
than relying on cnos to get the nid/pid map. 

This commit was SVN r17588.
2008-02-25 19:17:21 +00:00
Josh Hursey
99144db970 Improve checkpoint/restart support by allowing a checkpoint to progress when the process is *not* in the MPI library. This involves creating a separate thread for polling for a checkpoint request. This thread is active when the MPI process is not in the MPI library, and paused when the MPI process is in the library.
Some MPI C interface files saw some spacing changes to conform to the coding standards of Open MPI.

Changed MPI C interface files to use {{{OPAL_CR_ENTER_LIBRARY()}}} and {{{OPAL_CR_EXIT_LIBRARY()}}} instead of just {{{OPAL_CR_TEST_CHECKPOINT_READY()}}}. This will allow the checkpoint/restart system more flexibility in how it is to behave.

Fixed the configure check for {{{--enable-ft-thread}}} so it has a know dependance on {{{--enable-mpi-thread}}} (and/or {{{--enable-progress-thread}}}).

Added a line for Checkpoint/Restart support to {{{ompi_info}}}.

Added some options to choose at runtime whether or not to use the checkpoint polling thread. By default, if the user asked for it to be compiled in, then it is used. But some users will want the ability to toggle its use at runtime.

There are still some places for improvement, but the feature works correctly. As always with Checkpoint/Restart, it is compiled out unless explicitly asked for at configure time. Further, if it was configured in, then it is not used unless explicitly asked for by the user at runtime.

This commit was SVN r17516.
2008-02-19 22:15:52 +00:00
Jeff Squyres
5bb1e5151f Suggestions/patches from Brian to make stuff better:
* Include all the stuff that is necessary for running autogen.sh in a
   distribution tarball.
 * Remove from config/Makefile.am's EXTRA_DIST that which is
   automatically included in the tarball in recent versions of
   Automake (i.e., all the m4 files that are acincluded).
 * Make ROMIO's configure script look for something that is actually
   included in the tarball.

Fixes trac:1025.

This commit was SVN r17505.

The following Trac tickets were found above:
  Ticket 1025 --> https://svn.open-mpi.org/trac/ompi/ticket/1025
2008-02-19 01:49:52 +00:00
Galen Shipman
cec3d96a94 configure changes for Cray XT CNL (adds --with-alps param) auto detection is
not included (or desired) 

This commit was SVN r17481.
2008-02-17 19:02:36 +00:00
Matthias Jurenz
12782ba700 Added Ralfs's patch to make future contrib integration easier. Thanks, Ralf!
This commit was SVN r17426.
2008-02-12 11:48:01 +00:00
Pavel Shamis
f0c478e7e0 XRC - replacing the new old API with new one.
This commit was SVN r17369.
2008-02-04 14:03:38 +00:00
Andreas Knüpfer
c53e19be46 bringing VampirTrace integration to the trunk
This commit was SVN r17278.
2008-01-28 08:39:48 +00:00
Jeff Squyres
fe6ba96dd6 Be a little friendlier for mercurial checkouts.
This commit was SVN r17271.
2008-01-28 03:04:53 +00:00
Jeff Squyres
9b1b27fa8d Allow the get_version script to be run under ksh as well. Thanks to Elan Ruusamae for pointing out the problem; thanks to Ralf Wildenhues for providing a shell-independent fix.
This commit was SVN r17246.
2008-01-26 00:01:03 +00:00
Rainer Keller
17906c008f - Take this nights changes to .m4: We have not pml-teg, delete refs.
This commit was SVN r17226.
2008-01-25 09:32:33 +00:00
Jeff Squyres
2227d5ec4a Add configure check for struct ibv_device.transport type, which was added in OFED v1.2. Still need to fix up oob and rdma_cm cpc's to do something better with this information...
This commit was SVN r17198.
2008-01-24 12:14:21 +00:00
Jon Mason
a0d4122606 The new cpc selection framework is now in place. The patch below allows
for dynamic selection of cpc methods based on what is available.  It
also allows for inclusion/exclusions of methods.  It even futher allows
for modifying the priorities of certain cpc methods to better determine
the optimal cpc method.

This patch also contains XRC compile time disablement (per Jeff's
patch).

At a high level, the cpc selections works by walking through each cpc
and allowing it to test to see if it is permissable to run on this
mpirun.  It returns a priority if it is permissable or a -1 if not.  All
of the cpc names and priorities are rolled into a string.  This string
is then encapsulated in a message and passed around all the ompi
processes.  Once received and unpacked, the list received is compared
to a local copy of the list.  The connection method is chosen by
comparing the lists passed around to all nodes via modex with the list
generated locally.  Any non-negative number is a potentially valid
connection method.  The method below of determining the optimal
connection method is to take the cross-section of the two lists.  The
highest single value (and the other side being non-negative) is selected
as the cpc method.

svn merge -r 16948:17128 https://svn.open-mpi.org/svn/ompi/tmp-public/openib-cpc/ .

This commit was SVN r17138.
2008-01-14 23:22:03 +00:00
Ethan Mallove
cb7c435a9c Added OMPI_WHICH macro as an alternative to using {{{`which
<prog>`}}} in `configure`. It is preferable to simply using {{{`which
<prog>`}}} because backticks (`) (aka backquotes) invoke a sub-shell
which may source a "noisy" `~/.whatever` file, and we do not want the
error messages to be part of the assignment in {{{foo=`which
<prog>`}}}.

This commit was SVN r16955.
2007-12-14 02:39:58 +00:00
Jeff Squyres
8320a491fe Fix problem when $CC or $CXX where multiple tokens. A similar fix
when in for $F77 and $FC long ago.

Thanks to Brian Barrett for noticing and submitting a patch.

This commit was SVN r16864.
2007-12-06 11:38:35 +00:00
Gleb Natapov
bd47da4699 Initial XRC support by Mellanox.
This commit was SVN r16787.
2007-11-28 07:18:59 +00:00
Jeff Squyres
71715b05ec Add missing $LDFLAGS in the fortran linker line. This missing flag
erroneously caused the test to fail on Cray systems.

This commit was SVN r16777.
2007-11-27 23:49:08 +00:00
George Bosilca
d0f30e521b After the 10.5.1 update this bug is still valid. Remove the -g from all
Leopard versions (until they fix it).

This commit was SVN r16762.
2007-11-21 03:10:05 +00:00
Jeff Squyres
e491318081 Per #1181, make our use of rm be consistent with the rest of AC/AM.
LT uses $RM, but AC/AM appear to use "rm ...".  So we'll go with
that.

This commit was SVN r16672.
2007-11-06 12:20:58 +00:00
Jeff Squyres
33257f2b56 Remove -g from CCASFLAGS if on OS X Leopard. Fixes trac:1179.
This commit was SVN r16671.

The following Trac tickets were found above:
  Ticket 1179 --> https://svn.open-mpi.org/trac/ompi/ticket/1179
2007-11-06 12:02:11 +00:00
Jeff Squyres
748fc31906 Change everywhere we do a "rm -f conftest*" to "rm -rf conftest" to
cover the case where a subdirectory is also built that needs to be
removed.

Note that there are other macros that we don't control (AC, AM, and/or
LT) that also exhibit this problem that we cannot fix.  :-\

Fixes trac:1180.

This commit was SVN r16669.

The following Trac tickets were found above:
  Ticket 1180 --> https://svn.open-mpi.org/trac/ompi/ticket/1180
2007-11-06 01:32:42 +00:00
Ethan Mallove
005652c9d4 * Embed ident strings into the Open MPI libraries using one of the following
methods (in order of precedence):
  1. #pragma ident <ident string> (e.g., Intel and Sun)
  1. #ident <ident string> (e.g., GCC)
  1. static const char ident[] = <ident string> (all others)
By default, the ident string used is the standard Open MPI version string. Only
the following libraries will get the embedded version strings (e.g., DSOs will
not):
  * libmpi.so
  * libmpi_cxx.so
  * libmpi_f77.so
  * libopen-pal.so
  * libopen-rte.so
* Added two new configure options:
  * `--with-package-name="STRING"` (defaults to "Open MPI username@hostname
    Distribution"). `STRING` is displayed by `ompi_info` next to the "Package"
    heading.
  * `--with-ident-string="STRING"` (defaults to the standard Open MPI version
    string - e.g., X.Y.Zr######). `%VERSION%` will expand to the Open MPI
    version string if it is supplied to this configure option.

This commit was SVN r16644.
2007-11-03 02:40:22 +00:00
Jeff Squyres
00da8605a5 PUSH and POP shell variable scopes like this:
{{{
OMPI_VAR_SCOPE_PUSH([var1 var2 var3])
...use $var1 $var1 and $var3
OMPI_VAR_SCOPE_PUSH([var4 var5 var6])
...use $var1 $var1 and $var3
...use $var4 $var5 and $var6
OMPI_VAR_SCOPE_POP
...use $var1 $var1 and $var3
OMPI_VAR_SCOPE_POP
}}}

The PUSH macro does a simple sanity check to ensure that the variables
listed are not already set with other values.  If they are set, it
will abort configure, assuming that this is a programming error.  If
none of the names are set as environment variables containing values,
the names are saved for later POP'ing.  The POP will unset all the
variables from a corresponding PUSH.

As the names imply, these macros effect a stack-like behavior.  So a
POP must correspond to a PUSH, etc.

These macros are intended to be simple sanity checks for OMPI
configure programmers, and also help keep the environment clean by
unsetting variables when they are no longer used.

This commit was SVN r16592.
2007-10-26 23:35:02 +00:00
George Bosilca
938be44f07 Complete the removal of the mvapi BTL.
This commit was SVN r16491.
2007-10-17 22:02:52 +00:00
George Bosilca
e9aa15f9d5 On behalf of Ralf Wildenhues:
config/ompi_check_visibility.m4 (OMPI_CHECK_VISIBILITY):
Rename ompi_vc_cc_fvisibility to ompi_cv_cc_fvisibility, so
that it will be cached.

This commit was SVN r16435.
2007-10-11 22:06:39 +00:00
Ralph Castain
53af94fd87 Modify the configure system so that gridengine support is only built in specific conditions:
1. --with-sge, always builds
2. --without-sge, never builds
3. if neither is specified, build if and only if either SGE_ROOT is set or "qrsh" is found in the path

This commit was SVN r16422.
2007-10-10 21:39:16 +00:00
Jeff Squyres
74fd678de8 Fix a help message to also show the default value.
This commit was SVN r16369.
2007-10-06 14:25:38 +00:00
Ralph Castain
54b2cf747e These changes were mostly captured in a prior RFC (except for #2 below) and are aimed specifically at improving startup performance and setting up the remaining modifications described in that RFC.
The commit has been tested for C/R and Cray operations, and on Odin (SLURM, rsh) and RoadRunner (TM). I tried to update all environments, but obviously could not test them. I know that Windows needs some work, and have highlighted what is know to be needed in the odls process component.

This represents a lot of work by Brian, Tim P, Josh, and myself, with much advice from Jeff and others. For posterity, I have appended a copy of the email describing the work that was done:

As we have repeatedly noted, the modex operation in MPI_Init is the single greatest consumer of time during startup. To-date, we have executed that operation as an ORTE stage gate that held the process until a startup message containing all required modex (and OOB contact info - see #3 below) info could be sent to it. Each process would send its data to the HNP's registry, which assembled and sent the message when all processes had reported in.

In addition, ORTE had taken responsibility for monitoring process status as it progressed through a series of "stage gates". The process reported its status at each gate, and ORTE would then send a "release" message once all procs had reported in.

The incoming changes revamp these procedures in three ways:

1. eliminating the ORTE stage gate system and cleanly delineating responsibility between the OMPI and ORTE layers for MPI init/finalize. The modex stage gate (STG1) has been replaced by a collective operation in the modex itself that performs an allgather on the required modex info. The allgather is implemented using the orte_grpcomm framework since the BTL's are not active at that point. At the moment, the grpcomm framework only has a "basic" component analogous to OMPI's "basic" coll framework - I would recommend that the MPI team create additional, more advanced components to improve performance of this step.

The other stage gates have been replaced by orte_grpcomm barrier functions. We tried to use MPI barriers instead (since the BTL's are active at that point), but - as we discussed on the telecon - these are not currently true barriers so the job would hang when we fell through while messages were still in process. Note that the grpcomm barrier doesn't actually resolve that problem, but Brian has pointed out that we are unlikely to ever see it violated. Again, you might want to spend a little time on an advanced barrier algorithm as the one in "basic" is very simplistic.

Summarizing this change: ORTE no longer tracks process state nor has direct responsibility for synchronizing jobs. This is now done via collective operations within the MPI layer, albeit using ORTE collective communication services. I -strongly- urge the MPI team to implement advanced collective algorithms to improve the performance of this critical procedure.


2. reducing the volume of data exchanged during modex. Data in the modex consisted of the process name, the name of the node where that process is located (expressed as a string), plus a string representation of all contact info. The nodename was required in order for the modex to determine if the process was local or not - in addition, some people like to have it to print pretty error messages when a connection failed.

The size of this data has been reduced in three ways:

(a) reducing the size of the process name itself. The process name consisted of two 32-bit fields for the jobid and vpid. This is far larger than any current system, or system likely to exist in the near future, can support. Accordingly, the default size of these fields has been reduced to 16-bits, which means you can have 32k procs in each of 32k jobs. Since the daemons must have a vpid, and we require one daemon/node, this also restricts the default configuration to 32k nodes.

To support any future "mega-clusters", a configuration option --enable-jumbo-apps has been added. This option increases the jobid and vpid field sizes to 32-bits. Someday, if necessary, someone can add yet another option to increase them to 64-bits, I suppose.

(b) replacing the string nodename with an integer nodeid. Since we have one daemon/node, the nodeid corresponds to the local daemon's vpid. This replaces an often lengthy string with only 2 (or at most 4) bytes, a substantial reduction.

(c) when the mca param requesting that nodenames be sent to support pretty error messages, a second mca param is now used to request FQDN - otherwise, the domain name is stripped (by default) from the message to save space. If someone wants to combine those into a single param somehow (perhaps with an argument?), they are welcome to do so - I didn't want to alter what people are already using.

While these may seem like small savings, they actually amount to a significant impact when aggregated across the entire modex operation. Since every proc must receive the modex data regardless of the collective used to send it, just reducing the size of the process name removes nearly 400MBytes of communication from a 32k proc job (admittedly, much of this comm may occur in parallel). So it does add up pretty quickly.


3. routing RML messages to reduce connections. The default messaging system remains point-to-point - i.e., each proc opens a socket to every proc it communicates with and sends its messages directly. A new option uses the orteds as routers - i.e., each proc only opens a single socket to its local orted. All messages are sent from the proc to the orted, which forwards the message to the orted on the node where the intended recipient proc is located - that orted then forwards the message to its local proc (the recipient). This greatly reduces the connection storm we have encountered during startup.

It also has the benefit of removing the sharing of every proc's OOB contact with every other proc. The orted routing tables are populated during launch since every orted gets a map of where every proc is being placed. Each proc, therefore, only needs to know the contact info for its local daemon, which is passed in via the environment when the proc is fork/exec'd by the daemon. This alone removes ~50 bytes/process of communication that was in the current STG1 startup message - so for our 32k proc job, this saves us roughly 32k*50 = 1.6MBytes sent to 32k procs = 51GBytes of messaging.

Note that you can use the new routing method by specifying -mca routed tree - if you so desire. This mode will become the default at some point in the future.


There are a few minor additional changes in the commit that I'll just note in passing:

* propagation of command line mca params to the orteds - fixes ticket #1073. See note there for details.

* requiring of "finalize" prior to "exit" for MPI procs - fixes ticket #1144. See note there for details.

* cleanup of some stale header files

This commit was SVN r16364.
2007-10-05 19:48:23 +00:00
Jeff Squyres
7b0fe8b152 Revert r15900; the variable was already named correctly. This fixes
static builds for OMPI components that required extra LIBS or LDFLAGS
(e.g., the openib BTL).

Fixes trac:1155.

This commit was SVN r16314.

The following SVN revision numbers were found above:
  r15900 --> open-mpi/ompi@50941ec389

The following Trac tickets were found above:
  Ticket 1155 --> https://svn.open-mpi.org/trac/ompi/ticket/1155
2007-10-03 06:46:39 +00:00
Tim Prins
b161732af9 Be sure to restore the library flags in case of error. Thanks to Ake Sandgren for pointing this out.
This commit was SVN r16263.
2007-09-27 21:35:52 +00:00
Aurelien Bouteiller
f762850242 Split run_global into process_project and process_framework. This allows for calling only process framework to create components internal sub-frameworks
Minor change to ompi_mca.m4 to move AC_CONFIG_FILES(framework/makefile) in autogen process (instead of configure process), where we still now the actual framework path (instead of guessing using $project/mca/$framework). 

This have shown no side effects in our testing. Let us know if this breaks one of your components in some exotic context. 

This commit was SVN r16146.
2007-09-18 10:36:08 +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
2b8af283de Add ability to completely turn off MPI one-sided support, so that users
can experiment with using ROMIO directly.

This commit was SVN r15922.
2007-08-18 21:35:51 +00:00
Brian Barrett
3b98b5f0a1 The reference implementation of Portals (which runs over TCP on Linux) is
only static libraries.  Previously, we were linking the libraries into 
directly into the common, btl, and mtl code.  This seemed to work fine
for me on my Opteron Fedora box, but caused Lisa some issues (PtlNIInit
would succeed, but the network handle would fail when used with
PtlEQAlloc).

Instead, link the portals libraries directly into libmpi and not at
all into the common, btl, or mtl components.  THen use some linker
tricks to force the linker to bring in the public interface for the
reference implementation (which thankfully is pretty small).

This commit was SVN r15902.
2007-08-17 03:56:49 +00:00
Brian Barrett
50941ec389 Fix mis-named enviornment variable. Solves a problem that I'm seeing with
some other code.

This commit was SVN r15900.
2007-08-17 03:50:00 +00:00
Jeff Squyres
1030ddcd58 Per http://www.open-mpi.org/community/lists/devel/2007/08/2152.php,
disable the building of the udapl BTL on Linux by default.  On every
other OS, the udapl configury will attempt to find udapl's
header/library files, etc. by default.  

You can specify --with-udapl on the configure command line (on any OS)
to force OMPI to try to configure/build udapl (i.e., look for udapl's
header/library files, etc.).

This commit was SVN r15894.
2007-08-16 22:01:06 +00:00
Mohamad Chaarawi
59a7bf8a9f Merging in the Sparse Groups..
This commit includes config changes..

This commit was SVN r15764.
2007-08-04 00:41:26 +00:00
Pak Lui
9af43da1dc * Remove the logic for Solaris to always use the FreeBSD version of qsort.
* Give user the option to configure with the broken qsort fix instead
    of using the native qsort.

This commit was SVN r15716.
2007-07-31 22:43: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
Jeff Squyres
b20248709a Next round of LSF commits. Getting farther, but it still doesn't
fully work yet (everything is still .ompi_ignore'ed for everyone).

This commit was SVN r15398.
2007-07-13 11:57:17 +00:00
Ralph Castain
a1bf04f39e First cut at revamping bproc support to separate it out from LANL's configuration.
First cut at adding support for LSF

Lots of ompi_ignores so only Jeff and I will see this stuff

This commit was SVN r15321.
2007-07-10 12:43:05 +00:00
Brian Barrett
1d02b9e7b5 Fix a bunch of issues exposed by Ken Cain in getting Open MPI to work with
VxWorks.  Still some issues remaining, I'm sure.

Refs trac:1010

This commit was SVN r15320.

The following Trac tickets were found above:
  Ticket 1010 --> https://svn.open-mpi.org/trac/ompi/ticket/1010
2007-07-10 03:46:57 +00:00
Brian Barrett
41afd4ebee Clean up the MX configure test a bit. Use AC macros instead of hand
writing them.  Better tests, less code, and caching.  Update the code
to match changes in configure defines.

This commit was SVN r15287.
2007-07-04 22:07:30 +00:00
Brian Barrett
b27b9b5380 * Clean up the ompi_mca macro's support for different configuration
types and add STOP_AT_FIRST_PRIORITY type for framework configuration,
    which allows all components at the highest priority that succeeds to
    succeed
  * Use STOP_AT_FIRST_PRIORITY type for gpr framework, so that the null
    component isn't built when the replica and proxy components are
    available.

This commit was SVN r15286.
2007-07-04 22:00:15 +00:00