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

638 Коммитов

Автор SHA1 Сообщение Дата
Ralph Castain
83d69b6c95 Enable the ORTE progress thread for apps (not needed in the tools as they already continuously loop in the event lib). This appears to be working, at least for MPI apps that only use shared memory (a simple "hello"). More testing is required to identify where problems will occur - this is only intended to allow further development.
In order to use the progress thread, you must configure with:

--enable-orte-progress-threads --enable-event-thread-support

This commit was SVN r26457.
2012-05-20 15:14:43 +00:00
Ralph Castain
fd796cce0a Add an allocator tool for finding HDFS file locations and obtaining allocations for those nodes (supports both Hadoop 1 and 2). Split the Java support into two parts: detection of Java support and request for Java bindings.
This commit was SVN r26414.
2012-05-09 01:13:49 +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
1d83999321 According to the README, we no longer support OS X Tiger. So adjust
configure's test to abort if it detects OS X Tiger or earlier.

This commit was SVN r25991.
2012-02-21 15:56:19 +00:00
Ralph Castain
47c64ec837 Roll in Java bindings per telecon discussion. Man pages still under revision
This commit was SVN r25973.
2012-02-20 22:12:43 +00:00
Jeff Squyres
70ab83a135 Display the Autotools versions, just because we can (and because it
can be helpful in debugging!).

This commit was SVN r25945.
2012-02-17 02:55:06 +00:00
Jeff Squyres
aed04a374a Er... making $MAKE be precious was a bad idea. Remove it.
This commit was SVN r25926.
2012-02-14 20:00:30 +00:00
Jeff Squyres
107574d1ee Make the $MAKE env variable be precious in configure, per
recomendation from Paul Hargrove, and add a blurb about it in README
to explain why that's important.

This commit was SVN r25925.
2012-02-14 19:34:04 +00:00
Ralph Castain
3f1ae5d89b No longer need this include
This commit was SVN r25606.
2011-12-09 00:40:07 +00:00
Ralph Castain
3e7ab1212a Since this has come up a number of times, have the rsh launcher add MCA params from the environment by default. If it finds that the cmd line is too long, error out with a message directing the user to set a param to ignore the environmental MCA params.
This commit was SVN r25581.
2011-12-07 01:24:36 +00:00
George Bosilca
0c7541ee61 check if __float128 is supported.
This commit was SVN r25082.
2011-08-25 21:56:05 +00:00
Rolf vandeVaart
3d3b3d4dad Add support for CUDA registering sm and openib buffers. Feature is disabled by default.
This commit was SVN r24987.
2011-08-04 10:15:45 +00:00
Samuel Gutierrez
38077f8692 added check for sys/shm.h
This commit was SVN r24598.
2011-04-07 19:52:19 +00:00
Jeff Squyres
5ae1b15b6e Ensure that other packages defining PACKAGE_ macros don't hurt us, and protect others from our PACKAGE_ macros.
This commit was SVN r24571.
2011-03-24 22:39:56 +00:00
Jeff Squyres
c1b26005d7 Create new opal/mca/common area, similar to ompi/mca/common. Move hwloc into this new opal MCA common area, and link the hwloc paffinity component against it. Also add a new hwloc maffinity component, and also link it against the opal MCA common hwloc. More development coming soon regarding this common hwloc instance (i.e., an OPAL-ized version of the hwloc API via a new framework so that we can safely use hwloc's services throughout the rest of the OPAL/ORTE/OMPI code bases.
This commit was SVN r24440.
2011-02-22 23:21:48 +00:00
Nysal Jan
3a8d251daa vsyslog is not included in SUSv3. Add a check for platforms that do not have vsyslog
This commit was SVN r24339.
2011-02-02 10:05:57 +00:00
Nathan Hjelm
8a3179cdcb removed c99 test code
This commit was SVN r24297.
2011-01-25 23:02:35 +00:00
Nathan Hjelm
2ca55d54f7 use AC_PROG_CC_C99 to find flags to turn on c99 support. remove if mtt fails because of this.
This commit was SVN r24291.
2011-01-24 15:54:52 +00:00
George Bosilca
5390fd6f33 Reshape the datatype engine. The basic types are built down in OPAL. MPI types are
either direct link to these basic predefined types, or a combination of them.
Anyway, the first items in the datatype list belong to OPAL, the second round
are MPI datatypes created by composing basic OPAL datatypes, and the last
batch are mapped datatype (direct correspondance between an OMPI datatype and
an OPAL one such as int -> int32_t).

Modify the op to fit this new scheme.

This commit was SVN r24247.
2011-01-13 06:08:54 +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
Ralph Castain
fceabb2498 Update libevent to the 2.0 series, currently at 2.0.7rc. We will update to their final release when it becomes available. Currently known errors exist in unused portions of the libevent code. This revision passes the IBM test suite on a Linux machine and on a standalone Mac.
This is a fairly intrusive change, but outside of the moving of opal/event to opal/mca/event, the only changes involved (a) changing all calls to opal_event functions to reflect the new framework instead, and (b) ensuring that all opal_event_t objects are properly constructed since they are now true opal_objects.

Note: Shiqing has just returned from vacation and has not yet had a chance to complete the Windows integration. Thus, this commit almost certainly breaks Windows support on the trunk. However, I want this to have a chance to soak for as long as possible before I become less available a week from today (going to be at a class for 5 days, and thus will only be sparingly available) so we can find and fix any problems.

Biggest change is moving the libevent code from opal/event to a new opal/mca/event framework. This was done to make it much easier to update libevent in the future. New versions can be inserted as a new component and tested in parallel with the current version until validated, then we can remove the earlier version if we so choose. This is a statically built framework ala installdirs, so only one component will build at a time. There is no selection logic - the sole compiled component simply loads its function pointers into the opal_event struct.

I have gone thru the code base and converted all the libevent calls I could find. However, I cannot compile nor test every environment. It is therefore quite likely that errors remain in the system. Please keep an eye open for two things:

1. compile-time errors: these will be obvious as calls to the old functions (e.g., opal_evtimer_new) must be replaced by the new framework APIs (e.g., opal_event.evtimer_new)

2. run-time errors: these will likely show up as segfaults due to missing constructors on opal_event_t objects. It appears that it became a typical practice for people to "init" an opal_event_t by simply using memset to zero it out. This will no longer work - you must either OBJ_NEW or OBJ_CONSTRUCT an opal_event_t. I tried to catch these cases, but may have missed some. Believe me, you'll know when you hit it.

There is also the issue of the new libevent "no recursion" behavior. As I described on a recent email, we will have to discuss this and figure out what, if anything, we need to do.

This commit was SVN r23925.
2010-10-24 18:35:54 +00:00
Jeff Squyres
8ffb046649 Fix a few problems with the compiler visibility test:
* Update to be safe for AC 2.68 by using AC_LINK_IFELSE instead of
   AC_TRY_LINK
 * If enable visibility was used, ensure we fail if the compiler
   doesn't support it
 * Rename OMPI_CHECK_VISIBILITY -> OPAL_CHECK_VISIBILITY (and all
   internal variables)

This commit was SVN r23923.
2010-10-23 14:32:44 +00:00
Jeff Squyres
4322a78e60 Update wrapper compiler scripts to search for perl during configure, per request from BSD maintainers.
This commit was SVN r23914.
2010-10-19 22:45:54 +00:00
Ralph Castain
a8c426abc8 Silence silly autoconf warning
This commit was SVN r23812.
2010-09-28 22:24:25 +00:00
Jeff Squyres
2ce0faf770 No need to conditionally check for AM_SILENT_RULES anymore since we require >AM 1.11
This commit was SVN r23800.
2010-09-24 22:34:53 +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
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
Ralph Castain
b3a8a394f0 Cleanup some lingering references to OMPI_SETUP_C and OMPI_SETUP_CXX that generated warnings. Follow the new naming convention by chaniging OMPI_SETUP_ASM to OPAL_SETUP_ASM
This commit was SVN r23500.
2010-07-27 04:51:50 +00:00
Jeff Squyres
41edaa1fe5 While we're here, also rename this macro: it really should be
OPAL_SETUP_CC. 

This commit was SVN r23496.
2010-07-26 22:09:24 +00:00
Jeff Squyres
35690ecad5 Fixes trac:2472. Use large integers to hold displacements for one-sided
operations, not ints. 

Sorry for the mid-day configure.ac change, folks...

This commit was SVN r23449.

The following Trac tickets were found above:
  Ticket 2472 --> https://svn.open-mpi.org/trac/ompi/ticket/2472
2010-07-20 18:45:48 +00:00
Jeff Squyres
6bcdadbf0e If we're not building project_ompi, don't do anything with C++. Also
rename OMPI_CHECK_ATTRIBUTES -> OPAL_CHECK_ATTRIBUTES, because it's in
OPAL (somehow that name must have gotten missed in the Great M4 split
of '10...?)

This commit was SVN r23267.
2010-06-12 03:15:47 +00:00
Jeff Squyres
2b12d1635e Sorry for the middle-of-the-day configure.ac commit folks; this file
got missed in r23189.  It's part of the --with-libltdl changes.

This commit was SVN r23191.

The following SVN revision numbers were found above:
  r23189 --> open-mpi/ompi@e597c4f9cd
2010-05-21 12:47:56 +00:00
Jeff Squyres
6d0465971e An obvious optimization. :-)
This commit was SVN r23183.
2010-05-20 00:41:36 +00:00
Jeff Squyres
5eff7ae63b AC_USE_SYSTEM_EXTENSIONS will modify CFLAGS if nothing was in there
beforehand.  We don't want that.  So if there was nothing in
CFLAGS, put nothing back in there.

This commit was SVN r23182.
2010-05-20 00:25:23 +00:00
Jeff Squyres
3129ccd9ec Make the hwloc paffinity component available for everyone. hwloc
supports a wide variety of operating systems and platforms; see the
opal/mca/paffinity/hwloc/hwloc/README file for details.

This component includes an embedded copy of hwloc, currently based on
hwloc-1.0rc6.  But note that hwloc is properly SVN imported into the
/vendor branch, so it will be easy to update when 1.0 GA is released.
Note that the hwloc tree embedded in opal/mca/paffinity/hwloc/hwloc is
identical to a hwloc distribution tarball, except that much of the
documentation was rm -rf'ed (because we don't need it for the embedded
case).

Since the paffinity framework currently does not understand hardware
threads, the hwloc component compensates for this by identifying cores
by the "first" hardware thread on that core.  Hopefully we'll update
paffinity someday to understand hardware threads.  :-)

configure grew a --with-hwloc option, analogous to what we do for many
other external libraries that OMPI supports.  However, there's a new
feature: due to the request of several distros, OMPI can be configured
to build with its internal copy of hwloc or with an external copy of
hwloc (e.g., a system-installed hwloc).

 1. If --with-hwloc is not specified, Open MPI will try to use its
    internal copy (but silently fail/ignore hwloc if that fails).
 1. If --with-hwloc=<dir> is supplied, Open MPI looks for hwloc
    support in <dir> (and --with-hwloc-libdir=<dir>, if specified).
 1. If --with-hwloc=external is supplied, Open MPI will look for hwloc
    in a compiler/linker default external location.
 1. If --with-hwloc=internal is supplied, Open MPI will use its
    internal copy of hwloc.

Some of OMPI's main configury had to be slightly re-arranged in the
bootstrapping phase to accomodate hwloc's configry needs.

This commit was SVN r23125.
2010-05-13 23:56:05 +00:00
Ralph Castain
b400b84162 Merge in the modified thread configure option branch per today's telecon.
Remove the --enable-progress-threads option as this is no longer functional, and hardcode OPAL_ENABLE_PROGRESS_THREADS to 0.

