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

358 Коммитов

Автор SHA1 Сообщение Дата
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
47285fe221 Have ompi_info output a better error message when a requested framework cannot be found, either because it doesn't exist or support wasn't configured into OMPI.
This commit was SVN r22030.
2009-09-29 13:56:14 +00:00
Ralph Castain
5673b230d7 Update ompi_info to support new sensor, fddp, and rmcast frameworks if OMPI was configured to include them
This commit was SVN r22029.
2009-09-29 13:14:39 +00:00
Ralph Castain
3acdb53494 Ensure the wrapper compilers detect and respect OPAL_PREFIX
This commit was SVN r21953.
2009-09-09 05:20:02 +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
George Bosilca
b3ae54fb46 As some of our components do not play nicely with the open/close functionality
in the case of errors, close the opened components if and only if the whole
opening process complete succesfully.

This commit was SVN r21752.
2009-08-03 16:44:12 +00:00
Jeff Squyres
bff6a1be93 Gah! "vis", not "visi"
This commit was SVN r21741.
2009-07-29 14:22:46 +00:00
Jeff Squyres
3b9ca5a084 Reduce the label name so that it's not longer than 24 chars
This commit was SVN r21740.
2009-07-29 14:19:44 +00:00
George Bosilca
3e971e61f3 The system headers are supposed to be protected by #ifdef and not by #if.
This commit was SVN r21700.
2009-07-16 18:27:33 +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
George Bosilca
90d719125c If the file interface is disabled don't try to print
a string as an int.

This commit was SVN r21609.
2009-07-07 15:28:34 +00:00
Ralph Castain
1408559645 Weird - restore Shiqing's typecast fixes. No idea how they got reverted in that last commit
This commit was SVN r21573.
2009-07-01 13:26:07 +00:00
Ralph Castain
de90bd8285 Add missing include file so that Absoft compile tests will pass
This commit was SVN r21572.
2009-07-01 13:19:06 +00:00
Shiqing Fan
da6c7e4518 Just two type casts for Windows.
This commit was SVN r21571.
2009-07-01 09:06:59 +00:00
Ralph Castain
e72346bf9d Cleanup a define to separate it from the info.h file
This commit was SVN r21569.
2009-06-30 22:56:25 +00:00
Ralph Castain
9e524a41cf Re-implement ompi_info in C, replacing the prior C++ code. This removes the last C++ code from the OMPI code base, thus relieving the requirement for C++ support unless the user requests the C++ bindings.
Jeff will update the build system later to remove the C++ checks per the above caveat.

This commit was SVN r21568.
2009-06-30 21:41:28 +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
Jeff Squyres
2f810a1e5e Fix a compiler warning and do some slightly-smarter unsigned int
checks.

This commit was SVN r21341.
2009-06-01 14:12:46 +00:00
Jeff Squyres
055b50213b A slightly better way to fix the problem noted in r21137.
This commit was SVN r21339.

The following SVN revision numbers were found above:
  r21137 --> open-mpi/ompi@f6da7d86a2
2009-06-01 13:58:37 +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
Jeff Squyres
07c7a7a255 Make ompi_info behave a bit better if STL decides not to play with 0
length string constructors.  Print a developer warning if we have a
too-long field (in developer builds only).

This commit was SVN r21315.
2009-05-28 16:15:06 +00:00
Jeff Squyres
590fbcff6c Shorten the labels so that we don't throw C++ exceptions for 0-length
strings (true fix for that coming after this).  Also rename so that
its names that MPI users will care about.

This commit was SVN r21314.
2009-05-28 15:51:46 +00:00
Jeff Squyres
97fa83d24f Fix a compiler warning: string::size_type is unsigned, so checking for
>=0 is meaniningless.

This commit was SVN r21313.
2009-05-28 15:44:11 +00:00
Rainer Keller
51e2b5dcef - Make the maximum length user strings configurable... Namely
MPI_MAX_PROCESSOR_NAME
      MPI_MAX_ERROR_STRING
      MPI_MAX_OBJECT_NAME
      MPI_MAX_INFO_KEY
      MPI_MAX_INFO_VAL
      MPI_MAX_PORT_NAME
      MPI_MAX_DATAREP_STRING

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

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

This commit was SVN r21292.
2009-05-27 12:54:40 +00:00
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
Shiqing Fan
537b8cd8b1 Get rid of improper use of SET_SOURCE_FILES_PROPERTIES. When using the latest CMake (2.6 patch 4), we get many errors, which didn't show in previous version.
This commit was SVN r21188.
2009-05-07 17:41:05 +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
Ralph Castain
4be24521aa Modify the orte_process_info structure to handle a broader range of process types by replacing the individual booleans with a 32-bit bitmap. Use a set of #define's to define the individual bits, and a set of matching macros to test for them. Update the orte code base to use the macros instead of the booleans.
Minor mod to the ompi layer to use the new #define's - just one-line name replacements.

This commit was SVN r21144.
2009-05-04 11:07:40 +00:00
Rainer Keller
be008f2215 - In case of OPAL_ENABLE_FT == 1, we need to
#include "opal/runtime/opal_cr.h"

   Thanks to Caciano Machado for reporting.

This commit was SVN r21101.
2009-04-29 06:57:49 +00:00
Rainer Keller
221fb9dbca ... Delayed due to notifier commits earlier this day ...
- Delete unnecessary header files using
   contrib/check_unnecessary_headers.sh after applying
   patches, that include headers, being "lost" due to
   inclusion in one of the now deleted headers...

   In total 817 files are touched.
   In ompi/mpi/c/ header files are moved up into the actual c-file,
   where necessary (these are the only additional #include),
   otherwise it is only deletions of #include (apart from the above
   additions required due to notifier...)

 - To get different MCAs (OpenIB, TM, ALPS), an earlier version was
   successfully compiled (yesterday) on:
   Linux locally using intel-11, gcc-4.3.2 and gcc-SVN + warnings enabled
   Smoky cluster (x86-64 running Linux) using PGI-8.0.2 + warnings enabled
   Lens cluster (x86-64 running Linux) using Pathscale-3.2 + warnings enabled

This commit was SVN r21096.
2009-04-29 01:32:14 +00:00
Rainer Keller
6c1cce8761 - For the upcoming header cleanup commit,
several header files (previously included by header-files)
   now have to be moved "upward".
   This is mainly system headers such as string.h, stdio.h and for
   networking, but also some orte headers.

This commit was SVN r21095.
2009-04-29 00:49:23 +00:00
Shiqing Fan
3d4e0472d6 Add windows support files into the tarball, including .windows, CMakeLists.txt files, and CMake modules. Thanks to Jeff for testing it on Linux.
This commit was SVN r21069.
2009-04-24 16:39:33 +00:00
Shiqing Fan
0037f55424 Correctly set the compile flags of 'mpicc' for static version.
This commit was SVN r21055.
2009-04-22 13:17:25 +00:00
Ralph Castain
547fd635d1 Update the Makefile for ortetools so the trunk can compile
This commit was SVN r20943.
2009-04-06 14:04:00 +00:00
Terry Dontje
4b43911c6a Remove superfluous spaces in manpages that were causing catman to
generate mangled windex files.  Made ompi-top.1 and ompi-iof.1 build
by default.  Also, added the orte-top synonym to the ompi-top manpage.