Replace the --enable-mpi-threads option with --enable-mpi-thread-multiple as this is clearer as to meaning. This option automatically turns "on" opal thread support if it wasn't already so specified. If the user specifies --disable-opal-multi-threads --enable-mpi-thread-multiple, we will error out with a message

Add a new --enable-opal-multi-threads option that turns "on" opal thread support without doing anything wrt mpi-thread-multiple

This commit was SVN r22841.
2010-03-16 23:10:50 +00:00
Ralph Castain
ffd5be6aa1 Add a new framework to ORTE for saving and recovering state information. Two components are included that use the db or dbm library for storing the data, with a distributed hash table component coming later.
Note that each of these components will only be selected if specifically requested - otherwise, a "NULL" component will be used.  The framework is only opened by the HNP and orteds, though neither is currently coded to save/restore state

This commit was SVN r22839.
2010-03-16 20:59:48 +00:00
Shiqing Fan
08ffdbe987 Changes for portable platform headers. Commit it on behalf of Ralph.
This commit was SVN r22619.
2010-02-15 22:14:59 +00:00
Rainer Keller
ea4de16561 - Check whether file is opened on network file-system.
If file does not exist, check the directory it lives in...
   Maybe used by caller, trying to open mmap() on NFS, Lustre or
   Panasas (thanks Sam).
   For now, this is used to warn about the usage of mmap on such FS.

   Please note, that Ralph mentioned the orte_no_session_dir parameter.
   The help message includes a reference to this.

   Tested on NFS and Lustre on Linux on
     smoky: mpirun --mca orte_tmpdir_base $HOME/tmp -np 2 ./mpi_stub
     jaguar: mpirun ... --mca orte_tmpdir_base /tmp/work/$USER ...

   Fixes trac:1354

   This should   cmr:v1.5   once it has soaked and is shown to work on
   Solaris

This commit was SVN r22604.

The following Trac tickets were found above:
  Ticket 1354 --> https://svn.open-mpi.org/trac/ompi/ticket/1354
2010-02-10 23:18:29 +00:00
Brian Barrett
1ac217621c Fix CPPFLAGS issues with wrapper compilers. CPPFLAGS should be set for all
projects and don't push CPPFLAGS into WRAPPER_FLAGS (for now, removes 
-D_REENTRANT).

refs trac:2201

This commit was SVN r22535.

The following Trac tickets were found above:
  Ticket 2201 --> https://svn.open-mpi.org/trac/ompi/ticket/2201
2010-02-03 04:28:32 +00:00
Rainer Keller
e90163778a - Do an actual sh-test.
cmr:v1.5:#2197

This commit was SVN r22534.
2010-02-02 23:44:49 +00:00
Rainer Keller
9efd8cfedc - This bites us with make check (read MTT) on static builds (read jaguar)
Only test using dlopen, when we do have it...

   cmr:v1.5

This commit was SVN r22483.
2010-01-25 23:41:59 +00:00
Matthias Jurenz
60ad7dca5b Moved tests for the visibility feature after the tests for contributed software, because VampirTrace does not support this right now.
This commit was SVN r22441.
2010-01-18 13:30:56 +00:00
Ralph Castain
fad1ba15b0 Move the test for case-sensitive file system from ompi to opal so that all layers can have that knowledge.
Use that for the orte wrapper compilers

This commit was SVN r22348.
2009-12-29 23:26:45 +00:00
Jeff Squyres
e8b4507c51 Add the possibility for 3rd party projects to drop in .m4 files that AC_DEFUN ompi_CONFIG_LOCAL, orte_CONFIG_LOCAL, and/or opal_CONFIG_LOCAL in any of the <project>/config directories. If these macros are defined in <project>/config/<foo>.m4 files, autogen.sh will pick up their definitions and the top-level configure script will invoke them. This allows 3rd parties to add more configury to Open MPI (or ORTE or OPAL) without needing to patch configure.
This commit was SVN r22326.
2009-12-16 23:32:47 +00:00
Jeff Squyres
ab00aea1ff Per http://www.open-mpi.org/community/lists/devel/2009/10/7025.php,
use the new Automake "silent rules" if available.

If you are using an Automake prior to v1.11, you won't see the new 
silent rules -- it will automatically default back to the "verbose" 
rules.

Note, too, that even with these changes, you can enable the verbose 
"make all" output in one of two ways:

1. Add "V=1" to your "make" command line

{{{
shell$ make all V=1
}}}

2. Add "--disable-silent-rules" to your "configure" command line:

{{{
shell$ ./configure --disable-silent-rules ...
}}}

The one down side of using the silent rules by default is that we'll 
get less diagnostic information when users send their build logs.  I 
think we should update the web page to request that users send build 
logs of "make V=1", but I'm guessing that not everyone will do it.

Note that I did ''not'' silent-ize the libltdl build (which is a dozen
or so files in the beginning of the build) because we wholly import
libltdl at autogen time.  I therefore didn't want to patch libltdl
(further) after importing it a) to remain as forward- compatible as
possible, and b) patching the imported libltdl build system might be
tricky in terms of timestamps / dependencies.  So those dozen-or-so
files will still be "verbose", but the rest of the files in OMPI will
be "silent".

This commit was SVN r22189.
2009-11-04 02:07:02 +00:00
Jeff Squyres
ba46010a56 Fix the nightly build.
This commit was SVN r22166.
2009-10-29 01:54:11 +00:00
Jeff Squyres
a6c1fe888f We also need .so versioning of the OMPI "common" components since they
are installed as standalone libraries in $libdir.

This commit was SVN r22148.
2009-10-27 20:58:34 +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
Jeff Squyres
02db4f5146 Terry pointed out that ORTE also needs the "totalview" flags, and
therefore the m4 test really belongs on orte/config.  Thank Terry!

Additionally, I took the opprotunity to rename the variable so that
"TOTALVIEW" is not in the name anymore (because it applies to all
variables, not just Totalview).

This commit was SVN r22134.
2009-10-23 13:00:59 +00:00
Tim Mattox
e63348a31b Not all systems put true and false in /bin... so let $PATH work for us
and not hardcode /bin/true or /bin/false in the configure.ac
This updates the changes from r22113.

This commit was SVN r22130.

The following SVN revision numbers were found above:
  r22113 --> open-mpi/ompi@214e26b539
2009-10-23 01:16:45 +00:00
Jeff Squyres
3b0bc2a14e Fix one use of OMPI_ENABLE_MPI_PROFILING (in opal!) that escaped
previous testing. 

This commit was SVN r22117.
2009-10-21 01:13:21 +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
29bd7e5a53 Grrr....die, datatype test - DIE!
This commit was SVN r21937.
2009-09-04 01:52:08 +00:00
Rainer Keller
c3226b36b7 - It's BUS_ADRERR, not BUSADRERR...
- Fix typos.

This commit was SVN r21808.
2009-08-12 13:07:04 +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
Jeff Squyres
b921c5d605 Arrgh -- forgot to include this file in r21729. Sorry folks...
This commit was SVN r21730.

The following SVN revision numbers were found above:
  r21729 --> open-mpi/ompi@c7376ae053
2009-07-24 01:04:17 +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
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
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
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
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
Jeff Squyres
c6bfb780e6 Remove an outdated/incorrect comment.
This commit was SVN r21247.
2009-05-16 00:51:13 +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
Brian Barrett
2ca0b7fe44 remove some checks which are not needed after the recent ptmalloc2 changes
This commit was SVN r21042.
2009-04-19 18:17:05 +00:00
Rainer Keller
b0615f3385 - replace Tab
This commit was SVN r20786.
2009-03-16 04:22:22 +00:00
Rainer Keller
cf9db6bb3c - White spaces
This commit was SVN r20783.
2009-03-16 02:04:22 +00:00
Rainer Keller
64f041922c - Another side-effect of the previous work...
- Any $ac_cv-variable does not need to be converted into strings
     before checking
   - That's funny: The check for ac_cv_sizeof_int =... always was wrong.
     We have to DEREF $ac_cv_sizeof_int, dollar missing.
     We always ran on arches, where MPI_OFFSET_TYPE=long was selected...
   - Overly long lines should be split into several AC_MSG_WARN.

This commit was SVN r20782.
2009-03-16 02:00:27 +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
Ralph Castain
0d447511a5 Add a shellscript for daemon-less launch of local slave processes. No manpage as this is totally for internal use only.
This commit was SVN r20436.
2009-02-05 06:05:28 +00:00
Jeff Squyres
33fc6bc408 Fixes trac:1637: disable OMPI on OS X 10.3 and earlier.
This commit was SVN r20361.

The following Trac tickets were found above:
  Ticket 1637 --> https://svn.open-mpi.org/trac/ompi/ticket/1637
2009-01-28 01:06:53 +00:00
Ralph Castain
7787f84540 Per the earlier RFC and some discussion at the Dec ORTE design meeting, add the ompi-top tool and all its supporting infrastructure. This includes a new OPAL pstat framework and data type, currently with rather weak support for Mac OSX and pretty complete support for Linux. The Sun team promised to add Solaris support as well.
Also, per chat with Jeff, modified the Makefile.am's of a few orte tools so that they were consistent in the way we generate the ompi-equivalent cmds.

This commit was SVN r20165.
2008-12-22 20:23:05 +00:00
Ralph Castain
1ace83c470 Enable modex-less launch. Consists of:
1. minor modification to include two new opal MCA params:
   (a) opal_profile: outputs what components were selected by each framework
       currently enabled for most, but not all, frameworks
   (b) opal_profile_file: name of file that contains profile info required
       for modex

2. introduction of two new tools:
   (a) ompi-probe: MPI process that simply calls MPI_Init/Finalize with
       opal_profile set. Also reports back the rml IP address for all
       interfaces on the node
   (b) ompi-profiler: uses ompi-probe to create the profile_file, also
       reports out a summary of what framework components are actually
       being used to help with configuration options

3. modification of the grpcomm basic component to utilize the
   profile file in place of the modex where possible

4. modification of orterun so it properly sees opal mca params and
   handles opal_profile correctly to ensure we don't get its profile

5. similar mod to orted as for orterun

6. addition of new test that calls orte_init followed by calls to
   grpcomm.barrier

This is all completely benign unless actively selected. At the moment, it only supports modex-less launch for openib-based systems. Minor mod to the TCP btl would be required to enable it as well, if people are interested. Similarly, anyone interested in enabling other BTL's for modex-less operation should let me know and I'll give you the magic details.

This seems to significantly improve scalability provided the file can be locally located on the nodes. I'm looking at an alternative means of disseminating the info (perhaps in launch message) as an option for removing that constraint.

This commit was SVN r20098.
2008-12-09 23:49:02 +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
Donald Kerr
668eafec88 Support to handle platforms which do not define RLIMIT_MEMLOCK
This commit was SVN r20035.
2008-11-25 03:13:09 +00:00
Jeff Squyres
7b32402959 Fixes from Brian for OS X 10.4.
This commit was SVN r19953.
2008-11-07 22:13:43 +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
Ralph Castain
6e5d844c36 Roll in the revamped IOF subsystem. Per the devel mailing list email, this is a complete rewrite of the iof framework designed to simplify the code for maintainability, and to support features we had planned to do, but were too difficult to implement in the old code. Specifically, the new code:
1. completely and cleanly separates responsibilities between the HNP, orted, and tool components.

2. removes all wireup messaging during launch and shutdown.