This commit was SVN r20915.
2009-04-01 14:40:27 +00:00
Shiqing Fan
8bb6bb97a4 Make the compiler wrapper find the correct version of libraries, i.e. debug or release version based on build type.
This commit was SVN r20852.
2009-03-24 10:42:37 +00:00
Shiqing Fan
22b5c536af Clean up some unnecessary compiler flags.
This commit was SVN r20827.
2009-03-18 16:55:34 +00:00
Rainer Keller
d8cf4c0fec - Get pgcc on XT to complain less:
In case we use memcmp, strlen, strup and friends include <string.h>
   Also several constants.h are not included directly
 - Let's have mca_topo_base_cart_create  return ompi-errors in
   ompi/mca/topo/base/topo_base_cart_create.c

This commit was SVN r20773.
2009-03-13 02:10:32 +00:00
Rainer Keller
ec0ed48718 - Revert r20739
This commit was SVN r20742.

The following SVN revision numbers were found above:
  r20739 --> open-mpi/ompi@781caee0b6
2009-03-05 21:56:03 +00:00
Rainer Keller
a94438343b - Revert r20740
This commit was SVN r20741.

The following SVN revision numbers were found above:
  r20740 --> open-mpi/ompi@2a70618a77
2009-03-05 21:50:47 +00:00
Rainer Keller
2a70618a77 - Second patch, as discussed in Louisville.
Replace short macros in orte/util/name_fns.h
   to the actual fct. call.

 - Compiles on linux/x86-64

This commit was SVN r20740.
2009-03-05 21:14:18 +00:00
Rainer Keller
781caee0b6 - First of two or three patches, in orte/util/proc_info.h:
Adapt orte_process_info to orte_proc_info, and
   change orte_proc_info() to orte_proc_info_init().
 - Compiled on linux-x86-64
 - Discussed with Ralph

This commit was SVN r20739.
2009-03-05 20:36:44 +00:00
Shiqing Fan
317db0fe62 Fix up the compiler flags again.
This commit was SVN r20702.
2009-03-03 17:32:08 +00:00
Jeff Squyres
fd979b2278 Add support for the notifier framework into ompi_info
This commit was SVN r20664.
2009-03-01 01:01:39 +00:00
Rainer Keller
04567d3af0 - Header orte/mca/errmgr/errmgr.h is not needed.
Once again compiles fine with -Wimplicit-function-declaration   

This commit was SVN r20640.
2009-02-26 04:05:30 +00:00
Rainer Keller
96e1b9b747 - Header orte/mca/rml/rml.h is not needed if no occurence of orte_rml
or ORTE_RML.
   As the others compiles fine with -Wimplicit-function-declaration

This commit was SVN r20639.
2009-02-26 03:52:31 +00:00
Shiqing Fan
2326f14be5 Remove the unnecessary PROJECT command, I somehow misunderstood how it should be used on Windows....
This commit was SVN r20634.
2009-02-25 16:07:43 +00:00
Shiqing Fan
aa2804de75 Refresh mpi.h.cmake according to the changes to mpi.h.in.
Add a few compiler flags which were missing.

This commit was SVN r20633.
2009-02-25 12:51:29 +00:00
Rainer Keller
b356e90fa1 - Get rid of include orte/util/proc_info.h, if not needed
Only proc_info.h-internal include file is opal/dss/dss_types.h
 - In one case (orte/util/hnp_contact.c) had to add proc_info.h again.
 - Local compilation (Linux/x86_64) w/ -Wimplicit-function-declaration
   works fine, no errors.

   Again, let's have MTT the last word.

This commit was SVN r20631.
2009-02-25 03:38:00 +00:00
Rainer Keller
d81443cc5a - On the way to get the BTLs split out and lessen dependency on orte:
Often, orte/util/show_help.h is included, although no functionality
   is required -- instead, most often opal_output.h, or               
   orte/mca/rml/rml_types.h                                           
   Please see orte_show_help_replacement.sh commited next.            

 - Local compilation (Linux/x86_64) w/ -Wimplicit-function-declaration
   actually showed two *missing* #include "orte/util/show_help.h"     
   in orte/mca/odls/base/odls_base_default_fns.c and                  
   in orte/tools/orte-top/orte-top.c                                  
   Manually added these.                                              

   Let's have MTT the last word.

This commit was SVN r20557.
2009-02-14 02:26:12 +00:00
Jeff Squyres
4d8a187450 Two major things in this commit:
* New "op" MPI layer framework
 * Addition of the MPI_REDUCE_LOCAL proposed function (for MPI-2.2)

= Op framework =

Add new "op" framework in the ompi layer.  This framework replaces the
hard-coded MPI_Op back-end functions for (MPI_Op, MPI_Datatype) tuples
for pre-defined MPI_Ops, allowing components and modules to provide
the back-end functions.  The intent is that components can be written
to take advantage of hardware acceleration (GPU, FPGA, specialized CPU
instructions, etc.).  Similar to other frameworks, components are
intended to be able to discover at run-time if they can be used, and
if so, elect themselves to be selected (or disqualify themselves from
selection if they cannot run).  If specialized hardware is not
available, there is a default set of functions that will automatically
be used.

This framework is ''not'' used for user-defined MPI_Ops.

The new op framework is similar to the existing coll framework, in
that the final set of function pointers that are used on any given
intrinsic MPI_Op can be a mixed bag of function pointers, potentially
coming from multiple different op modules.  This allows for hardware
that only supports some of the operations, not all of them (e.g., a
GPU that only supports single-precision operations).

All the hard-coded back-end MPI_Op functions for (MPI_Op,
MPI_Datatype) tuples still exist, but unlike coll, they're in the
framework base (vs. being in a separate "basic" component) and are
automatically used if no component is found at runtime that provides a
module with the necessary function pointers.

There is an "example" op component that will hopefully be useful to
those writing meaningful op components.  It is currently
.ompi_ignore'd so that it doesn't impinge on other developers (it's
somewhat chatty in terms of opal_output() so that you can tell when
its functions have been invoked).  See the README file in the example
op component directory.  Developers of new op components are
encouraged to look at the following wiki pages:

  https://svn.open-mpi.org/trac/ompi/wiki/devel/Autogen
  https://svn.open-mpi.org/trac/ompi/wiki/devel/CreateComponent
  https://svn.open-mpi.org/trac/ompi/wiki/devel/CreateFramework

= MPI_REDUCE_LOCAL =

Part of the MPI-2.2 proposal listed here:

    https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/24

is to add a new function named MPI_REDUCE_LOCAL.  It is very easy to
implement, so I added it (also because it makes testing the op
framework pretty easy -- you can do it in serial rather than via
parallel reductions).  There's even a man page!

This commit was SVN r20280.
2009-01-14 23:44:31 +00:00
Jeff Squyres
2ac22db130 Fix CID 724: clean up the return value checking in ompi_info component
opening and closing.

This commit was SVN r20268.
2009-01-14 15:45:38 +00:00
Jeff Squyres
d1c6f3f89a * Fix a truckload of Cisco copyrights to be the same as the rest of
the code base.
 * Fix a few misspellings in other copyrights.

This commit was SVN r20241.
2009-01-11 02:30:00 +00:00
Ralph Castain
9dbcee9110 Increase efficiency for modex-less launch by storing byte objects in the profile file
This commit was SVN r20206.
2009-01-05 21:46:12 +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
Shiqing Fan
a5281f0434 - 1/4 commit for Windows Visual Studio and CCP support:
CMakeLists and .windows files.
  In contribs preconfigured and precompiled parts.

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