3. maintains flow control for stdin to avoid large-scale consumption of memory by orteds when large input files are forwarded. This is done using an xon/xoff protocol.

4. enables specification of stdin recipients on the mpirun cmd line. Allowed options include rank, "all", or "none". Default is rank 0.

5. creates a new MPI_Info key "ompi_stdin_target" that supports the above options for child jobs. Default is "none".

6. adds a new tool "orte-iof" that can connect to a running mpirun and display the output. Cmd line options allow selection of any combination of stdout, stderr, and stddiag. Default is stdout.

7. adds a new mpirun and orte-iof cmd line option "tag-output" that will tag each line of output with process name and stream ident. For example, "[1,0]<stdout>this is output"

This is not intended for the 1.3 release as it is a major change requiring considerable soak time.

This commit was SVN r19767.
2008-10-18 00:00:49 +00:00
Rolf vandeVaart
1ad9d0459e Add a check for LOCK_SHARED in the sys/synch.h file. If it exists then smash it to avoid problems with preprocessor and C++.
This fixes trac:1477.

Help provided by Jeff and Terry.

This commit was SVN r19533.

The following Trac tickets were found above:
  Ticket 1477 --> https://svn.open-mpi.org/trac/ompi/ticket/1477
2008-09-10 12:58:30 +00:00
Ethan Mallove
cb927614c7 Fixes trac:1448 (''Need configure workaround for Sun Studio compiles on Sparc Solaris'')
This commit was SVN r19307.

The following Trac tickets were found above:
  Ticket 1448 --> https://svn.open-mpi.org/trac/ompi/ticket/1448
2008-08-16 00:47:33 +00:00
Brian Barrett
4a2cf9b9b9 OS X 10.5 provides a libutil in /usr/lib that is not the normal libutil.
Don't include it in LIBS if it doesn't actually contain the symboles we're
looking for.  Darwin's won't, LInux's will, so things will work out right.

This commit was SVN r19283.
2008-08-13 20:56:06 +00:00
Jeff Squyres
1a3045ff81 * Remove some extraneous AC_MSG_RESULT's
* Make the results of the top-level configure.ac test for
   _SC_NPROCESSORS_ONLN be cached so that we can check for it
   elsewhere (e.g., opal/mca/paffinity/posix/configure.m4)
 * Update top-level configure.ac test for _SC_NPROCESSORS_ONLN: stamp
   out another AC_TRY_COMPILE
 * Ensure paffinity:posix doesn't even try to compile if we don't
   have _SC_NPROCESSORS_ONLN
 * Minor style updates

This commit was SVN r19118.
2008-08-01 11:41:08 +00:00
Jeff Squyres
773f79f495 Follow-on to r19040; missed one file on the checkin.
This commit was SVN r19041.

The following SVN revision numbers were found above:
  r19040 --> open-mpi/ompi@9f4d4c4312
2008-07-25 21:35:29 +00:00
Brian Barrett
e9c50a29ba Some (rare) platforms only have a #define for htonl and friends,
but not anything in libc.  Which causes an incorrect answer for
AC_CHECK_FUNCS.  Work around that by also checking for the
#define.

This commit was SVN r18730.
2008-06-24 23:20:25 +00:00
Brian Barrett
8cff3131d6 Remove memory tests, as they're out of date
This commit was SVN r18656.
2008-06-14 14:01:05 +00:00
George Bosilca
8e8b8950ef Add support for Interix.
This commit was SVN r17983.
2008-03-26 23:20:33 +00:00
Jeff Squyres
f97130c3aa Sanity check: don't allow --disable-binaries with --enable-dist.
This commit was SVN r17946.
2008-03-25 12:01:36 +00:00
George Bosilca
18d5673d6b Explicitly state that the libtool stage 2 has to be the last thing !!!
This commit was SVN r17774.
2008-03-06 22:17:40 +00:00
George Bosilca
22a8998b3e The second stage of the libtool detection is supposed to
be the last piece of code that requires compile and link
tests. Therefore, the visibility detection should happens
before or it will fail.

This commit was SVN r17773.
2008-03-06 22:15:10 +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
Jeff Squyres
7d03300a76 Based on a patch from Brian about how to remove "naked" AC defined
macros in mpi.h. (e.g., HAVE_LONG_LONG); instead, prefix _all_ macros
with "OMPI_".

This commit was SVN r17591.
2008-02-26 01:45:32 +00:00
George Bosilca
512b24affb Add support for all optional Fortran logical types (MPI_LOGICAL1,
MPI_LOGICAL2, MPI_LOGICAL4 and MPI_LOGICAL8). This commit close
the ticket #331.

This commit was SVN r17473.
2008-02-15 22:54:20 +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
a348da4eee Experiment with using the ustar format for tarballs; seems to work on
the platforms we care about...?

This commit was SVN r17218.
2008-01-24 23:53:43 +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
Brian Barrett
f2d5d663cc re-enable the disable-dlopen case
This commit was SVN r16003.
2007-08-29 03:28:29 +00:00
Brian Barrett
1b76d46bd7 Fix error that was preventing anyone with LT 1.5.x from running autogen.sh.
This commit was SVN r15911.
2007-08-17 17:11:36 +00:00
Brian Barrett
2d4918b09d Support versions of the Libtool 2.1a snapshots after the lt_dladvise code
was brought in.  This supercedes the GLOBL patch that we had been using
with Libtool 2.1a versions prior to the lt_dladvise code.  Autogen
tries to figure out which version you're on, so either will now work with
the trunk.

This commit was SVN r15903.
2007-08-17 04:08:23 +00:00
Brian Barrett
c9e3654a85 Allow OMPI components to modify the link options for libmpi.so. This
functionality used to exist, but I removed it like a year ago because
it wasn't being used.  Well, now I need it :).

This commit was SVN r15901.
2007-08-17 03:52:53 +00:00
George Bosilca
8350ba19db Add protections against the shlwapi.h header file.
This commit was SVN r15597.
2007-07-25 03:49:31 +00:00
Brian Barrett
5b9fa7e998 reapply r15517 and r15520, which were removed in r15527 so that I could get
the RML/OOB merge in slightly easier

This commit was SVN r15530.

The following SVN revision numbers were found above:
  r15517 --> open-mpi/ompi@41977fcc95
  r15520 --> open-mpi/ompi@9cbc9df1b8
  r15527 --> open-mpi/ompi@2d17dd9516
2007-07-20 02:34:29 +00:00
Brian Barrett
39a6057fc6 A number of improvements / changes to the RML/OOB layers:
* General TCP cleanup for OPAL / ORTE
  * Simplifying the OOB by moving much of the logic into the RML
  * Allowing the OOB RML component to do routing of messages
  * Adding a component framework for handling routing tables
  * Moving the xcast functionality from the OOB base to its own framework

Includes merge from tmp/bwb-oob-rml-merge revisions:

    r15506, r15507, r15508, r15510, r15511, r15512, r15513

This commit was SVN r15528.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r15506
  r15507
  r15508
  r15510
  r15511
  r15512
  r15513
2007-07-20 01:34:02 +00:00
Brian Barrett
2d17dd9516 temporarily back our r15517 and 15520 so that I can get the RML / OOB changes
to cleanly apply

This commit was SVN r15527.

The following SVN revision numbers were found above:
  r15517 --> open-mpi/ompi@41977fcc95
2007-07-20 01:10:34 +00:00
Ralph Castain
41977fcc95 Remove the cellid field from the orte_process_name_t structure. This only affects a handful of files in itself, but...
Cleanup ALL instances of output involving the printing of orte_process_name_t structures using the ORTE_NAME_ARGS macro so that the number of fields and type of data match. Replace those values with a new macro/function pair ORTE_NAME_PRINT that outputs a string (using the new thread safe data capability) so that any future changes to the printing of those structures can be accomplished with a change to a single point.

Note that I could not possibly find outputs that directly print the orte_process_name_t fields, but only dealt with those that used ORTE_NAME_ARGS. Hence, you may still have a few outputs that bark during compilation. Also, I could only verify those that fall within environments I can compile on, so other environments may yield some minor warnings.

This commit was SVN r15517.
2007-07-19 20:56:46 +00:00
George Bosilca
725f776bb2 This patch was originally proposed by Brian, I just did some small optimizations.
It solve the problem with the MPI_Aint alignment that showed up on Solaris
Sparc and on heterogeneous environments when dealing with the data-type description.
The solution is to move the displacement array from the packed array if we
detect that the local architecture required MPI_Aint to be aligned to an
MPI_Aint boundary (which is not the case for x86 architectures if MPI_Aint
is a 64 bits type).

This commit was SVN r15395.
2007-07-13 05:45:02 +00:00
Josh Hursey
3f0bca5017 the other half of r15392. Sorry for the autogen :/
This commit was SVN r15394.

The following SVN revision numbers were found above:
  r15392 --> open-mpi/ompi@73273397f5
2007-07-12 21:30:59 +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
Rainer Keller
d3372729bb - Support for opt. MPI_REAL2 (who has that?)
to make checks for MPI-implementations fail in the right way ,-]
 - check in configure.ac
 - BINARY INCOMPATIBLE change to mpif-common.h
   (if implemented the *right* way)
   Actually OMPI_F90_CHECK takes two arguments, not three.
 - Only have corresponding C-Type, if the opt. Fortran
   type is really supported,
   Otherwise pass ompi_mpi_unavailable to DECLARE_MPI_SYNONYM_DDT;
 - Reviewed by George and Jeff

This commit was SVN r15133.
2007-06-19 05:03:11 +00:00
Brian Barrett
5e2d9bec39 allow regular expressions in compiler arguments for the multi-lib support
This commit was SVN r14897.
2007-06-06 03:42:17 +00:00
Bill D'Amico
9b5f73976d Bring Portable Linux Processor Affinity into trunk.
Changes paffinity interface to use a cpu mask for available/preferred cpus
rather than the current coarse grained paffinity that lets the OS choose
which processor.

Macros for setting and clearing masks are provided.

Solaris and windows changes have not been made. Solaris subdirectory has some
suggested changes - however the relevant man pages for the Solaris 10 APIs
have some ambiguity regarding order in which one create and sets a processor
set. As we did not have access to a solaris 10 machine we could not test to
see the correct way to do the work under solaris.

This commit was SVN r14887.
2007-06-05 22:07:30 +00:00
Brian Barrett
508da4e959 OS X apparently really doesn't like shared libraries with unresolvable
symbols in them and environ is defined only in the final application
(probably in crt1.o).  Apple provides a function for getting at the
environment, so use that instead if it's available.

This commit was SVN r14857.
2007-06-05 03:03:59 +00:00
Brian Barrett
38698adf29 Use the AC_PROG_GREP available in AC 2.60 and later. This works around
an issue on Solaris where /usr/bin/grep doesn't understand -q.  The
grep that AC_PROG_GREP finds (/usr/xpg4/bin/grep), which is POSIX
compliant and understands -q.  Also fix one instance where egrep was
used instead of $EGREP.

This commit was SVN r14829.
2007-06-01 02:31:15 +00:00
Brian Barrett
eff77f7cbb Need sys/socket for these defines on some platforms (Solaris, and I"m sure others)
This commit was SVN r14778.
2007-05-27 03:52:56 +00:00
Brian Barrett
77a80b2612 sockaddr_storage check needs sys/socket.h
This commit was SVN r14702.
2007-05-20 21:54:43 +00:00
Brian Barrett
33a5758521 Some IPv6 improvements:
* Move ipv6comat.h code into opal_config_bottom.h and change into some
    more intelligent testing of structures
  * Change opal's if interface to use sockaddr instead of sockaddr_storage,
    as the RFCs suggest we do
  * Move the networking code in opal that isn't directly related to if
    detection into net.h
  * Add quicky function to get the port out of either a sockaddr_in
    or sockaddr_in6, saving a bunch of code in the oob.
  * Update TCP oob and btl with new interface

This commit was SVN r14679.
2007-05-17 01:17:59 +00:00
Brian Barrett
ce4e24c399 need to empty location of libltdl.la so that we don't try to build it when
we're not using dlopen

This commit was SVN r14662.
2007-05-15 23:43:38 +00:00
Brian Barrett
21e00f6f0c Clean up a couple of configure things:
* Require Autoconf 2.60 or higher and remove some cruft
    required for AC 2.59 or the AC 2.59 / AC 2.60 mix
  * Remove a bunch of now unnecessary AC_SUBST calls
  * Use the libtool-provided variables for the -I and
    library to use when compiling against ltdl

Fixes trac:1000

This commit was SVN r14652.

The following Trac tickets were found above:
  Ticket 1000 --> https://svn.open-mpi.org/trac/ompi/ticket/1000
2007-05-15 04:23:48 +00:00
Sven Stork
a04c8eb39a - Bring over the visibility feature, for a finer symbol export control
via the visibility feature that is provided by some compilers.

  Per default this feature is disabled, to enable it you need to
  configure with --enable-visibility and obviously you need a compiler
  with visibility support. Please refer to the wiki for more information.
  https://svn.open-mpi.org/trac/ompi/wiki/Visibility

This commit was SVN r14582.
2007-05-04 09:03:37 +00:00
Jeff Squyres
c4c68e666a Merge in the ipv6 work from /tmp/ipv6-merge.
This commit was SVN r14503.
2007-04-25 01:55:40 +00:00
Jeff Squyres
00347db419 Put in a check for RLIMIT_PROC before trying to use it.
This commit was SVN r14502.
2007-04-25 01:54:37 +00:00
Jeff Squyres
0ba47105ed Merge the /tmp/jms-installdirs-trunk branch into the trunk. This
finally brings in functionality that is already on the 1.2 branch, and
was developed and tested in the v1.2ofed branch (and other places).

Short version of new features:

 * Support for ibv_fork_init() 
 * Automatically fill in the openib BTL bandwidth value by 
   querying the HCA port 
 * Installdirs functionality 
 * Fixes to always use -I in the Fortran wrapper compilers (#924) 
 * Gleb's mpool updates 
 * Remove some kruft in btl/openib/configure.m4, therefore 
   fixing the harmless warnings noted in #665 
 * Bunches of updates to the Linux RPM spec file 

I.e., effectively the same thing that r14411 brought to the v1.2
branch.

Also effectively brought in r14432 and r14433 (some fixes on top of
the original r14411 commit to v1.2).  Still need to bring in the moral
equivalent of r14445 after this commit (fixes to installdirs).

This commit was SVN r14449.

The following SVN revision numbers were found above:
  r14411 --> open-mpi/ompi@83b31314ae
  r14432 --> open-mpi/ompi@a48f160595
  r14433 --> open-mpi/ompi@68f346d2bc
  r14445 --> open-mpi/ompi@13d366b827
2007-04-21 00:15:05 +00:00
Jeff Squyres
5f1eb97ad8 Be sure to check for the syslog() function (it doesn't exist in
VXWorks, for example).  Checked with George before committing this to
ensure that nothing broke on Windows -- he said it was ok.

This commit was SVN r14388.
2007-04-17 03:11:30 +00:00
Josh Hursey
dadca7da88 Merging in the jjhursey-ft-cr-stable branch (r13912 : HEAD).
This merge adds Checkpoint/Restart support to Open MPI. The initial
frameworks and components support a LAM/MPI-like implementation.

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

This commit closes trac:158

More details to follow.

This commit was SVN r14051.

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

The following Trac tickets were found above:
  Ticket 158 --> https://svn.open-mpi.org/trac/ompi/ticket/158
2007-03-16 23:11:45 +00:00
Josh Hursey
0404444dbe * Added 2 new MCA parameters
- mca_base_param_file_prefix
     (Default: NULL)
     This is the fullname of the "-am" mpirun option. Used to specify a ':'
     separated list of AMCA parameter set files.
  - mca_base_param_file_path
     (Default: $SYSCONFDIR/amca-param-sets/:$CWD)
     The path to search for AMCA files with relative paths. A warning will be
     printed if the AMCA file cannot be found.

* Added a new function "mca_base_param_recache_files" the re-reads the file
configurations. This is used internally to help bootstrap the MCA system.

* Added a new orterun/mpirun command line option '-am' that aliases for the
mca_base_param_file_prefix MCA parameter

* Exposed the opal_path_access function as it is generally useful in other
places in the code.

* New function "opal_cmd_line_make_opt_mca" which will allow you to append a
new command line option with MCA parameter identifiers to set at the same
time. Previously this could only be done at command line declaration time.

* Added a new directory under the $pkgdatadir named "amca-param-sets" where all
the 'shipped with' Open MPI AMCA parameter sets are placed. This is the first
place to search for AMCA sets with relative paths.

* An example.conf AMCA parameter set file is located in
contrib/amca-param-sets/.

* Jeff Squyres contributed an OpenIB AMCA set for benchmarking.

Note: You will need to autogen with this commit as it adds a configure param.
  Sorry :(

This commit was SVN r13867.
2007-03-01 13:39:20 +00:00
Rainer Keller
38696e8d32 - Check for attributes, after C and C++ have been set up.
- Set ompi-specific autoconf cache-variables
 - Implement one function to check for availability of an
   attribute with the possibility for a cross-check.
 - Do cross-checks for
     __attribute__(format)
     __attribute__(nonnull)
     __attribute__(sentinel)
     __attribute__(warn_unused_result)
 - Grep the compilers warnings for keywords regarding ignored
   attributes.
 - Include also the no_instrument_function

This commit was SVN r13556.
2007-02-08 13:34:44 +00:00
Jeff Squyres
0732c555de Refs trac:853
Add new function opal_get_num_processors() that will return the number
of processors on the local host.  Does the Right thing in POSIX
environments (to include a special case for OS X), and will shortly do
the Right Thing for Windows (this commit includes a change to
configure, so I wanted to get that in before the US workday -- the
Windows code can some shortly because it won't involve configury
changes).

This commit was SVN r13506.

The following Trac tickets were found above:
  Ticket 853 --> https://svn.open-mpi.org/trac/ompi/ticket/853
2007-02-06 12:03:56 +00:00
Rolf vandeVaart
bf5113198d Update to orte-clean so it will remove files on local and
remote nodes.  It will also kill off rogue orteds and orterun
processes.  The killing of processes is ifdef'ed out for Windows
since I do not know how to do it there.  Note that this change
will requite an autogen.  

This commit was SVN r13477.
2007-02-03 00:25:42 +00:00
Jeff Squyres
add3909096 Back out 13076 and 13077 in favor of a much simpler approach.
Sorry for the configure change -- hopefully it's early enough in the
morning that it won't affect people... (new approach won't have a
configure change).

Refs trac:739.

This commit was SVN r13080.

The following Trac tickets were found above:
  Ticket 739 --> https://svn.open-mpi.org/trac/ompi/ticket/739
2007-01-11 14:07:15 +00:00
Jeff Squyres
f0932a0701 A workaround for a bug in the PGI 6.2 compiler series. This bug has
been fixed in the 7.0 PGI series, but is unlikely to be fixed in the
6.2 series:

 * Add a configure test looking for the bad behavior (the PGI compiler
   chokes on C code where structs containing bool's are copied by
   value)
 * Set OMPI_BOOL_STRUCT_COPY to 1 if it's ok, 0 if it's not (i.e., PGI
   6.2 series will have this value set to 0)
 * In two places in the code base -- orte-clean and btl_openib_ini.h,
   we have a struct that contains a bool that is copied by value.  In
   these two places, check OMPI_BOOL_STRUCT_COPY and if it's 1, use
   the "int" type instead of "bool".

Fixes trac:739

This commit was SVN r13076.

The following Trac tickets were found above:
  Ticket 739 --> https://svn.open-mpi.org/trac/ompi/ticket/739
2007-01-11 02:21:26 +00:00
Brian Barrett
b34042a887 Changes to the information printed when a signal occurs:
* Have darwin backtrace code return an error when buffer() is
    called, since it is not imnplemented
  * Print out hostname & pid when giving signal information
  * If backtrace_buffer() is implemented, use that instead of
    backtrace_print() and prefix stacktrace with the hostname
  * Make the signal information printed be more user friendly
  * If we're using the backtrace_buffer() code, don't print 
    the last two functions (which will be show_stackframe()
    then backtrace_buffer()) so that users won't keep thinking
    the error occurred inside Open MPI (sneaky, yes...)

Refs trac:538

This commit was SVN r12883.

The following Trac tickets were found above:
  Ticket 538 --> https://svn.open-mpi.org/trac/ompi/ticket/538
2006-12-17 19:14:13 +00:00
Brian Barrett
c554638446 Support systems without malloc.h or posix_memalign (ie, pretty much every
one we support that isn't Linux)

This commit was SVN r12880.
2006-12-17 17:28:59 +00:00
Brian Barrett
bf38c9d8e2 Configure changes... woopie...
* Check that the C++, Fortran 77, and Objective C comilers emit code
    that can link against object files emitted by the C compiler.
    Moves some built / run time errors to configure time, which is
    nice and should help with the debugging
  * Remove unneeded -F option when building the XGrid components, 
    which started causing problems with LT 2.0.
  * Try to use the XGridFoundation library, rather than just seeing
    if we can give -framework XGridFoundation.  Should make the
    test slightly more accurate
  * Don't assume XGrid is unavailable on 64 bit platforms, as that
    won't be true on Leopard
  * Require AM 1.10 or newer if using AC 2.60 or newer, so that
    we don't have a split of AC supporting Objective C and AM
    not doing so

This commit was SVN r12701.
2006-11-30 01:59:44 +00:00
Ralph Castain
ca5b4358fa Need to revise the display-map-at-launch option so it is active not only for the initial launch, but applies to any subsequent comm_spawn events too.
Add placeholders for the new orte tools. These don't actually do anything yet - in fact, I have set the .ompi_ignore so that you won't compile them (I have set a .ompi_unignore for me). Please let me know if you encounter any trouble with this - the ompi_ignore's should protect everyone.

This commit was SVN r12616.
2006-11-17 02:58:46 +00:00
Brian Barrett
4dad3ef3ef Follow on to r12146. For platforms that dont' have a ptrdiff_t definition,
provide one for the internals of Open MPI.  For mpi.h, typedef MPI_Aint
either to ptrdiff_t or whatever we used as ptrdiff_t if that type doesn't
actually exist.

This commit was SVN r12212.

The following SVN revision numbers were found above:
  r12146 --> open-mpi/ompi@8852c00c36
2006-10-20 03:24:59 +00:00
Brian Barrett
4d7f221f86 There are some compilers (with the right options) that make LOGICALS
8 bytes.  Adjust the configure tests to allow for this case.

Refs trac:427

This commit was SVN r11859.

The following Trac tickets were found above:
  Ticket 427 --> https://svn.open-mpi.org/trac/ompi/ticket/427
2006-09-28 03:25:18 +00:00
Jeff Squyres
c068bc155a First steps towards IPv6 support. Mainly to support the guys working
on it, even though there's no other IPv6 code in the tree yet.

This commit was SVN r11561.
2006-09-08 00:10:40 +00:00
Jeff Squyres
5662122885 Fix "make dist". Temporarily snip some tests from the tarball until
they can be repaired (more changes coming in from the mad branch that
will break them).

This commit was SVN r11560.
2006-09-08 00:09:37 +00:00
Josh Hursey
d9c21d66ef We need to include test/runtime/Makefile here if we include it in the
DIST_SUBDIRS in test/Makefile.am

This should fix this nightly tarball builds.

Rolling back part of r11542

This commit was SVN r11553.

The following SVN revision numbers were found above:
  r11542 --> open-mpi/ompi@2becfbf650
2006-09-07 13:24:13 +00:00
Ralph Castain
2becfbf650 remove some directory names so that "make dist" will (hopefully) work correctly. Only Cyrador will know for sure...
This commit was SVN r11542.
2006-09-06 17:50:25 +00:00
George Bosilca
2c3e4a9eea Don't detect the restrict keyword on Windows. Read the comment for more
information.

This commit was SVN r11313.
2006-08-21 22:13:32 +00:00
Brian Barrett
43116cd13c * Don't define _GNU_SOURCE if we are using the IBM XL compilers, as it seems
to cause them to miscompile TCP-related code.

  refs trac:276

This commit was SVN r11258.

The following Trac tickets were found above:
  Ticket 276 --> https://svn.open-mpi.org/trac/ompi/ticket/276
2006-08-18 04:12:24 +00:00
Ralph Castain
8c7f0ed9ae Change the SOH to the new State Monitoring and Reporting (SMR) framework. New API's will be appearing in the new framework shortly - this just gets the name change into the system.
Other changes:

1. Remove the old xcpu components as they are not functional.

2. Fix a "bug" in orterun whereby we called dump_aborted_procs even when we normally terminated. There is still some kind of bug in this procedure, however, as we appear to be calling the orterun job_state_callback function every time a process terminates (instead of only once when they have all terminated). I'll continue digging into that one.

This will require an autogen/configure, I'm afraid.

This commit was SVN r11228.
2006-08-16 16:35:09 +00:00
Brian Barrett
aaf31c6ade * Make the backtrace printing functionality a framework
* Copy Linux and Solaris backtrace support from util/stacktrace.c
* Added backtrace support for Mac OS X.

This commit was SVN r11023.
2006-07-27 02:56:02 +00:00
Brian Barrett
7ea33eac02 Merge in rest of event library update branch, updating the event library to
libevent-1.1a.

svn merge -r10917:11006 https://svn.open-mpi.org/svn/ompi/tmp/libevent-update

This commit was SVN r11022.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r10917
  r11006
2006-07-27 01:51:18 +00:00
Terry Dontje
215542ad38 Added code to pull in ucontext.h to provide the prototype for
the printstack function for Solaris systems.

This commit was SVN r10967.
2006-07-24 12:14:24 +00:00
Terry Dontje
00694bc65c Added stacktrace support when running on Solaris.
This commit was SVN r10845.
2006-07-17 11:16:58 +00:00
Jeff Squyres
f7a71772a7 Remove long-defunct "openmpi" tool from orte. It was apparently an
early generation of the orted, and is now long-dead.

This commit was SVN r10754.
2006-07-12 03:52:17 +00:00
Josh Hursey
2edf1511fd Closes ticket #173 : Split name linking up for orte/ompi shared tools.
This moves the logic to create the symbolic links for:
 - mpirun
 - mpiexec
 - ompi-ps
 - ompi-clean
and their respective man pages to the ompi level from
the orte layer.

This is a bit pedantic, but orte shouldn't be doing the
work of ompi since that is a bit of an abstraction break.

Note: need to autogen.sh to get this. Sorry :(

This commit was SVN r10602.
2006-06-30 22:01:56 +00:00
Josh Hursey
793bbc667a bringing over orte-clean from tmp/jjhursey-ft-cr branch
per a request.

Currently it is not working well. That will soon change
as it just needs a bit of attention and testing to
make it lots-mo-betta.

This commit was SVN r10556.
2006-06-28 22:33:54 +00:00
Josh Hursey
9c0a279522 Moved the 'orte-ps' command from the tmp/jjhursey-ft-cr branch
per a request for its functionality into the main trunk.

This command provides basic information about a running job. It
needs a bit of attention, but works fine in its current iteration.

Please play with it, and lets try to work out all the left over bugs.

Pending action for this tool:
It has been requested that the tool be changed slightly to allow
it to be called via a function call from internal libraries
(e.g. orteconsole).

This commit was SVN r10554.
2006-06-28 22:06:13 +00:00
Brian Barrett
b34768962c * put event library tests into the testing infrastructure so that they can
be built without heroic effort

This commit was SVN r10517.
2006-06-26 22:28:59 +00:00
Jeff Squyres
87ec6c5384 Fix the fix -- if we're not compiling the profiling layer, then we
cannot include the PMPI_WTIME|WTICK functions in the external and
double precision statements because some compilers complain about
this.  Instead, we need to use the macro that is defined by
configure.ac (MPIF_H_PMPI_W_FUNCS).  This unfortunately means that we
need to generate mpif.h (in addition to mpif-config.h) because the
"external" statement is toxic to F90 compilers.

This commit was SVN r10464.
2006-06-21 21:24:01 +00:00
Jeff Squyres
5f356edb64 Bring over changes from the /tmp/fortran-stuff series:
- Make the F90 bindings compile and link properly with gfortran 4.0,
  4.1, Intel 9.0, PGI 6.1, Sun (don't know version offhand -- the most
  current as of this writing, I think), and NAG 5.2, although some
  have limitations (e.g., NAG can't seem to handle the medium and
  large sizes)
- Building the F90 "small" module size is now the default, even for
  developers
- Split up mpif.h into multiple files because parts of it were toxic
  to the F90 bindings
- Properly specify unsized/unshaped arrays to make the bindings work
  on all known compilers
- Make ompi_info show Fortran 90 bindings size
- XML somewhat lags the generated scripts as of this commit, but
  functionality was my main goal -- the XML can be updated later (if
  at all).

This commit was SVN r10118.
2006-05-30 14:37:41 +00:00
George Bosilca
eb149cb9c8 Move the datatype tests in its own directory.
This commit was SVN r10003.
2006-05-22 06:12:43 +00:00
Jeff Squyres
faf63c68f8 Merge over from the /tmp/fortran-stuff branch
- split mpif.h into mpif.h and mpif-common.h[.in]
- mpif-common.h is included by various f90 things and contains output
  from configure
- mpif.h defines some f77-specific stuff and then includes
  mpif-common.h 

This commit was SVN r9997.
2006-05-20 02:15:49 +00:00
Brian Barrett
7125501573 * Patch from Ralf Wildenhues -- apparently having the ./config instead
of config confuses BSD make in VPATH situations.  So don't do that.

This commit was SVN r9838.
2006-05-07 19:19:37 +00:00
Jeff Squyres
f8e634d6ca Bring over /tmp/f90-stuff branch to the trunk.
svn merge -r 9453:9609 https://svn.open-mpi.org/svn/ompi/tmp/f90-stuff .

Several improvements over the current F90 MPI bindings:

- The capability to make 4 sizes of the F90 bindings:
  - trivial: only the F90-specific MPI functions (sizeof and a few
    others)
  - small: (this is the default) all MPI functions that do not take
    choice buffers
  - medium: small + all MPI functions that take one choice buffer
    (e.g., MPI_SEND)
  - large: all MPI functions, but those that take 2 choice buffers
    (e.g., MPI_GATHER) only allow both buffers to be of the same type
- Remove all non-standard MPI types (LOGICAL*x, CHARACTER*x)
- Remove use of selected_*_kind() and only use MPI-defined types
  (INTEGER*x, etc.)
- Decrease complexity of the F90 configure and build system

This commit was SVN r9610.
2006-04-11 03:33:38 +00:00
Brian Barrett
4ea8790342 * Don't try to call tcgetprgp on platforms that don't have that function
* Some more stuff to ignore / do in Red Storm build

This commit was SVN r9511.
2006-04-01 05:46:15 +00:00
George Bosilca
51df8175d7 Allow conditional compilation of the PERUSE test while still adding PERUSE to
the make dist target.

This commit was SVN r9375.
2006-03-23 05:53:38 +00:00
Brian Barrett
5c7751f9a2 * configure changes required to support the double compile of the ddt engine.
still need to coordinate some Makefile.am changes with george tomorrow, but
  this is the stuff that will require re-autogening

This commit was SVN r9285.
2006-03-15 03:35:30 +00:00
Brian Barrett
635f650250 * fix typo
This commit was SVN r9257.
2006-03-12 04:43:59 +00:00
Brian Barrett
c42da09796 * Fix a small bug George noticed - if you change the prefix (or any of the
installation directories) in configure, the files that depend on this
  information are not properly rebuilt.  If you need this information,
  don't setup a -D in the Makefile.am - instead, include 
  opal/install_dirs.h.
* Use the : option in AC_CONFIG_FILES to avoid needing to expose that
  we are playing around with temporary files with our headers to avoid
  rebuilding
* Clean up the version file information a bit, and like the install 
  directory stuff, make sure that there is a dependency so that 
  ompi_info gets rebuilt properly when a version number changes.

This commit was SVN r9256.
2006-03-12 04:35:01 +00:00
Brian Barrett
d0f5f8a242 * enable pty support for platforms that do not have openpty(), but do
have pty support in general.

This commit was SVN r9250.
2006-03-11 02:35:40 +00:00
Rainer Keller
67caebbfab Fix a the compilation error that is caused by the specification of a CPPFLAGS
environment variable during the configuration process (CPPFLAGS have been
concatenated with an include directive).

This commit was SVN r9213.
2006-03-07 08:49:59 +00:00
Rainer Keller
42f4a6fe03 - use AC_C_BIGENDIAN instead of deprecate AC_WORDS_BIGENDIAN
- set the highest debugging levels for macro debug support on gcc/gdb

This commit was SVN r9197.
2006-03-04 13:59:14 +00:00
Brian Barrett
ee73cbb25c * remove unused F90 range and precision tests
This commit was SVN r9162.
2006-02-27 05:19:13 +00:00
Galen Shipman
4612f70815 conditionally compile mpool_disable_sbrk if mallopt is present.
This commit was SVN r9107.
2006-02-21 22:27:41 +00:00
Jeff Squyres
65161c1dfe Fix the fortran 90 checks in two ways:
- Make the F90 checks use the identical types to the F77 checks (e.g.,
  INTEGER*4, as opposed to potential selected_int_kind() equivalents)
- Comment out the F77 and F90 alignment check failure -- there is some
  confusion here; some vendors apparently told Craig R. yesterday that
  they change the alignments of types based on whether the instance is
  a standalone variable, in an array, or a member of a struct.  

More investigation is needed (and potentially clarification for MPI
users -- this could be quite problematic!), but this alignment test is
otherwise hosing the nightlies, so it needs to be taken out for the
moment.

This commit was SVN r9031.
2006-02-14 13:05:37 +00:00
Jeff Squyres
bc47a24bee Bring the f90 configuration up to speed with the f77 configuration
changes.  The two Big Changes are elegance (much more re-use of code
rather than cut-n-pasting the same code over and over and over and...)
and enabling cross-compilation for F77 and F90 (because we actually
have to *run* some compiled F77 and F90 programs for some of the
tests, which obviously won't work in a cross-compilation environment
-- so enable the use of config.cache to load such values in
cross-compiling environments).

This commit was SVN r8991.
2006-02-12 15:11:36 +00:00
Brian Barrett
566a050c23 Next step in the project split, mainly source code re-arranging
- move files out of toplevel include/ and etc/, moving it into the
    sub-projects
  - rather than including config headers with <project>/include, 
    have them as <project>
  - require all headers to be included with a project prefix, with
    the exception of the config headers ({opal,orte,ompi}_config.h
    mpi.h, and mpif.h)

This commit was SVN r8985.
2006-02-12 01:33:29 +00:00
Ralph Castain
4b9f015c0b Merge in the new data support subsystem for ORTE. MPI folks should not notice a difference. Longer explanation will be sent to developers mailing list.
This commit was SVN r8912.
2006-02-07 03:32:36 +00:00
Brian Barrett
dc088d0023 * Generate ompi_get_version.sh from ompi_get_version.m4, removing a bunch of
duplicated logic that wasn't being duplicated all that well.  Thanks goes
  to Ralf Wildenhues for the bulk of the patch.

This commit was SVN r8779.
2006-01-21 22:53:16 +00:00
Brian Barrett
ab6f4de6e5 * Remove the old wrapper compilers and add the correct data files for the
new wrapper compilers for the OMPI layer.  This should require no changes
  at all for anyone (other than running autogen, of course)

This commit was SVN r8772.
2006-01-21 02:05:58 +00:00
Brian Barrett
c96f870674 * Merge of wrapper compiler updates from the bwb-wrapper-fix branch (r8690 -
r8698), with changes below:

  - Split wrapper flags into those required for each of the three projects,
    and cleaned up some cruft (including the LIBMPI_EXTRA_*FLAGS) through-
    out the build system
  - Added opal_init_util and opal_finalize_util to allow init / cleanup
    of all the opal code that doesn't require the MCA system
  - Create standalone key=value file parser, based on the one that used
    to be in the mca param parser, so that it can be shared in multiple
    places
  - Add wrapper datafiles for opal, orte, and ompi wrappers, and add
    wrapper compiler with support for all the old features

This commit was SVN r8699.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r8690
  r8698
2006-01-16 01:48:03 +00:00
Brian Barrett
48f82db838 Convert all Fortran 77 tests to use config cache so that we have a way to
determine values like Fortran alignment (which can only be determined by
running a program) when cross-compiling.  By providing cache values, the
programs will not be run at all, and life will be good.  Also clean up
some macro interfaces so that they are a bit easier to use, at the cost
of horrid internals ;).

This commit was SVN r8684.
2006-01-13 04:08:40 +00:00
Brian Barrett
6afdc3a65d * per the Autoconf manual, work around sys/socket.h requirement on Darwin
for the net/if.h header file. 

  This should probably go to the trunk...

This commit was SVN r8676.
2006-01-12 03:19:37 +00:00
Brian Barrett
3390ccb32a Only include -lm if we really need to, since we don't really need to on OS X
This commit was SVN r8539.
2005-12-19 04:14:31 +00:00
George Bosilca
33f9ddb3d1 Add the AM_CONDITIONAL for the windows build (OMPI_NEED_WINDOWS_REPLACEMENTS).
This commit was SVN r8537.
2005-12-17 22:29:12 +00:00
Brian Barrett
e574fd7fbe - update some svn ignores
- don't fail to configure if threads aren't found, since
  we don't have thread support on windows
- rather than setting the asm file name to none in asm-data,
  special case windows w/ CL in the ompi_config_asm macros.
  Otherwise, there were some warnings during make dist and
  configure that didn't need to be there.

This commit was SVN r8502.
2005-12-15 04:19:16 +00:00
Brian Barrett
e8cca1710f couple of changes to make Open MPI compile under Cygwin with gcc:
- add the right asm format
  - add checks for some constants / fields that cygwin
    doesn't have in the stacktrace code
  - fix for slightly more verbose libtool 2 betas that
    have multiple lines for link output

This commit was SVN r8501.
2005-12-15 00:51:28 +00:00
Brian Barrett
3a07de29f3 - add -lgen if it's needed to get dirname()
- since we now have three places where we need to add a -l<foo> if
  and only if it isn't already in something in LIBS that provides
  symbol bar...

This commit was SVN r8370.
2005-12-02 01:02:19 +00:00
Brian Barrett
200d6cb058 * if libltdl fails to configure, abort the configure process. We don't have the
ability at this point to roll back and build without libltdl if we thought we
  we going to have libltdl (we can configure without libltdl if we know from
  the start it won't be there, from --disable-dlopen).

This commit was SVN r8336.
2005-11-30 14:00:31 +00:00
Jeff Squyres
d55893349f Convert MPI_Offset to be a typedef instead of a #define. See the
following for the rationale:

http://www.open-mpi.org/community/lists/users/2005/11/0391.php

Note that mpi.h only receives AC_DEFINE's (not AC_SUBST's), so we
still have to AC_DEFINE to get the value in there -- so we AC_DEFINE
something that we give to a typedef.

This commit was SVN r8326.
2005-11-30 03:16:24 +00:00
Rainer Keller
bf0892bb32 - Implement correct Fortran Logical-handling in f77/f90 interface in
case of:
    sizeof(MPI_Flogical) != sizeof (int)
  and
    Fortran value of .TRUE. != 1
  as is often the case.
- Check in configure the value of .TRUE., the C-type coresponding to
  logical and check, that fortran compiler does not do something strange
  with arrays of logicals
- Convert all occurrences of logicals in the fortran wrappers, only
  in case it is needed.
  *Please note* Implementation of MPI_Cart_sub needed special treatment.
- Output these value in ompi_info -a
- Clean up the prototypes_mpi.h to just have a single definition and
  thereby deleting the necessity for prototypes_pmpi.h

- configured, compiled and tested with F90-program, which uses
  MPI_Cart_create and MPI_Cart_get:
  linux ia32, gcc (no testing, as no f90)
  linux ia32, gcc --disable-mpi-f77 --disable-mpi-f90 (had a bug there)
  linux ia32, icc-8.1
  linux opteron, gcc-3.3.5, pgcc, pathccx/pathf90 (tested just
pgi-compiler)
  linux em64t, gcc, icc-8.1 (tested just icc)

This commit was SVN r8254.
2005-11-24 16:52:35 +00:00
Jeff Squyres
bcd037315f Some Fortran compilers actually will return that a type exists even if
it doesn't support it -- the compiler will automatically convert the
unsupported type to a type that it *does* support.  For example, if
you try to use INTEGER*16 and the compiler doesn't support it, it may
well automatically convert it to INTEGER*8 for you (!).  So we have to
check the actual size of the type once we determine that the compiler
doesn't error if we try to use it (i.e,. the compiler *might* support
that type).  If the size doesn't match the expected size, then the
compiler doesn't really support it.

The F77 configure code actually handled this properly.  The F90 code
did not quite do it right.  This patch brings the F90 code up to the
same structure as the F77 code, albiet not m4-ized properly.  I also
added a comment to config/f77_check.m4 that explains *why* we do this
extra size check (because no explanation was given).

The impetus for this was that xlf* on OS X 10.3 was not recognizing
that INTEGER*16 was not supported, and mpi-f90-interfaces.h was being
assembled incorrectly.  This patch fixes this problem.

There is still one more problem, but waiting for some help from Craig
R on that (function pointers in F90 declarations).

This commit was SVN r8107.
2005-11-10 23:35:36 +00:00
Jeff Squyres
42ec26e640 Update the copyright notices for IU and UTK.
This commit was SVN r7999.
2005-11-05 19:57:48 +00:00
Brian Barrett
1c47b56163 * add ability to add compiler / linker flags to the MPI wrapper compilers
from configure (in addition to all the ones that the configure script
  finds)

This commit was SVN r7906.
2005-10-27 23:23:08 +00:00
Brian Barrett
1302cb4072 The next in a long line of crazed build system changes from Brian. This was
originally suggested by Ralf Wildenhues, to try to speed autogen, configure,
and make (and possibly even make install).  Use automake's include directive
to drastically reduce the number of Makefile files (although the number of
Makefile.am files is the same - most are just included in a top-level
Makefile.am).  Also use an Automake SUBDIRs feature to eliminate the
dynamic-mca tree, which was no longer really needed.  This makes adding
a framework easier (since you don't have to remember the dynamic-mca
tree) and makes building faster (as make doesn't have to recurse through
the dynamic-mca tree)

This commit was SVN r7777.
2005-10-17 00:21:10 +00:00
Jeff Squyres
9a25554559 Patch from Brooks Davis for some BSD compatibility issues.
This commit was SVN r7751.
2005-10-13 15:41:25 +00:00
Brian Barrett
80ac5c2efd * there are now two upcoming points where we want to release a version with
a random string of characters as part of the version number (the really
  soon to happen 1.0lanl release and the 1.1sc2005 release that we've
  talked about).  So rather than having alpha and beta fields that must
  be numeric values, have a general field that can be any alphanumeric
  value.

This commit was SVN r7511.
2005-09-27 02:06:05 +00:00
Brian Barrett
cf04b2da3c * bunch of changes to make better use of config cache. Almost everything in the
C / C++ tests now use the caching scheme.  Only exception is C++ exception
  handling code, which is disabled by default, so I'm not too worried about making
  that configure faster :)

This commit was SVN r7403.
2005-09-16 02:49:31 +00:00
Brian Barrett
ed56e743b7 * update configure.ac to use the modern version of AC_INIT and
AM_INIT_AUTOMAKE, instead of the deprecated version.
* Work around dumbness in modern AC_INIT that requires the version
  number to be set at autoconf time (instead of at configure time, as
  it was before).  Set the version number, minus the subversion r number,
  at autoconf time.  Override the internal variables to include the r
  number (if needed) at configure time.  Basically, the right thing
  should always happen.  The only place it might not is the version
  reported as part of configure --help will not have an r number.
* Since AM_INIT_AUTOMAKE taks a list of options, no need to specify
  them in all the Makefile.am files.
* Addes support for subdir-objects, meaning that object files are put
  in the directory containing source files, even if the Makefile.am is
  in another directory.  This should start making it feasible to
  reduce the number of Makefile.am files we have in the tree, which
  will greatly reduce the time to run autogen and configure.

This commit was SVN r7211.
2005-09-07 05:54:53 +00:00
Jeff Squyres
3962c53e2e - Add to AM_CPPFLAGS $(OPAL_LTDL_CPPFLAGS) where necessary in order to
add a -I to find the included ltdl.h (vs. a system-installed ltdl.h)
- Clean up kruft in a bunch of Makefile.am's to remove now-unnecessary
  AM_CPPFLAGS settings to get static-components.h for each framework
- Move the component_repository API functions out of opal/mca/base/base.h
  and into opal/mca/base/mca_base_component_repository.h in order to
  decrease unnecessary dependencies (e.g., before this, almost
  everything in the tree depended on ltdl.h, which is unnecessary --
  only a small number of files really need ltdl.h)

This commit was SVN r7127.
2005-09-01 12:16:36 +00:00
Jeff Squyres
4c59058053 - Add some logic to configure to make a version of CFLAGS that doesn't
include any optimization flags
- Use these flags to always compile ompi/debuggers/* and orterun so
  that parallel debuggers (such as Totalview) can always see the
  debugging symbols (see comments in ompi/debuggers/Makefile.am and
  orte/tools/orterun/Makefile.am)
- Remove some obsolete LAM-named variables from configure.ac

This commit was SVN r7125.
2005-09-01 10:37:20 +00:00
David Daniel
227947fc51 Moving MPI-side TotalView support into a separate directory
ompi/debuggers/

so that compilation options can be more easily controlled.

This commit was SVN r7113.
2005-08-31 20:35:15 +00:00
Brian Barrett
523fa13ed8 * don't include ompi_config.h in mpi.h. This was causing some not-so
friendly #defines to be included in mpi.h (even for users), such as
  _GNU_SOURCE, which can have some really big consequences on Linux.
  Instead, add mpi.h to AC_CONFIG_HEADERS and just include the #defines
   we have to have for mpi.h and the C++ bindings.

This commit was SVN r7022.
2005-08-25 00:41:26 +00:00
Brian Barrett
5c82e522c3 * move check for -lsocket from libevent to top-level configure, and add
check for -lnsl, since both are needed for a bunch of functions like
  gethostbyname() on Solaris

This commit was SVN r7015.
2005-08-24 21:24:17 +00:00
Brian Barrett
ba1f742f34 * fix bug in ompi_mca.m4 that would prevent components that were forced
not to build to not be added to the ALL_COMPONENTS list and therefore
  not distributed in a tarball
* add some of the contrib/ stuff to the dist tarball (the stuff to
  make binary packages and the "--with-platform" files)

This commit was SVN r6955.
2005-08-21 21:04:52 +00:00
Brian Barrett
1b830beddb * move over changes from the /tmp/bwb-memory-hooks/copy-1 into the trunk.
This includes updates to the malloc_hook method and making everything
  components.

This commit was SVN r6852.
2005-08-13 01:08:34 +00:00
Brian Barrett
f707ba2dd3 * Add memory dispatching code for OPAL. This allows anyone to register
callbacks to be triggered when memory is about to leave the current
  process.  The system is designed to allow a variety of interfaces,
  hopefully including whole-sale replacement of the memory manager,
  ld preload tricks, and hooks into the system memory manager.  Since
  some of these may or may not be available at runtime and we won't know
  until runtime, there is a query funtion to look for availability of
  such a setup.
* Added ptmalloc2 memory manager replacement code.  Not turned on by
  default, can be enabled with --with-memory-manager=ptmalloc2.
  Only tested on Linux, not even compiled elsewhere.  Do not use
  on OS X, or you will never see your process again.
* Added AM_CONDITIONAL for threads test to support ptmalloc2's build
  system

This commit was SVN r6790.
2005-08-09 22:40:42 +00:00
Brian Barrett
c02cfd6dd1 * add --with-platform=FILE argument to configure, which can be used to
load a set of arguments to build OMPI.  So you can do something like:

    ./configure --with-platform=redstorm

  and automagically have all 10,000 arguments to configure required
  for Red Storm magically set
* change all instances of sinclude to m4_include so that autogen
  will properly fail if an .m4 file isn't included properly

This commit was SVN r6648.
2005-07-28 15:48:46 +00:00
Jeff Squyres
4077676afc - Change the version number checking messages
- Fix up the F90 void * sizeof detection, and ensure that we
  AC_MSG_ERROR if we can't support OMPI_MPI_ADDRESS_KIND (highly
  unlikely, but...)

This commit was SVN r6639.
2005-07-28 00:43:58 +00:00
Brian Barrett
6aa464b67e More changes from Red Storm port
- only call sched_yield if it exists
  - don't fail out if modex doens't work in ob1
  - bunch of fixes for Portals BTL
  - add cnos rml component
  - add NULL gpr component (should only be used if replica AND proxy
    fail to load)  

This commit was SVN r6629.
2005-07-27 23:07:14 +00:00
Craig E Rasmussen
fdb7e52330 Moved MPI_ADDRESS_KIND calculation to configure.ac so that it can go in mpif.h
This commit was SVN r6606.
2005-07-26 17:23:24 +00:00
Brian Barrett
14b89e0e50 Bunch more updates from operation Red Storm:
* Add ability to completely disable libltdl (the dlopen code to load
  dynamic shared objects) to configure: --disable-dlopen
* Added MCA param (component_disable_dlopen) to disable DSO loading
  at runtime
* Made the event library behave in some not-completely-erroneous way
  on platforms where it has absolutely no eventops support (ie, no
  select, poll, or epoll)
* Disabled orte_wait, opal_few, and opal_daemon_init code on
  platforms without fork, waitpid support.  All non-init functions
  will return OPMI_ERR_NOT_SUPPORTED
* Disable orteprobe tool when fork or pipe aren't supported

This commit was SVN r6490.
2005-07-14 18:05:30 +00:00
Brian Barrett
dbf9820e6b * Add checks for the process management functions (fork, execve, waitpid)
* Add checks for fork() for fork and rsh plses so that they dont' activate
  on platforms without fork

This commit was SVN r6482.
2005-07-14 13:28:06 +00:00
Brian Barrett
68b91e85ed * add checks for the hton and ntoh functions, since they don't exist on
Red Storm.  Add stub functions to ompi_config_bottom.h when they are
  around
* Add protection for a bunch of #include <netinet/in.h>s
* Fix up the Portals BTL so that it compiles on Red Storm and has the
  right mojo for initialization on Red Storm
* Add some important comments to ompi_check_package and mvapi configures
* Add support for platforms without getpwuid() (aka, Red Storm). 

This commit was SVN r6478.
2005-07-14 04:11:59 +00:00
Brian Barrett
4d580fa706 * disable TCP ptl and oob components if there is no TCP support (look at
sockaddr_in - seems to be a good indicator)
* disable util/if code if no inet devices (again, no sockaddr_in)
* add enable/disable flag to disable stacktrace pretty-print code
  (defaults to enabled).  Seems there's something funky going on with
  the preprocessor on Red Storm that was causing problems - this was
  the easiest fix
* clean up a bunch of the configure.m4 files to remove bogus comments,
   properly comment them, fix the dumb logic for happy/unhappy
* Create a macro for testing both header and library for a package, 
  since we seem to do this kind of test quite often.  Handles the
  -I and -L search paths properly (including stripping out /usr and
  /usr/local if not needed)
* Converted mvapi components to configure.m4, using the nice new
  ompi_check_package macro (above)

This commit was SVN r6454.
2005-07-13 04:16:03 +00:00
Brian Barrett
a991d883c1 * Rewrite ompi_mca.m4 to use m4_defined lists of projects (ompi, orte, etc.),
frameworks, and components without configure scripts instead of
  hard-coded shell variables (for projects and frameworks) and 
  shell variable building (for components).
* Add 3rd category of component configuration (in addition to configure
  scripts and no-configured components): configure.m4 components.  These
  components can only be built as part of OMPI (like no-configure), but
  can provide an m4 file that is run as part of the main configure
  script.  These macros can set whether the component should be built, 
  along with just about any other configuration wanted.  More care must
  be taken compared to configure components, as doing things like setting
  variables or calling AC_MSG_ERROR now affects the top-level configure
  script (so calling AC_MSG_ERROR if your component can't configure
  probably isn't what you want)
* Added support to autogen.sh for the configure.m4-style components,
  as well as building up the m4_define lists ompi_mca.m4 now expects
* Updated a number of macros to be more config.cache friendly (both
  so that config.cache can be used and so the test can be quickly
  run multiple times in the same configrue script):
    - ompi_config_asm
    - c_weak_symbols
    - c_get_alignment
* Added new macros to be shared when configuring components:
    - ompi_objc.m4 (this actually provides AC_PROG_OBJC - don't ask...)
    - ompi_check_xgrid
    - ompi_check_tm
    - ompi_check_bproc
* Updated a number of components to use configure.m4 instead of
  configure.stub
    - btl portals
    - io romio
    - tm ras and pls
    - bjs, lsf_bproc ras and bproc_seed pls
    - xgrid ras and pls
    - null iof (used by tm) 

This commit was SVN r6412.
2005-07-09 18:52:53 +00:00
Jeff Squyres
ba99409628 Major simplifications to component versioning:
- After long discussions and ruminations on how we run components in
  LAM/MPI, made the decision that, by default, all components included
  in Open MPI will use the version number of their parent project
  (i.e., OMPI or ORTE).  They are certaint free to use a different
  number, but this simplification makes the common cases easy:
  - components are only released when the parent project is released
  - it is easy (trivial?) to distinguish which version component goes
    with with version of the parent project
- removed all autogen/configure code for templating the version .h
  file in components
- made all ORTE components use ORTE_*_VERSION for version numbers
- made all OMPI components use OMPI_*_VERSION for version numbers
- removed all VERSION files from components
- configure now displays OPAL, ORTE, and OMPI version numbers
- ditto for ompi_info
- right now, faking it -- OPAL and ORTE and OMPI will always have the
  same version number (i.e., they all come from the same top-level
  VERSION file).  But this paves the way for the Great Configure
  Reorganization, where, among other things, each project will have
  its own version number.

So all in all, we went from a boatload of version numbers to
[effectively] three.  That's pretty good.  :-)

This commit was SVN r6344.
2005-07-04 20:12:36 +00:00
Jeff Squyres
6a9c9953bc Remove a bunch of -I's that are no longer necessary with
properly-prefixed static-component.h files.

This commit was SVN r6342.
2005-07-04 18:24:58 +00:00
Brian Barrett
170ef8af1f * rename ompi_show_help to opal_show_help
* rename ompi_stacktrace to opal_stacktrace
* rename ompi_strncpy to opal_strncpy

This commit was SVN r6336.
2005-07-04 02:38:44 +00:00
Jeff Squyres
35c141aef6 While we're moving directories around, move ompi/mpi/runtime ->
ompi/runtime, for consistency and parallel-ness will orte/runtime.
Also remove a few useless #includes along the way.

This commit was SVN r6317.
2005-07-03 12:07:29 +00:00
Brian Barrett
e984f48ad9 * add missing Makefile to configure output
* Fix MPI profiling layer symlink code from src -> ompi
* Change some modex includes

This commit was SVN r6309.
2005-07-02 17:32:01 +00:00
Brian Barrett
8077da277b * move ompi_rb_tree from opal to ompi since it's only used in ompi, and should
have the ompi_free_list instead of the opal_free_list
* Change orte to use opal_free_list instead of ompi_free_list

This commit was SVN r6307.
2005-07-02 16:46:27 +00:00
Brian Barrett
aa14a515e5 * move allocator and mpool to ompi
This commit was SVN r6294.
2005-07-02 15:40:49 +00:00
Brian Barrett
4a604c92d8 * add some more missing Makefiles
This commit was SVN r6284.
2005-07-02 14:44:41 +00:00
Brian Barrett
0c16b5419e * first cut at autogen.sh / configure for new directory structure
* fix some broken makefile.ams

This commit was SVN r6277.
2005-07-02 14:29:45 +00:00
Galen Shipman
2e9bbda826 Intial checkin of bmi to btl renaming. This breaks the build but is necessary
so that I can next rename all the files under mca/btl using "svn mv" which is
not possible until after the initial "svn mv bmi btl" is checked in. 

This commit was SVN r6220.
2005-06-30 02:02:57 +00:00
Brian Barrett
7067f4753f A bunch of fixes from trying to get running on Solaris and Linux PPC64
* If we are on solaris, don't use the system qsort(), as it appears to be 
  broken in 64 bit mode on Solaris 8 (there are bugs about this in 
  SunSolve).  Instead, use ompi_qsort(), which is taken from FreeBSD.
  A #define in ompi_config_bottom.h makes this invisible to most of the
  OMPI source tree.
* Fix memory badness in ompi_progress_register where we were reallocing the 
  array to be number of elements long instead of number of elements * 
  sizeof(element).  Found while using bcheck to track down our problems in
  64 bit on big endian machines.
* The debugging output code in session_dir.c could pass NULL as a value for a %s,
  which will turn into "(null)" automagically on glibc, but causes segfaults for
  older libcs (like those on Solaris).  Check for this case in session_dir.c and
  don't pass NULL as a %s value into ompi_output().
* Fix missing header file in convertor.c

This commit was SVN r6186.
2005-06-26 23:11:37 +00:00
Jeff Squyres
c6f812ec7f Changes from Craig Rasmussen:
I'm contributing patches for configure.ac and f90_check_type.m4.
The problem was that f90_check_type returned an exit code
and not all compilers actually do this.  The fix tries to compile the
type and fails if it can't.  The problem is that some compilers will
happily return a default kind if the particular kind is not supported.
So the real test is whether the size of the datatype is as expected.

This commit was SVN r6101.
2005-06-20 18:19:23 +00:00
Jeff Squyres
346921e9e7 Add Makefile.am (and related support) for dynamic builds of bmi
components.

This commit was SVN r5908.
2005-06-01 09:31:08 +00:00
Tim Woodall
37b43eaccf small checkin :-)
- remove any ptl dependancy from mpi/pml interface
- beginings of a new pml
- new Bit Mover Interface (BMI) framework

This commit was SVN r5834.
2005-05-23 22:06:50 +00:00
Jeff Squyres
f28095e632 Bunches of fixes for Fortran support:
- Fully support REAL*N, INTEGER*N, and COMPLEX*N in the MPI_Op
  reduction operations.
- Update ddt to fully support these types as well, to include using
  the results of sizes and alignments determined by configure
- Discover the goodness of m4 and consolidate a LOT of configure code
  (i.e., remove a lot of essentially duplicated code and
  m4-subroutine-ize it).  The big kicker was figuring out how to
  parameterize AC_DEFINE_UNQUOTED, which you can do if you use m4
  properly.
- If we don't support a given INTEGER*N, REAL*N, or COMPLEX*N, don't
  error.  Just set the right flags so that we don't support them in
  the MPI layer.

This commit was SVN r5788.
2005-05-19 23:56:02 +00:00
Ralph Castain
fdfe457578 Bring in the remote launch changes. This still isn't fully functional, but impacted a few other places that were worth fixing.
1. Added a new function to launch head node processes on remote nodes.

2. Added new tool "orteprobe" that checks to see if a daemon is running on a node. If so, it reports the contact info back to the requestor. If not, it will (eventually - but not now) fork/exec a daemon on the node, report the contact info back to requestor, and then die.

3. Modified orted to handle universe name parameters, and added separate command line flags for debugging the daemon and saving daemon debugging output in a file. The "debug" flag now turns on the runtime debug info instead of the daemon debug - thus, you can now just get daemon debug info if you like.

4. Fix the dps to handle zero length strings correctly.

5. Modify the fork and rsh launchers to pass required environmental variables to the daemons and processes

6. Pulled the redirection of stdin/stdout/stderr for the daemon out of orted and put it into the daemon_init function to simplify orted logic.

7. Modified sys_info to correctly deal with passed mca param

8. Modified univ_info to parse incoming universe location information.

This commit was SVN r5705.
2005-05-12 21:44:23 +00:00
Jeff Squyres
a963aebfdb Fix the check for socklen_t.
This commit was SVN r5691.
2005-05-12 01:42:24 +00:00
Jeff Squyres
2dbcf1a1e5 Fix issue raised by Rainer: if we don't find a corresponding C type
for an optional fortran type, it's not an error.  Instead, just
disable support for that fortran optional type.

This commit was SVN r5680.
2005-05-10 23:57:37 +00:00
Jeff Squyres
f374559d14 Add a proper test for socklen_t
This commit was SVN r5662.
2005-05-10 11:25:22 +00:00
Rainer Keller
e06f0723a8 configure.ac:
- Check for icc-8.1 segfaulting with varargs.
  - Add check for size of REAL*4,8,16 types and purge,
    if smaller
  - Fix configure-output with regard to checking for c-types 
    for the REAL*-types.

This commit was SVN r5661.
2005-05-10 09:09:04 +00:00
Rainer Keller
164e8caa5e If the F77 datatype (like INTEGER*1) is supposed to be available, check
for the size. If it does not fit, purge from the list, i.e. reset all
values to zero.

Fixes pgf90 problem, which silently accepts INTEGER*16, but internally
using INTEGER...

This commit was SVN r5594.
2005-05-04 18:37:32 +00:00
Jeff Squyres
bcd4797389 Commit 4 of 4 for bringing the changes over from the hetero branch.
Merged in from:

svn merge -r5506:5553 https://svn.open-mpi.org/svn/ompi/tmp/hetero .

This commit was SVN r5552.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r5506
  r5553
2005-05-01 00:58:06 +00:00
Jeff Squyres
aa70022dc2 Commit 2 of 4 for bringing the changes over from the hetero branch.
Merged in from:

svn merge -r5448:5496 https://svn.open-mpi.org/svn/ompi/tmp/hetero .

This commit was SVN r5550.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r5448
  r5496
2005-05-01 00:53:00 +00:00
Jeff Squyres
462adee81a Commit 1 of 4 to bring in the hetero branch to the trunk. Merged in
from:

svn merge -r5440:5448 https://svn.open-mpi.org/svn/ompi/tmp/hetero .

This commit was SVN r5549.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r5440
  r5448
2005-05-01 00:47:35 +00:00
Jeff Squyres
fe2522f315 A bunch of changes to support MPI_INTEGER*x, MPI_REAL*x,
MPI_COMPLEX*x, and some optional C datatypes in MPI reduction
operations.  These types are not technically supported by the letter
of the MPI standard, but are implied by the spirit of it (and there
are definitely users that use them in real applications)

- Add checks in configure for back-end C types for MPI_INTEGER*x and
  MPI_REAL*x
- Create C data structs for MPI_COMPLEX*x
- Fixed typo for MPI_INTEGER8 in mpi.h
- Updated configure macros to create MPI_FORTRAN_INTEGER* defines, as
  opposed to MPI_FORTRAN_INT, which was causing [me] lots of confusion
  (between C "*_INT" names and Fortran "*_INT" names).  This caused
  some trivial updates in ddt, ompi_info, and the MPI layer to match.
- Update ompi_info to show whether we have each MPI_INTEGER*x,
  MPI_REAL*x, and MPI_COMPLEX*x
- Extended reduction operations for optional datatypes:
  - "C integer" now includes long long int, long long, and unsigned
    long long
  - "Fortran integer" now includes MPI_INTEGER*x
  - "Floating point" now includes MPI_REAL*x
  - "Complex" now includes MPI_COMPLEX*x

This commit was SVN r5511.
2005-04-27 10:23:06 +00:00
Brian Barrett
0964152893 clean up the OMPI_BUILDING #define. Rather than being defined to 1 if
we are part of the source tree and not defined otherwise, we are going
with an always defined if ompi_config.h is included policy.  If
ompi_config.h is included before mpi.h or before OMPI_BUILDING is set,
it will set OMPI_BUILDING to 1 and enable all the internal code that
is in ompi_config_bottom.h.  Otherwise, it will only include the
system configuration data (enough for defining the C and C++ interfaces
to MPI, but not perturbing the user environment).

This should fix the problems with bool and the like that the Eclipse
folks were seeing.  It also cleans up some build system hacks that
we had along the way.

Also, don't use int64_t as the default size of MPI_Offset, because it
requires us including stdint.h in mpi.h, which is something we really
shouldn't be doing.

And finally, fix a ROMIO Makefile that didn't set -DOMPI_BUILDING=1,
as ROMIO includes mpi.h, but not ompi_config.h

This commit was SVN r5430.
2005-04-19 03:51:20 +00:00
Prabhanjan Kambadur
ddead64bcf 1. Moving WRAPPER_*_FLAGS initialization to configure.ac instead of
having it in config/ompi_setup_cxx.m4
2. Adding --enable-coverage option. This will add teh flags -ftest-coverage
   and -fprofile-arcs to the flags. Also, one needs to compile with 
   debug and static only to enable code coverage
3. Adding the coverage flag options to WRAPPER_*_FLAGS so that mpicc and co.,
   will add these to teh executables when they are compiled

This commit was SVN r5416.
2005-04-18 16:38:27 +00:00
Brian Barrett
e3587652b7 * Add support for using ptys for stdout when doing I/O forwarding. This is
enough to make use applications be line buffered instead of block buffered,
  which makes output come much faster :)

This commit was SVN r5400.
2005-04-15 21:18:20 +00:00
Jeff Squyres
87fce5c2a6 Bunches of things with respect to F90, mainly resulting from work on
Monday with Craig:
- split two f90 modules into two separate .f90 files so that
  dependencies can be satisfied properly in parallel builds (i.e.,
  mpi_kinds.f90 can be compiled and its f90 module can be generated
  before any others are compiled, because it is needed by all of the
  other f90 source files).
- rename mpi.i.h* to be mpi-f90-interfaces.h, just to be a little more
  clear and less name-confusing with mpi.h and mpif.h
- update the build process in src/mpi/f90, including printing out a
  warning that compiling mpi.f90 may take quite a while :-\
- update the wrapper compilers to add in the Right Things for
  compiling F90 MPI applications
- add a check in configure to find what flag the F90 compiler uses to
  identify where f90 module files live

This commit was SVN r5297.
2005-04-13 11:54:36 +00:00
Jeff Squyres
f878bcfc39 Add missing f90 logical types
This commit was SVN r5267.
2005-04-12 10:14:28 +00:00
Jeff Squyres
33dbd9585d Put the OMPI major, minor, release, alpha, and beta integers back in
mpi.h (actually in ompi_config.h).  Also put the total version string
back.

This commit was SVN r5222.
2005-04-08 10:17:25 +00:00
Thara Angskun
12b2a3f56d - include <fcntl.h>: Several variables used by fcntl define in this file.
- check if we have member si_fd in siginfo_t before use it.

This commit was SVN r5192.
2005-04-06 05:32:11 +00:00
Thara Angskun
eea0e4dbfb The src/threads/condition.h should also explicit include <time.h> because
in some OS (e.g. AIX) the struct timespec is define in <time.h> and the <sys/time.h>
is not include <time.h>

This commit was SVN r5181.
2005-04-05 18:56:32 +00:00
Jeff Squyres
447201de15 Bunches of cleanup in dps:
- remove all tabs from source code (replace with spaces)
- use size of size_t and int to determine some equivalent ORTE types
  in a header file so that it's always done consistently (at compile
  time)
- be consistent about using size_t for number of elements that are
  packed
- don't assume that size_t is uint32_t (it is uint64_t on some
  platforms)
- simplify some logic
- implement packing/unpacking for INT64 and UINT64 (so that we can do
  size_t on platforms where it's 64 bits)

This commit was SVN r5172.
2005-04-05 02:32:36 +00:00
Brian Barrett
453b449596 * move sparc64 directory to sparcv9, which is slightly more descriptive
of what is in there.  Closes bug 1167 

This commit was SVN r5153.
2005-04-04 14:23:35 +00:00
Brian Barrett
4dc864c2a4 Some fixes to help Solaris (and others, I'm sure) compile:
- the dirent.dt_type field is non-portable.  Use stat() if there isn't
    a dt_type field in the dirent struct
  - Make sure -laio is added to LIBS in the romio component configure
    script so that static builds don't result in missing symbols
  - Add missing header file for the signal constants in pls_fork_module

This commit was SVN r5152.
2005-04-04 14:19:34 +00:00
Ralph Castain
9cbb698ada Begin to add unit tests for the API layer on ras and rmaps.
Fix a compiler warning on dump.

This commit was SVN r5138.
2005-04-01 20:17:49 +00:00