This commit was SVN r19948.

The following Trac tickets were found above:
  Ticket 1603 --> https://svn.open-mpi.org/trac/ompi/ticket/1603
2008-11-07 20:37:21 +00:00
Jeff Squyres
fdbb2d01aa Fix the wrapper compiler flags to get the right C++ exceptions flags
(this was missed in #1585).  Also, fix a long-standing problem that
the F90 wrapper compilers were using the F77 wrapper compiler flags.

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

Refs trac:1595.

This commit was SVN r19818.

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

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

This commit was SVN r19805.
2008-10-25 20:54:02 +00:00
Ralph Castain
55738aeabe Very tiny modification of the output when displaying mca param values to clarify that ones found in the environment could have also been set on the cmd line - we don't have a way to distinguish them internally.
This commit was SVN r19636.
2008-09-25 13:08:17 +00:00
Jeff Squyres
797ec531aa Some more work on the man pages:
* Make the creation of the build dir for the man pages a bit more
   robust (thanks to suggestions from Ralf W.).
 * Only distribute the .Xin files, not the .X man pages themselves.
 * Make the .X files depend on opal_config.h so that if you re-run
   configure and change opal_config.h (e.g., a new version), the man
   pages should get rebuilt.
 * Man pages are now cleaned with "distclean", not "maintainer-clean".
 * Fix a typo in opal_crs.7in.
 * Udpate make_dist_tarball to update "date" in the VERSION file.
 * Make make_dist_tarball a bit friendlier to hg checkouts.

This commit was SVN r19219.
2008-08-07 19:20:40 +00:00
Jeff Squyres
b83ee7d82a * Fix a problem with VPATH builds if the destination directory didn't
already exist  
 * s/top_srcdir/top_builddir/ in a bunch of places; left over from the
   previous man page generation system

This commit was SVN r19141.
2008-08-04 15:17:50 +00:00
Jeff Squyres
35f721a706 Suggestion from Ralf W. to clean up sub-make's properly.
This commit was SVN r19136.
2008-08-04 14:35:40 +00:00
Ralph Castain
fdde3de903 Combination of some changes by both Jeff and I. Few minor cleanups to the code (e.g., allow options to show-mca-params to be either case), and an enhancement that allows the user to specify multiple options separated by commas (e.g., "env,api").
This commit was SVN r19124.
2008-08-02 00:43:27 +00:00
Dan Lacher
9175da1e02 Putback for all changes to automate man page updates to strings of
versions, dates and build names.

Fixes trac:1387

Big thanks to Jeff and Brian for help and oversight.

This commit was SVN r19120.

The following Trac tickets were found above:
  Ticket 1387 --> https://svn.open-mpi.org/trac/ompi/ticket/1387
2008-08-01 21:14:37 +00:00
Ralph Castain
164c1ebba7 Ensure output of new source dat is in the parseable output of ompi_info too
This commit was SVN r19112.
2008-07-31 20:35:42 +00:00
Ralph Castain
f7d1c2d229 Extend the mca param display capability to allow independent output of the params based on where they were last set (default, enviro, file, or API), and to out
put the name of the file that set them if they were set by file. This is of great assistance to support personnel trying to understand why a user is having pro
blems.

Coordinated with Jeff.

This commit was SVN r19111.
2008-07-31 20:00:45 +00:00
Jeff Squyres
e28f71f6e6 Have ompi_info also output where the value was set from (default,
environment, file, or API override).

Refs trac:1397

This commit was SVN r18943.

The following Trac tickets were found above:
  Ticket 1397 --> https://svn.open-mpi.org/trac/ompi/ticket/1397
2008-07-18 10:52:21 +00:00
Ralph Castain
0532aeb368 Truly minor memory leak fixes that -might- be picked up by valgrind if someone does "ompi_info -h" or ompi_info encounters a bizarre error
This commit was SVN r18865.
2008-07-10 11:56:41 +00:00
Jeff Squyres
49be4b1e45 Fixes trac:1383
Lenny and I went back and forth on whether we should simply register
another "mpi_paffinity_alone" MCA param and then try to figure out
which one was set in ompi_mpi_init, but there was difficulty in
figuring out what to do.  So it seemed like the Right Thing to do was
to implement what was committed in r18770; then we could tell where
MCA parameters were set from and you could do Better Things (this is
also useful in the openib BTL, where parameters can be set either via
MCA parameter or via an INI file).

But after that was done, it seemed only a few steps further to
actually implement two new features in the MCA params area:

 * Synonyms (where one MCA param name is a synonym for another)
 * Allow MCA params and/or their synonyms to be marked as "deprecated"
   (printing out warnings if they are used)

These features have actually long been discussed/desired, and I had
some time in airports and airplanes recently where I could work in
this stuff on a standalone laptop.  So I did it.  :-)

This commit introduces these two new features, and then uses them to
register mpi_paffinity_alone as a non-deprecated synonym for
opal_paffinity_alone.  A few other random points in this commit:

 * Add a few error checks for conditions that were not checked before
 * Correct some comments in mca_base_params.h
 * Add a few comments in strategic places
 * ompi_info now prints additional information:
   * for any MCA parameter that has synonyms, it lists all the
     synonyms
   * synonyms are also output as 1st-class MCA params, but with an
     additional attribute indicating that they have a "parent"
   * all MCA param name (both "real" or "synonym") will output an
     attribute indicating whether it is deprecated or not.  A synonym
     is deprecated if it iself is marked as deprecated (via the
     mca_base_param_regist_syn() or mca_base_param_register_syn_name()
     functions) or if its "parent" MCA parameter is deprecated

This commit was SVN r18859.

The following SVN revision numbers were found above:
  r18770 --> open-mpi/ompi@8efe67e08c

The following Trac tickets were found above:
  Ticket 1383 --> https://svn.open-mpi.org/trac/ompi/ticket/1383
2008-07-10 01:44:51 +00:00
Pak Lui
d47a6ddd02 Correct some of the info about the options for the man page.
This commit was SVN r18847.
2008-07-09 14:21:08 +00:00
Brian Barrett
ac337114e6 Use ' ' instead of / / for the regex in split() when preparing the different
lists of flags for exec.  ' ' is a magic value that means match all
white space, and trim leading / trailing whitespace.  Will prevent
many spurious arguments to underlying compiler.

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

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

This commit was SVN r18655.
2008-06-13 22:52:25 +00:00
Ralph Castain
9613b3176c Effectively revert the orte_output system and return to direct use of opal_output at all levels. Retain the orte_show_help subsystem to allow aggregation of show_help messages at the HNP.
After much work by Jeff and myself, and quite a lot of discussion, it has become clear that we simply cannot resolve the infinite loops caused by RML-involved subsystems calling orte_output. The original rationale for the change to orte_output has also been reduced by shifting the output of XML-formatted vs human readable messages to an alternative approach.

I have globally replaced the orte_output/ORTE_OUTPUT calls in the code base, as well as the corresponding .h file name. I have test compiled and run this on the various environments within my reach, so hopefully this will prove minimally disruptive.

This commit was SVN r18619.
2008-06-09 14:53:58 +00:00
Ralph Castain
9927b2445c Remove the filter framework - the xml support will have to be provided in a different manner that will be implemented shortly
This commit was SVN r18572.
2008-06-04 09:04:51 +00:00
Ralph Castain
828ae26d90 ORTE-level MCA params are defined in several places. Ompi_info cannot call orte_init due to an issue with the memory allocator, thus making it impossible for ompi_info to display all of the ORTE-level MCA params.
By consolidating them all into one function, ompi_info can call that function and register the desired variables. This also requires, however, that ompi_info call orte_output_init to avoid generating tons of error messages, so make that adjustment too. 

Fixes ticket #1314

In addition, orte_output has a race condition issue whereby calls to orte_output/verbose can occur prior to either the RML being defined/setup, or the HNP being defined. This latter occurs during the initialization of the orte_process_info structure. In both cases, there is no way orte_output can send the output to the HNP. Hence, the message must be simply output locally.

Fixes ticket #1315

This commit was SVN r18524.
2008-05-28 13:29:58 +00:00
Jeff Squyres
c8c01572d0 ompi_info was erroneously not showing all the paths that it supports
(via compiled-in defaults/configure, or via env variables).

This commit was SVN r18456.
2008-05-19 17:44:56 +00:00
Jeff Squyres
1cc663ebf6 Change this back to use opal_init_util() -- using orte_init() mucks
with the C++ memory allocator.  Let's not go there.

This commit was SVN r18447.
2008-05-16 14:18:56 +00:00
Jeff Squyres
fb17097de4 Make ompi_info correctly display "filter" components
This commit was SVN r18435.
2008-05-13 20:56:20 +00:00
Jeff Squyres
e7ecd56bd2 This commit represents a bunch of work on a Mercurial side branch. As
such, the commit message back to the master SVN repository is fairly
long.

= ORTE Job-Level Output Messages =

Add two new interfaces that should be used for all new code throughout
the ORTE and OMPI layers (we already make the search-and-replace on
the existing ORTE / OMPI layers):

 * orte_output(): (and corresponding friends ORTE_OUTPUT,
   orte_output_verbose, etc.)  This function sends the output directly
   to the HNP for processing as part of a job-specific output
   channel.  It supports all the same outputs as opal_output()
   (syslog, file, stdout, stderr), but for stdout/stderr, the output
   is sent to the HNP for processing and output.  More on this below.
 * orte_show_help(): This function is a drop-in-replacement for
   opal_show_help(), with two differences in functionality:
   1. the rendered text help message output is sent to the HNP for
      display (rather than outputting directly into the process' stderr
      stream)
   1. the HNP detects duplicate help messages and does not display them
      (so that you don't see the same error message N times, once from
      each of your N MPI processes); instead, it counts "new" instances
      of the help message and displays a message every ~5 seconds when
      there are new ones ("I got X new copies of the help message...")

opal_show_help and opal_output still exist, but they only output in
the current process.  The intent for the new orte_* functions is that
they can apply job-level intelligence to the output.  As such, we
recommend that all new ORTE and OMPI code use the new orte_*
functions, not thei opal_* functions.

=== New code ===

For ORTE and OMPI programmers, here's what you need to do differently
in new code:

 * Do not include opal/util/show_help.h or opal/util/output.h.
   Instead, include orte/util/output.h (this one header file has
   declarations for both the orte_output() series of functions and
   orte_show_help()).
 * Effectively s/opal_output/orte_output/gi throughout your code.
   Note that orte_output_open() takes a slightly different argument
   list (as a way to pass data to the filtering stream -- see below),
   so you if explicitly call opal_output_open(), you'll need to
   slightly adapt to the new signature of orte_output_open().
 * Literally s/opal_show_help/orte_show_help/.  The function signature
   is identical.

=== Notes ===

 * orte_output'ing to stream 0 will do similar to what
   opal_output'ing did, so leaving a hard-coded "0" as the first
   argument is safe.
 * For systems that do not use ORTE's RML or the HNP, the effect of
   orte_output_* and orte_show_help will be identical to their opal
   counterparts (the additional information passed to
   orte_output_open() will be lost!).  Indeed, the orte_* functions
   simply become trivial wrappers to their opal_* counterparts.  Note
   that we have not tested this; the code is simple but it is quite
   possible that we mucked something up.

= Filter Framework =

Messages sent view the new orte_* functions described above and
messages output via the IOF on the HNP will now optionally be passed
through a new "filter" framework before being output to
stdout/stderr.  The "filter" OPAL MCA framework is intended to allow
preprocessing to messages before they are sent to their final
destinations.  The first component that was written in the filter
framework was to create an XML stream, segregating all the messages
into different XML tags, etc.  This will allow 3rd party tools to read
the stdout/stderr from the HNP and be able to know exactly what each
text message is (e.g., a help message, another OMPI infrastructure
message, stdout from the user process, stderr from the user process,
etc.).

Filtering is not active by default.  Filter components must be
specifically requested, such as:

{{{
$ mpirun --mca filter xml ...
}}}

There can only be one filter component active.

= New MCA Parameters =

The new functionality described above introduces two new MCA
parameters:

 * '''orte_base_help_aggregate''': Defaults to 1 (true), meaning that
   help messages will be aggregated, as described above.  If set to 0,
   all help messages will be displayed, even if they are duplicates
   (i.e., the original behavior).
 * '''orte_base_show_output_recursions''': An MCA parameter to help
   debug one of the known issues, described below.  It is likely that
   this MCA parameter will disappear before v1.3 final.

= Known Issues =

 * The XML filter component is not complete.  The current output from
   this component is preliminary and not real XML.  A bit more work
   needs to be done to configure.m4 search for an appropriate XML
   library/link it in/use it at run time.
 * There are possible recursion loops in the orte_output() and
   orte_show_help() functions -- e.g., if RML send calls orte_output()
   or orte_show_help().  We have some ideas how to fix these, but
   figured that it was ok to commit before feature freeze with known
   issues.  The code currently contains sub-optimal workarounds so
   that this will not be a problem, but it would be good to actually
   solve the problem rather than have hackish workarounds before v1.3 final.

This commit was SVN r18434.
2008-05-13 20:00:55 +00:00
Jeff Squyres
e76d2dd518 This is an internal function; this error won't happen.
This commit was SVN r18406.
2008-05-07 19:00:34 +00:00
Josh Hursey
cc83d41ad9 Merge in tmp/jjh-scratch
{{{
 svn merge -r 18218:18240 https://svn.open-mpi.org/svn/ompi/tmp/jjh-scratch .
}}}

Contains:
 * Primarily a fix for a user reported problem where a cached file descriptor is causing a SIGPIPE on restart.
 * Cleanup some small memory leaks from using mca_base_param_env_var() - Thanks Jeff
 * Cleanup ORTE FT tool compilation in non-FT builds - Thanks Tim P.
 * Cleanup mpi interface with missplaced {{{OPAL_CR_ENTER_LIBRARY}}} - Thanks Terry
 * Some other sundry cleanup items all dealing with C/R functionality in the trunk.

This commit was SVN r18241.
2008-04-23 00:17:12 +00:00
Ralph Castain
7b91f8baff Cleanup and fix bugs in the MPI dynamics section. Modify the dpm API so it properly takes ports instead of process names (as correctly identified by Aurelien). Fix race conditions in the use of ompi-server. Fix incompatibilities between the mpi bindings and the dpm implemenation that could cause segfaults due to uninitialized memory.
Fix the ompi-server -h cmd line option so it actually tells you something!

Add two new testing codes to the orte/test/mpi area: accept and connect.

This commit was SVN r18176.
2008-04-16 14:27:42 +00:00
Ralph Castain
5e6dc24e62 Fix ompi-server so it works with unity routed module - still not working with tree routing.
Cleanup debug flag so it activates debugging on the data server code itself

This commit was SVN r18080.
2008-04-04 19:17:28 +00:00
Aurelien Bouteiller
3d0ed3dfe8 Small typo in manpage.
This commit was SVN r18078.
2008-04-04 01:02:51 +00:00
Jeff Squyres
dee561d29e Per recent off-list discussions about the build system, I have done
some cleanups and standardizations in the various */tools/*/ 
Makefile.am files.  This commit:

 * Somewhat simplify the tool Makefile.am's 
 * Makes the tool Makefile.am's consistent with each other (do similar
   actions in similar ways)
 * Update the tool Makefile.am's to remove old kruft that was required
   by older versions of AM (trunk requires AM >=1.10)

This commit was SVN r17921.
2008-03-22 02:04:05 +00:00
Ralph Castain
b2655ab585 Per Brian's suggestion, remove unnecessary library dependency - libtool automagically picks up the other libraries when we include libmpi
This commit was SVN r17905.
2008-03-21 12:47:04 +00:00
Tim Prins
1b34620d8e Make the default to enable symbol visibility.
Fixes trac:1222

This commit was SVN r17712.

The following Trac tickets were found above:
  Ticket 1222 --> https://svn.open-mpi.org/trac/ompi/ticket/1222
2008-03-05 01:30:32 +00:00
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
Josh Hursey
99144db970 Improve checkpoint/restart support by allowing a checkpoint to progress when the process is *not* in the MPI library. This involves creating a separate thread for polling for a checkpoint request. This thread is active when the MPI process is not in the MPI library, and paused when the MPI process is in the library.
Some MPI C interface files saw some spacing changes to conform to the coding standards of Open MPI.

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

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

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

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

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

This commit was SVN r17516.
2008-02-19 22:15:52 +00:00
Shiqing Fan
92bf2f27f3 Show information of memchecker component.
This commit was SVN r17439.
2008-02-12 23:07:14 +00:00
Shiqing Fan
f5792bbda5 merging the memchecker into trunk.
This commit was SVN r17424.
2008-02-12 08:46:27 +00:00
Sharon Melamed
025b68becf Move the carto framework to the trunk.
This commit was SVN r17177.
2008-01-23 09:20:34 +00:00
Jeff Squyres
3bdb4396dc Fixes trac:740: allow ompi_info to show the mandir.
This commit was SVN r16820.

The following Trac tickets were found above:
  Ticket 740 --> https://svn.open-mpi.org/trac/ompi/ticket/740
2007-12-03 15:35:37 +00:00
Jeff Squyres
cf98657adb * Clean up a little #if logic in MPI_WTICK / MPI_WTIME
* Update MPI_WTICK / MPI_WTIME man pages:
   * Fix C++ declarations
   * Note that we may use better than gettimeofday() on some platforms
 * Add "MPI_WTIME support" ("options:mpi-wtime") flag in ompi_info
   output indicating whether we use "native" or "gettimeofday" for
   MPI_WTIME

This commit was SVN r16774.
2007-11-26 18:23:53 +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
George Bosilca
1299ed433e Don't release the ODLS twice.
This commit was SVN r16430.
2007-10-11 17:30:03 +00:00
Brian Barrett
2b8af283de Add ability to completely turn off MPI one-sided support, so that users
can experiment with using ROMIO directly.

This commit was SVN r15922.
2007-08-18 21:35:51 +00:00
Mohamad Chaarawi
59a7bf8a9f Merging in the Sparse Groups..
This commit includes config changes..

This commit was SVN r15764.
2007-08-04 00:41:26 +00:00
Shiqing Fan
0f468f3668 - Remove the solution and project files, will commit them later.
This commit was SVN r15705.
2007-07-31 17:07:02 +00:00
Shiqing Fan
4d7b349cdb - Add VC8 solution and project files.
- If one wants to use this solution, remember to unload the project 'orte-restart' which is currently not working for Windows.

This commit was SVN r15680.
2007-07-30 11:05:34 +00:00
Ralph Castain
957128b887 Add new orte frameworks
This commit was SVN r15561.
2007-07-23 18:31:02 +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
Jeff Squyres
cdb56d65e2 Due to the recent changes to reduce memory footprint, we need to set
an override here in ompi_info to force the loading of all components.
This is ok because we *only* call opal_init_util() (not orte_init() or
ompi_mpi_init()).

This commit was SVN r15386.
2007-07-12 15:23:49 +00:00
Jeff Squyres
c796d84d61 * Integrate man pages contributed by Dirk Eddelbuettel
* Make orted.1 man page be non-descriptive because it's really an
   internal command.
 * Re-work the opal_wrapper man page logic a bit so that we can have a
   real opal_wrapper.1 installed that says "don't look here -- look at
   mpicc (etc.)"

This commit was SVN r15264.
2007-07-02 15:27:39 +00:00
Jeff Squyres
b7a1778f93 * Add man page for ompi_info, originally contributed by Dirk
Eddelbuettel, one of the Debian/GNU Linux maintainers of the Open MPI
   package.  
 * Updated the contributed man page with some examples and
   updated option descriptions, and other small things.
 * Made the --hostname option work again.
 * Made the --version option work like it's supposed to.
 * Updated help strings that are displayed via --help to be a bit more
   descriptive in the parameters that various options accept.

This commit was SVN r15260.
2007-07-02 06:12:02 +00:00
Jeff Squyres
4bf964eb3f Fix issue found by Josh England: ompi_info deliberately clears
environment variables corresopnding to framework MCA parameters so
that the opal MCA base loads '''all''' components (not just the ones
specified in the environment variables).  This has the side-effect of
not showing the user's value when displaying the framework MCA
parameters via --param output.  For example:

{{{
shell% setenv OMPI_MCA_btl foo
shell% ompi_info --param btl base
}}}

The above sequence would show a "<none>" value for the "btl" parameter
instead of "foo".

This commit restores the environment after we munge it to make the
loader load all components.  Hence, the above command sequence will
show "foo" for the "btl" parameter value, not "<none>".

This commit was SVN r14771.
2007-05-24 21:30:38 +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
401a072888 Revert r14435 -- it breaks compiling on Linux with at least the PGI
compiler suite.  The rule is that ompi_info.h is supposed to be the
''first'' file included so that it can affect system header files if
necessary (and it is sometimes necessary, such as with the PGI
compiler suite).

If this breaks VC on Windows, we'll have to find another fix.  More on
the mailing list...

This commit was SVN r14453.

The following SVN revision numbers were found above:
  r14435 --> open-mpi/ompi@a20b43ace9
2007-04-21 00:51:31 +00:00
Jeff Squyres
5bebd24250 Bring over Brian's installdirs fixes from this afternoon (r14445).
This commit was SVN r14450.

The following SVN revision numbers were found above:
  r14445 --> open-mpi/ompi@13d366b827
2007-04-21 00:16:31 +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
40f4b60a2a Use #ifdef, not #if
This commit was SVN r14439.
2007-04-20 14:26:20 +00:00
Shiqing Fan
a20b43ace9 The header file ompi_config.h should be included in ompi_info.h file but not in the .cc files. This make it could be compiled with VC compiler, and it works no difference under linux systems.
This commit was SVN r14435.
2007-04-20 09:03:16 +00:00
Rainer Keller
249abd29c2 - Mark some deprecated functions (two still commented) and fix to
not use opal_cmd_line_make_opt anymore.

This commit was SVN r14072.
2007-03-20 10:08:58 +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
George Bosilca
f9a3bbfd7a Don't miss the ODLS component from the output.
This commit was SVN r13299.
2007-01-25 08:37:36 +00:00
Brian Barrett
4e157380bf Heterogeneous support changes:
* Add line about heterogeneous support to ompi_info output
  * Print warning and abort if heterogeneous detected and 
    no heterogeneous support available.

Refs trac:587

This commit was SVN r12943.

The following Trac tickets were found above:
  Ticket 587 --> https://svn.open-mpi.org/trac/ompi/ticket/587
2006-12-30 17:13:18 +00:00
Brian Barrett
6f8b366acb Rename liborte to libopen-rte and libopal to libopen-pal per telecon today
and bug #632.

Refs trac:632

This commit was SVN r12762.

The following Trac tickets were found above:
  Ticket 632 --> https://svn.open-mpi.org/trac/ompi/ticket/632
2006-12-05 18:27:24 +00:00
Galen Shipman
4e857f0384 add odls framework to ompi_info
This commit was SVN r12699.
2006-11-29 16:24:49 +00:00
Brian Barrett
37fad860b7 Grrr... Forgot that EXTRA_DIST and man_MANS are not set to include all the
possible things contained in the conditional like other rules are (for
example, a SOURCES rule in a conditional automatically has its files
added to the dist rules, even if that conditional isn't tru when
make dist occurs).  So the man files weren't in the tarball.

Put the EXTRA_DIST with the files explicitly listed outside any conditionals
so the man pages always end up in the tarball.

This commit was SVN r12220.
2006-10-20 14:15:38 +00:00
George Bosilca
06563b5dec Last set of explicit conversions. We are now close to the zero warnings on
all platforms. The only exceptions (and I will not deal with them
anytime soon) are on Windows:
- the write functions which require the length to be an int when it's
  a size_t on all UNIX variants.
- all iovec manipulation functions where the iov_len is again an int
  when it's a size_t on most of the UNIXes.
As these only happens on Windows, so I think we're set for now :)

This commit was SVN r12215.
2006-10-20 03:57:44 +00:00
Brian Barrett
204f5b8f52 - Clean up wrapper compiler man pages during maintainer-clean, since
they might require special tools (not sure if sed with multiple -e
    arguments is totally portable)
  - ignore the opalcc.1 man page.  Couldn't do this in the previous
    man page commit (r12192) because I was removing opalcc.1 in that
    commit.

This commit was SVN r12194.

The following SVN revision numbers were found above:
  r12192 --> open-mpi/ompi@581a4b0a4e
2006-10-19 20:14:40 +00:00
Brian Barrett
581a4b0a4e A few cleanups to the wrapper compiler build system / man pages:
- Only install opal{cc,c++} and orte{cc,c++} if configured with
     --with-devel-headers.  Right now, they are always installed, but 
    there are no header files installed for either project, so there's
    really not much way for a user to actually compile an OPAL / ORTE
    application.

  - Drop support for opalCC and orteCC.  It's a pain to setup all the 
    symlinks (indeed, they are currently done wrong for opalCC) and 
    there's no history like there is for mpiCC.

  - Change what is currently opalcc.1 to opal_wrapper.1 and add some
    macros that get sed'ed so that the man pages appear to be 
    customized for the given command.  

  - Install the wrapper data files even if we compiled with 
    --disable-binaries.  This is for the use case of doing multi-lib
    builds, where one word size will only have the library built, but 
    we need both set of wrapper data files to piece together to 
    activate the multi-lib support in the wrapper compilers.

This commit was SVN r12192.
2006-10-19 18:34:17 +00:00
Brian Barrett
9adde4f7b8 Allow multilib capability based on compiler flags. See:
https://svn.open-mpi.org/trac/ompi/wiki/compilerwrapper3264
for more information.

Refs trac:374

This commit was SVN r12120.

The following Trac tickets were found above:
  Ticket 374 --> https://svn.open-mpi.org/trac/ompi/ticket/374
2006-10-15 21:21:08 +00:00
George Bosilca
5fb0c63959 Keep the ompi_config.h in the begining of the include list. This fixes
the #365. I found another way around on Windows.

This commit was SVN r11989.
2006-10-05 05:02:27 +00:00
Dan Lacher
ba0389723e Ticket: #346
remove requirements on .la files on wrapper scripts

Ticket: #374
  extend compilers to support 32 bit and 64 bit in one version of the wrapper

Submitted by: Dan Lacher
Reviewed by: Rolf Vandevaart

This commit was SVN r11908.
2006-09-29 23:58:58 +00:00
Jeff Squyres
785a2e1c90 Move the man page installs to install-data-hook. Putting them in
install-exec-hook is not only wrong, it can cause ordering issues such
as trying to put sym links to man pages in directories that do not yet
exist.

This commit was SVN r11893.
2006-09-29 14:34:39 +00:00
Jeff Squyres
c5cc1f0c1a Add man page for wrapper compilers.
Fixes trac:358.

This commit was SVN r11773.

The following Trac tickets were found above:
  Ticket 358 --> https://svn.open-mpi.org/trac/ompi/ticket/358
2006-09-25 14:11:21 +00:00
Jeff Squyres
8226dab86c Fixes trac:377
Add --enable-orterun-prefix-by-default (and a synonym:
--enable-mpirun-prefix-by-default) to make orterun always behave as if
"--prefix $prefix" was given on the command line (where $prefix is the
value given to the --prefix option to configure).  This prevents many
rsh/ssh users from needing to modify their shell startup files to set
the LD_LIBRARY_PATH for Open MPI (they will still need to set PATH or
otherwise find the OMPI executables to mpicc/mpirun/etc. their MPI
applications).

Also added --noprefix option to orterun to disable this behavior.
Finally, note that even if --enable-orterun-prefix-by-default is
specified, if the user specifies --prefix or /path/to/mpirun, these
options will override the default value of the prefix ($prefix).

This commit was SVN r11669.

The following Trac tickets were found above:
  Ticket 377 --> https://svn.open-mpi.org/trac/ompi/ticket/377
2006-09-15 02:52:08 +00:00
Ralph Castain
37dfdb76eb Here is the major MAD-cure commit. I have written plenty about it, so I refer you here to those messages for a description of everything that was done.
This commit was SVN r11661.
2006-09-14 21:29:51 +00:00
Sven Stork
09e0d9d0d9 - revert commit 11632
- Real fix for pgi compilers and missing asprintf declaration.
  The problem was that C++ headers has been included before "ompi_config.h".
  This lead to the problem that "stdio.h" has been source without _GNU_SOURCE.

This commit was SVN r11649.
2006-09-14 08:10:02 +00:00
Sven Stork
0fd414b8e3 - use opal version, will satisfy some pgi compilers
This commit was SVN r11632.
2006-09-13 14:30:54 +00:00
Brian Barrett
c8f3ff71b1 Install Fortran 77 bindings as a stand-alone library, rather than as part of
libmpi.

Refs trac:248

This commit was SVN r11563.

The following Trac tickets were found above:
  Ticket 248 --> https://svn.open-mpi.org/trac/ompi/ticket/248
2006-09-08 01:35:49 +00:00
George Bosilca
b645dbdf10 First load the C++ header files.
This commit was SVN r11438.
2006-08-27 04:49:48 +00:00
George Bosilca
3f0a7cad9e The last patch for Windows support. Mostly casting and conversion to C++ friendly headers.
This commit was SVN r11400.
2006-08-24 16:38:08 +00:00
George Bosilca
b621313653 Remove all references to the removed files.
This commit was SVN r11344.
2006-08-23 02:18: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
6b00c8ed99 * add listing of which backtrace component got compiled in
This commit was SVN r11025.
2006-07-27 03:48:12 +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
Brian Barrett
47725c9b02 * Add new PML (CM) and network drivers (MTL) for high speed
interconnects that provide matching logic in the library.
  Currently includes support for MX and some support for
  Portals
* Fix overuse of proc_pml pointer on the ompi_proc structuer, 
  splitting into proc_pml for pml data and proc_bml for
  the BML endpoint data
* bug fixes in bsend init code, which wasn't being used by
  the OB1 or DR PMLs...

This commit was SVN r10642.
2006-07-04 01:20:20 +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
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
Jeff Squyres
a553c3444a This has bugged me for a long time: make the "want libltdl" output
like the rest of the output (i.e., "yes" / "no" vs. "1" / "0").

This commit was SVN r10039.
2006-05-24 10:56:47 +00:00
Brian Barrett
52369307f8 Add a feature to the build system that Terry from Sun and I talked about
in San Jose.  Allow the configure option --disable-binaries to build OMPI,
but not build or install the support binaries (so basically, just build
the libraries).

This commit was SVN r9777.
2006-04-29 02:16:41 +00:00
Brian Barrett
ce72140633 Remove dependency libraries from these Makefile.ams - the libraries will
automagically bring in the libraries through the top-level library (so
liborte automatically brings in libopal, etc.).  Otherwise, we get some
warnings on Solaris

This should go to the v1.1 branch

This commit was SVN r9666.
2006-04-20 17:53:43 +00:00
Sven Stork
b34c128309 - add check for parseable synonym
This commit was SVN r9527.
2006-04-04 08:53:32 +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
Jeff Squyres
f7b96edf2e Print the rcache components for the rcache framework, not the bml
components. 

This commit was SVN r9222.
2006-03-08 22:50:10 +00:00
Brian Barrett
2eb76ff0cd * finish the TEG/UNIQ/PTL removal
This commit was SVN r9118.
2006-02-23 00:39:01 +00:00
Brian Barrett
ef83e692cc * fix a bad fix from the Open MPI developers meeting. I didn't add proper
support for Fortran 90 module flags in the wrapper compilers when I 
  re-wrote them to be less project-specific.  Re-add that support and drop
   the ugly install in include hack I had done.

This commit was SVN r9003.
2006-02-13 02:39:32 +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
Jeff Squyres
d5e58c13dc Add the bml and rcache to the list of frameworks in ompi_info
This commit was SVN r8978.
2006-02-11 00:14:44 +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
b1d2424013 Merge in present work on the MPI-2 onesided chapter. The current code is not
complete, but stable enough that it will have no impact on general development,
so into the trunk it goes.  Changes in this commit include:

 - Remove the --with option for disabling MPI-2 onesided support.  It
   complicated code, and has no real reason for existing
 - add a framework osc (OneSided Communication) for encapsulating
   all the MPI-2 onesided functionality
 - Modify the MPI interface functions for the MPI-2 onesided chapter
   to properly call the underlying framework and do the required
   error checking
 - Created an osc component pt2pt, which is layered over the BML/BTL
   for communication (although it also uses the PML for long message
   transfers).  Currently, all support functions, all communication
   functions (Put, Get, Accumulate), and the Fence synchronization
   function are implemented.  The PWSC active synchronization
   functions and Lock/Unlock passive synchronization functions are
   still not implemented

This commit was SVN r8836.
2006-01-28 15:38:37 +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
60ac1cb5f4 print stack traces (when available) for opal and orte processes, as well as
ompi processes.  Also add SIGABRT to the list of signals that are intercepted
to print out pretty messages.

This commit was SVN r8672.
2006-01-11 04:36:39 +00:00
George Bosilca
4002365f43 On windows we have include io.h in order to have access to the isatty function.
This commit was SVN r8621.
2005-12-31 15:03:58 +00:00
George Bosilca
d91650ea85 Do not use explicitly "ln -s" as on some systems it does not work properly ...
(windows). Instead use the LN_S variable exported by the Makefile (set to
"ln -s" on all Unixes and to "cp -p" on windows).

When we remove an executable use the correct extension for its name
(add $(EXEEXT) to the name).

This commit was SVN r8616.
2005-12-31 12:33:44 +00:00
George Bosilca
d3ed56e845 Remove the io.h header file.
This commit was SVN r8553.
2005-12-19 23:53:30 +00:00
George Bosilca
32a013e7d3 Add a header.
This commit was SVN r8552.
2005-12-19 23:32:16 +00:00
George Bosilca
f69d077343 Move the header in the right place.
Reove some unused code.

This commit was SVN r8551.
2005-12-19 23:31:42 +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
Brian Barrett
878676218e Rename opal/memory to opal/memoryhooks because XLC++ on Mac OS X is broken.
When compiling C++ code that includes something that looks for the C++
header file "memory" (stupid C++ headers not having .h extensions), it
goes through the header file search path, which includes $(topsrcdir)/opal,
so it finds the directory $(topsrcdir)/opal/memory/ and tries to load
that as the memory header file and all goes downhill.

This commit was SVN r8111.
2005-11-11 00:26:27 +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
Jeff Squyres
89931ac05f - Correct typo in comment
- Add DIST_SUBDIRS to ompi/tools/Makefile.am

This commit was SVN r7780.
2005-10-17 11:55:55 +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
237bd4c6cd Fix ompi_info -- cxx:bindings was somehow hard-coded to "yes" instead
of reflecting whether the C++ bindings were supported or not.

This commit was SVN r7766.
2005-10-14 20:07:05 +00:00
Jeff Squyres
fcef1774d5 Per advice from Ralf W., change the pkgdata declarations in
Makefile.am's to be a *slightly* more correct (and, more importantly,
less error-prone) construct.

This commit was SVN r7554.
2005-09-30 13:32:39 +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
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
Josh Hursey
4eefb33182 Some param changes:
- Change orte_base_infrastructre to orte_infrastructre to conform with 
  ompi_info's needs
- Move MCA Param registration in ORTE to a centralized function that is 
  called first in orte_init_stage1
- Set the infrastructre flag as an argument to orte_init
- Adjust initalization functions to properly pass down the infrastructre
  flag.

This commit was SVN r7053.
2005-08-26 20:13:35 +00:00
Jeff Squyres
900631e9f9 - Add a first cut of the memory affinity (maffinity) framework. It's
API is still a bit unstable and may change.
- Add a primitive "first use" component that simply has each process
  "touch" the pages that they want to use, thereby [hopefully] locking
  them locally to a specific processor
- Add hooks in ompi_mpi_init to enable memory affinity when processor
  affinity is used.
- Added hooks in ompi_mpi_finalize to shut down memory affinity when
  it was initialized during ompi_mpi_init.
- Added right hooks in ompi_info to display maffinity components.

This commit was SVN r7044.
2005-08-26 10:56:39 +00:00
Brian Barrett
ecf3921ace * fix some problems with C++ protection in timer headers
* Make ompi_info list timer components
* Remove flag to display whether we have memory intercepts (components are
  already listed), until we can figure out how to do it *after* the
  components are opened.

This commit was SVN r6950.
2005-08-21 19:14:49 +00:00
Brian Barrett
8aca9ef966 * remove need to edit project/Makefile.am and project/{dynamic-,}mca/Makefile.am when adding a new component. Configure / autogen now do it for you.
* Add base to memory framework so that we can do something sane with
  ompi_info
* Updated ompi_info to print components for memory framework and
  show whether we have memory hooks active or not.

This commit was SVN r6861.
2005-08-13 20:19:24 +00:00
Jeff Squyres
2cf38dc59f Add hooks in ompi_info for the new paffinity framework
This commit was SVN r6857.
2005-08-13 16:07:37 +00:00
Jeff Squyres
32e71e5c6c Fix a problem where orterun itself would not receive MCA parameters
that were set on the command line.  This was techinically exactly the
way the code was designed, but it certainly violated the Law of Least
Astonishment (even to its designer ;-) ).  So now if you execute
something like this:

   mpirun -mca pls_rsh_debug 1 -np 4 hello

You'll see debugging output from the rsh pls component, as you would
expect (this was not previously the case -- the MCA pls_rsh_debug
parame would be set to 1 in the 4 spawned hello processes, but *not*
in the orterun process).

More specifically, MCA parameters will be set in the orterun process
in the following cases:

- The new command line switch "--gmca" (or "-gmca") is used,
  indicating that the MCA parameter is "global".  --gmca also means
  that that MCA parameter will be applied to all context app's.  For
  example:

      mpirun -gmca foo bar -np 1 hello : -np 2 goodbye

  The foo MCA param will be set in both the hello and goodbye
  processes.

- If there is only one context app.  For example:

      mpirun -mca pls_rsh_debug 1 -np 4 hello

  will set pls_rsh_debug to 1 in both the orterun process and the 4
  spawned hello processes.

Also added a few more comments inside orterun to document a somewhat
confusing use of a state variable in a recursive case.

This commit was SVN r6764.
2005-08-08 16:42:28 +00:00
Brian Barrett
6f0b51e4db * only include sys/ioctl.h if it exists
This commit was SVN r6761.
2005-08-08 13:15:06 +00:00
Brian Barrett
18d09c14a7 * always include sys/ioctl.h for now. Needs to be protected by header check,
but this will be good enough for Linux and OS X and I don't want to change
  configure.ac mid-day for the other platforms

This commit was SVN r6740.
2005-08-04 18:48:36 +00:00
Brian Barrett
3867d59cf1 * Look at stdout instead of stdin for determining whether output is going
to a tty or not.  Now you can do something like:

     ompi_info -all | grep btl_portals

  and get the full line for each btl_portals parameter.
* For the case where stdout is a tty, we have my current nomination for
  Today's Useless OMPI Feature.  Autodetect the width of the terminal, so
  people with really wide terminals will get less wrapping

This commit was SVN r6722.
2005-08-03 14:48:48 +00:00
Jeff Squyres
4c1dd716c7 Change and add new features to the MCA parameter system:
- new preferred API calls for registering MCA parameters are
  mca_base_param_reg_{int|string} and
  mca_base_param_reg_{int|string}_name.
- See opal/mca/base/mca_base_param.h for docs on new calls.  
- Can now register and lookup a value at the same time.
- Can now mark a parameter "read only" at registration time
- Can now mark a parameter "internal" at registration time
- Can now associate a help message with the parameter at registration
  time; displayed in the ompi_info output.

The old API calls are still available for backwards compatibility
(mca_base_param_register_{int|string}.  They will eventually be
removed -- all developers are encouraged to use the new APIs from here
on out and replace any old calls with the new API.

Some params were also renamed -- the previous convention of using
"base_" as a prefix for any param that was not associated with a
component is henceforth deprecated.  Instead, use one of the following
prefixes:

mca: for anything in the MCA base itself
opal: for anything in OPAL
orte: for anything in ORTE
mpi: for anything in OMPI

This commit was SVN r6698.
2005-08-01 22:38:17 +00:00
Brian Barrett
3f09d5f2a4 * make btl open be safe to call multiple times (btl close already was)
* add btl back into ompi_info.  Since it now directly calls the
  open/close, the missing symbol problems Ralph was seeing when ob1 is
  ignored will not occur.

This commit was SVN r6652.
2005-07-28 16:31:29 +00:00
Brian Barrett
b0b6ddd078 * add --enable-heterogeneous (default: enabled) to enable heterogeneous
support in OMPI.  Currently only enables/disables the architecture
  sharing modex in ob1 pml.
* Add sds framework to ompi_info
* Figure out table ids to use for Portals BTL at configure time, since
  we should use 30 & 31 on Red Storm, but the reference implementation
  only supports 0-8.
* Some bug fixes in Portals UTCP sds

This commit was SVN r6650.
2005-07-28 16:16:13 +00:00
Jeff Squyres
fee0cf5f29 Quick (and temporary fix) for those getting missing symbols. Real fix
coming shortly (Monday or Tuesday).

This commit was SVN r6538.
2005-07-17 11:21:52 +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
c0896ebe99 * have to define the constant in the negative case as well :(
This commit was SVN r6403.
2005-07-08 21:50:21 +00:00
Brian Barrett
4fc6224af2 * allow mpicc to build applications that use internal headers by adding
the right -I flags if we want devel headers

This commit was SVN r6393.
2005-07-08 18:26:01 +00:00
George Bosilca
ff3e243be5 Similar with close, PTL open should not be called directly. The PML will do it anyway.
This commit was SVN r6363.
2005-07-06 19:22:16 +00:00
George Bosilca
2f83301c82 Do not call the base PTL close directly. This is the PML job.
This commit was SVN r6359.
2005-07-06 18:25:03 +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
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
Brian Barrett
ed81e51c3a * rename ompi_printf to opal_printf
* rename ompi pty code to opal pty code
* rename ompi_qsort to opal_qsort

This commit was SVN r6335.
2005-07-04 02:16:57 +00:00
Brian Barrett
46245aaac1 * rename orte_os_create_dirpath to opal_os_create_dirpath
* rename orte_os_path to opal_os_path
* rename ompi_path_find to opal_path_find
* rename ompi_pow2 to opal_pow2

This commit was SVN r6334.
2005-07-04 01:59:52 +00:00
Brian Barrett
9f44b80291 * rename ompi_argv to opal_argv
* rename ompi_basename to opal_basename
* rename ompi bitop functions to opal
* rename ompi_cmd_line to opal_cmd_line
* rename ompi_sizet2int to opal_sizet2int
* rename orte_daemon_init to opal_daemon_init
* rename ompi_few to opal_few

This commit was SVN r6330.
2005-07-04 00:13:44 +00:00
Brian Barrett
a13166b500 * rename ompi_output to opal_output
This commit was SVN r6329.
2005-07-03 23:31:27 +00:00
Brian Barrett
39dbeeedfb * rename locking code from ompi to opal
This commit was SVN r6327.
2005-07-03 22:45:48 +00:00