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

401 Коммитов

Автор SHA1 Сообщение Дата
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
Jeff Squyres
8a63a3d3d8 Make the test to find sched_yield() better so that we don't always
link in -lr on linux.

This commit was SVN r5100.
2005-03-30 01:43:16 +00:00
Jeff Squyres
96a13fd818 Solaris needs -lrt for sched_yield()
This commit was SVN r5072.
2005-03-28 20:52:00 +00:00
Jeff Squyres
6f0b7d3cac A simpler way to do the same thing.
This commit was SVN r5063.
2005-03-28 15:42:02 +00:00
Jeff Squyres
c71d0d8bee Add a check for IFADDR_NONE (Solaris doesn't have it; the man page for
inet_addr() says that it returns -1 upon failure).

This commit was SVN r5058.
2005-03-28 11:55:57 +00:00
Jeff Squyres
b8f88e8c1c Fix some bugs in the version number scheme, and make the proces a bit
more obvious (and documented)
- VERSION now has lots of comments in it
- separate out whether we want the SVN r number in the version and
  what the SVN r number is
- clearly describe the process for building the full version number
  string 
- make ompi info have a separate line item specifically for the SVN r
  number, regardless of what the version number is
- update "make dist" process to substitute in the SVN r version

This commit was SVN r5022.
2005-03-25 03:19:46 +00:00
Jeff Squyres
3f5541349a Add UC copyright
This commit was SVN r5009.
2005-03-24 12:43:37 +00:00
Brian Barrett
4b6aecf82d * Fix up the test directory so everything uses Automake's "make check" to
build / run.  Only things that actually build / run right now are the
  asm and class tests.  The mca tests probably will with a static build
  but that hasn't been verified

This commit was SVN r4979.
2005-03-22 04:25:01 +00:00
Brian Barrett
c854ae0edb * more merges from the trunk, mainly to make "make dist" work correctly.
This commit was SVN r4944.
2005-03-19 22:04:32 +00:00
Brian Barrett
6822a519bb * results from initial merge of the tim branch into the trunk. Compiles and
ompi_info works, but that's all that has been tested.

This commit was SVN r4827.
2005-03-14 20:57:21 +00:00
Brian Barrett
927c5be6c8 NOTE: You need to re-autogen after this commit. Sorry :(
* SPARC Assembly fixes:
  - Use SPARC assembly type only when not able to use the SPARC v9
    instruction set (instead of previous whenever sizeof(void*) == 4
  - Use SPARCV9_32 (aka sparc v8plus) and SPARCV9_64 (aka sparc v9) when
    possible.  Already were doing so for the 64bit, but on 32bit we
    were falling back to SPARC.
  - Implemented SPARCV9_32 atomic operations
  - Emit warning if user is going to get SPARC atomic, as that probably
    isn't what the user wants for best performance.
* Started shell of MIPS assembly.  Does not work, but wanted something
  so that everyone would only have to re-autogen once today....

This commit was SVN r4465.
2005-02-18 20:10:29 +00:00
Brian Barrett
b7c2c47494 Solaris portability fixes, round 1:
- Use fcntl.h, not sys/fcntl.h (man pages on every platform I could find
    say fcntl.h and solaris/AIX don't provide sys/fcntl.h)
  - Make timeradd macro available on platforms where sys/time.h exists but
    timeradd macro doesn't (Solaris)
  - Include util/printf.h from ompi_config_bottom.h so that ompi_asprintf
    and friends are always available.

This commit was SVN r4441.
2005-02-16 15:38:37 +00:00
Brian Barrett
4265304230 * Clean up some minor build system ick in the atomic operations
* Make sure the update.sh scripts all use OMPI_WANT_SMP_LOCKS
* Add sparc (32bit) assembly
  - Memory barriers
  - spinlocks
  - emulate add/sub using the spinlock table with hashed lookups, as
    suggested by the linux kernel folk (better than the other option,
    requiring the counters only use 24 bits)

This commit was SVN r4429.
2005-02-14 18:04:23 +00:00
Jeff Squyres
e5ff6d7146 This patch looks for LIBMPI_* kinds of flags in the post_configure.sh
script in components and distributes them as appropriate throughout
the tree (previously, we only did WRAPPERS_* flags).  These flags are
*only* used when libmpi is being build statically (--disable-shared
--enable-static).

I also added another classification of flags -- LIBMPI_ALWAYS_* and
WRAPPERS_ALWAYS_* for flags that should always be added to the libmpi
/ wrapper linker lines, not just when compiling libmpi statically.

This commit was SVN r4322.
2005-02-08 05:06:15 +00:00
Craig E Rasmussen
ded699d4ba Added precision and range tests. Also some minor reconfiguration to
only run some Fortran 90 tests when the types have been found.

This commit was SVN r4293.
2005-02-05 23:54:41 +00:00
Jeff Squyres
20919b8ce5 - Remove debugging echo
- Fix up the checks for selected_[int|real]_kind so that we only check
  for their sizes/alignment if the compiler actually supports them

This commit was SVN r4279.
2005-02-04 13:00:00 +00:00
Brian Barrett
5a9718e582 * fix for bug 1116. Some versions of the test program really don't like
== as the test condition, greatly prefering = instead.

This commit was SVN r4254.
2005-01-30 19:35:02 +00:00
Brian Barrett
9f61d1d8a3 * Clean up some problems with the atomic operation interface discovered
during testing.  In particular, we can't have a cmpset macro that can
  deal with pointers without some really evil voodoo.  So have a
  different macro for pointers
* Add more detailed testing of the atomics using AM's test framework.
  More to come...

This commit was SVN r4191.
2005-01-27 21:08:35 +00:00
Brian Barrett
80967bec8d * fix make dist for the atomic code
This commit was SVN r4188.
2005-01-27 16:49:47 +00:00
Brian Barrett
9c1a277804 * Update build system to support non-GCC inline assembly, including detection
of assembler format
* Fix minor bugs in AMD64, PPC, and IA32 assembly for atomic operations
* Clean up the #defines to look for when examining level of atomic operation
  support

This commit was SVN r4183.
2005-01-27 01:39:55 +00:00
Rainer Keller
6ee5a29c2f Add a Stacktrace feature, which figures where/what signal has happened
after MPI-startup.
For this a new mpirun-parameter "mpi_signal" is added, one may specify a
comma-separated list of signals to grab, e.g. mpirun --mca mpi_signal 8,11
will check for SIGFPE and SIGSEGV.
It only finds the first fault (SA_ONESHOT), as after the return the same
fault will occur again.

As printout, the data provided by siginfo_t is printed to STDOUT (yes,
it calls printf ,-]).
Additionally, with glibc, it uses backtrace and backtrace_symbols to 
print the calling stack up to the function in which the signal was raised:

(Rank:0) Going to write to RD_ONLY mmaped shared mem
Signal:11 info.si_errno:0(Success) si_code:2(SEGV_ACCERR)
Failing at addr:0x4020c000
[0] func:/home/rusraink/ompi-gcc/lib/libmpi.so.0 [0x40121afe]
[1] func:./t0 [0x42029180]
[2] func:./t0(__libc_start_main+0x95) [0x42017589]
[3] func:./t0(__libc_start_main+0x49) [0x8048691]

This commit was SVN r4170.
2005-01-26 19:11:46 +00:00
Ralph Castain
cd00fed56b Bring the error manager over to the main branch so people can start to use it in their code. Please see mca/errmgr/errmgr.h for the documentation on this function - very little implemented at the moment. Only function so far is to output the error message, file, and line via the ompi_output function.
Note: in bringing this across, I have obeyed the mca-prefix-rule in defining functions and variables. However, I left the name of the component call as "orte_errmgr.xxx" so that any use of the code will directly "merge" with the new RTE branch without changes.

This commit was SVN r4099.
2005-01-21 17:49:14 +00:00
Craig E Rasmussen
2284867095 Added AC_DEFINE_UNQUOTED calls for Fortran types.
This commit was SVN r3978.
2005-01-12 22:22:14 +00:00
Craig E Rasmussen
055d884ecb Added F90 alignment tests (f90_get_alignment)
This commit was SVN r3966.
2005-01-12 18:23:26 +00:00
Craig E Rasmussen
019b769568 1. Added tests for Fortran 90 types and sizes.
2. Added creation of src/mpi/f90/fortran_sizes.h.

This commit was SVN r3925.
2005-01-07 21:21:46 +00:00
Tim Woodall
fb203852d3 I/O forwarding framework
This commit was SVN r3865.
2004-12-21 22:16:09 +00:00
Brian Barrett
bb7de89545 * Add configure tests for SA_RESTART signal constant and sa_len
* protect use of SA_RESTART in event library

This commit was SVN r3838.
2004-12-16 21:37:57 +00:00
Jeff Squyres
32d85dd7eb Properly add the soh framework in all the places it needs to be. Left
the src/mca/soh/base/*.c files out of the default build because
they're uncompilable right now -- don't want to step on any of Ralph's
local changes.

This commit was SVN r3837.
2004-12-16 18:52:33 +00:00
Ralph Castain
087f9a361b Since the &*(&(&* subversion won't let me commit the whole thing - getting the $#@$# "won't delete locally modified directory nonsense again - I've committed this separately. I'll have to blow away my existing tree and checkout another to verify things still work.
Grrrrrr...

This commit was SVN r3822.
2004-12-15 18:38:34 +00:00
Jeff Squyres
7abc1f0f3d Remove the outdated src/os tree -- all this atomic stuff is now in
src/include/sys (and has been for a long time).

This commit was SVN r3809.
2004-12-14 16:15:15 +00:00
Jeff Squyres
a120864786 Remove extraneous debugging echo statement
This commit was SVN r3783.
2004-12-11 01:42:56 +00:00
Jeff Squyres
c33dd84b51 - Fix some configure.ac tests for figuring out the back-end C type for
MPI_Offset
- Make the ROMIO IO component use MPI_Offset for the back-end type for
  ADIO_Offset
- Removed some extra verbage from configure warnings
- Add some logic to configure to deduce an MPI datatype that
  corresponds to MPI_Offset (because ROMIO needs it).  This is a bit
  of an abuse (i.e., ROMIO's configure should figure this out), but
  it's not too gratuitous because a) the ROMIO component is included
  in Open MPI, and b) other io components to be defined in the future
  could also use this information
- Rename MCA: MPI Component Architecture -> Modular Component
  Architecture

This commit was SVN r3742.
2004-12-07 22:40:37 +00:00
Jeff Squyres
616269a9be Add HLRS copyright
This commit was SVN r3665.
2004-11-28 20:09:25 +00:00
Jeff Squyres
e9ed717748 First cut at copyrights: IU, UTK, and some OSU. LANL and HLRS still
pending.

This commit was SVN r3655.
2004-11-22 01:38:40 +00:00
Jeff Squyres
c0848cd26c As agreed, remove "test" from the distribution tarball
This commit was SVN r3653.
2004-11-21 23:15:57 +00:00
Craig E Rasmussen
1c579699b1 Added AC_SUBST variables OMPI_FORTRAN_IKINDS, OMPI_FORTRAN_RKINDS
and OMPI_FORTRAN_CKINDS.  These are used in shell scripts to
generate compiler dependent Fortran bindings.

This commit was SVN r3580.
2004-11-16 21:10:25 +00:00
Jeff Squyres
1a0a3428ea Check for __func__, per suggestion from Ranier (oops; thought I had
already committed this :D )

This commit was SVN r3442.
2004-10-29 19:14:11 +00:00
Prabhanjan Kambadur
64e278a92a sorry, forgot about this ... have to check for this. the alternate solution is to replace this with fcntl.h ... but since tim is not in the room, i thought i might just add protection instead of changing
This commit was SVN r3396.
2004-10-28 18:21:56 +00:00
Jeff Squyres
1c4aafba31 Replace hard-coded OMPI_FORTRAN_HANDLE_MAX with a real configure test
to determine min(INT_MAX, max fortran INTEGER value)

This commit was SVN r3305.
2004-10-23 21:08:12 +00:00
Jeff Squyres
eb4267d6d2 George pointed out last night that I didn't take into account the fact
that the C compiler may support bool with no help from <stdbool.h>.
So add another configure test and adjust ompi_config_bottom.h as
appropriate.  Since the #if logic in ompi_config_bottom.h got a little
complicated w.r.t. bool, I indented to make the conditionals clear.

This commit was SVN r3291.
2004-10-22 20:30:59 +00:00
Prabhanjan Kambadur
de10524563 adding sys/stat to the list of header files to be checked for
This commit was SVN r3265.
2004-10-21 15:56:12 +00:00
Jeff Squyres
8e5f35dca7 Can't believe we didn't have an endian test in configure before this...
This commit was SVN r3133.
2004-10-14 12:55:34 +00:00
Prabhanjan Kambadur
2982a7b120 checking in some extra files and mode_t to be checked for ... I understand that these are obvious to unix people, but there ae stange quiks when it comes to windows. for eg., mode_t is not defined even though the header file for it is present
This commit was SVN r3087.
2004-10-13 20:47:52 +00:00
Jeff Squyres
8961189cbf It's amazing how you can read the diff ahead of time and think "yes,
that's good.  Go ahead -- commit that."  But then as soon as you read
the diff on the mailing list, you realize how borked it was.  [sigh]
- add MPI_INTEGER16 at George's request
- don't forget to commit acinclude.m4
- correctly name the REAL checks (accidentally had 2 sets of INTEGER
  checks)

This commit was SVN r2936.
2004-10-05 19:38:56 +00:00
Jeff Squyres
df98ca0010 Add some checks for optional fortran datatypes, required by the ddt
engine

This commit was SVN r2934.
2004-10-05 19:31:18 +00:00
Brian Barrett
0fb5abc6ab * add a whole bunch of headers to the list of headers to check for. These
are all tests that will fail on Windows so we need to protect their
  inclusion in source code.

This commit was SVN r2878.
2004-09-29 19:42:16 +00:00
Brian Barrett
40c0b6b12d * code to deal with getting callbacks / waiting for SIGCHLD. These should
only be used if the RTE init functions have been called.  Not quite as
  flexible as the real waitpid() function (no -1 support), but all I need
  for the SSH / BProc / RMS pcms.  This code is not yet turned on by
  default (need to add the init / finalize calls to ompi_rte_init?? and
  ompi_rte_finalize()

This commit was SVN r2860.
2004-09-26 17:43:35 +00:00
Jeff Squyres
5de6a8c211 Fix minor logic error -- need to group the "or" together so that it
doesn't get grouped with the "and".  Precedence, schmecedence...

This commit was SVN r2677.
2004-09-15 09:15:50 +00:00
Jeff Squyres
0ed4c8f663 A break from writing: fix the bug that Brian hacked around for me.
Ensure that OMPI_F77_* are always defined, even if a) a f77 compiler
is not found, or b) the user disables the f77 MPI bindings.

This commit was SVN r2618.
2004-09-11 19:13:43 +00:00
Jeff Squyres
b72ecd12d5 Add src/tools/console/Makefile to configure.ac since it was just added
to src/tools/Makefile.am's SUBDIRS

This commit was SVN r2610.
2004-09-11 06:39:18 +00:00
Jeff Squyres
07f6565726 Make the check for lex really be a check for flex.
This commit was SVN r2520.
2004-09-05 17:45:59 +00:00
Jeff Squyres
094650dafb Add placeholder directory for text data files to come (need to have
this directory in a few uncommitted trees, so might as well commit
this empty directory now).

This commit was SVN r2391.
2004-08-30 10:44:30 +00:00
Jeff Squyres
9a96a9cb80 - Really integrate "svc" into the configure/build process.
- Fix a few comments in src/dynamic-mca/*/Makefile.am that still
  referred to a directory in LAM/MPI

This commit was SVN r2350.
2004-08-28 08:13:39 +00:00
Tim Woodall
38ad4dcf1f added svc directory
This commit was SVN r2343.
2004-08-28 00:09:14 +00:00
Jeff Squyres
cc0fc842f9 Check to see if you don't have lex/flex and don't have the .c file
that was generated by it (i.e., if you're in a developer checkout or
if you're in a distribution tarball).  If you don't have the .c file
and lex/flex, error.

This commit was SVN r2312.
2004-08-26 16:17:20 +00:00
Brian Barrett
58792a3ad0 * almost to the point of being able to use the RSH PCM module
- added shell detection code
  - start of bootproxy start code
  - infrastructure to make search life better.

NOTE NOTE NOTE: You will have to autogen and all that because I had to add
  some header file checks to the configure script.  Sorry!

This commit was SVN r2239.
2004-08-19 21:22:48 +00:00
Tim Woodall
ecbb740f36 removed duplicate entry
This commit was SVN r2236.
2004-08-19 19:43:02 +00:00
Tim Woodall
e05e7ca942 gpr proxy i/f (put) seems to be working w/ tcp oob!
This commit was SVN r2235.
2004-08-19 19:34:37 +00:00
David Daniel
5ce8144d91 Probably an unpopular change, but...
In order to get consistent behaviour on linux with various gcc versions,
I am defining _GNU_SOURCE in ompi_config.h and changing the definition
of asprintf, etc.

Problems:
1) autoconf was defining _GNU_SOURCE for its tests, but we were not
setting it
2) g++ sets it by default (I think)
3) some version of gcc set it by default

If somebody knows a consistent solution for these problems then we can
revert to not setting it.

This commit was SVN r2230.
2004-08-19 19:27:15 +00:00
Ralph Castain
56a3fd8f36 Changed the GPR interface (per Tim's request) so that a "put" will automatically create the specified segment if it doesn't already exist. You will not need to create it explicitly.
Added the gpr test directory to configure.ac, and updated the tests.

This commit was SVN r2228.
2004-08-19 16:51:51 +00:00
Brian Barrett
7f3f72f1c7 * split the PCM into pcm and pcmclient to better match to the multi-pcm case
* add env pcmclient, which builds client data out of environment variables
* improved rsh infrastructure a little bit - almost able to get to calling
  fork()
* Removed instance information for llm - it should be burried in the pcm,
  not exposed


*** YOU MUST RUN AUTOGEN / CONFIGURE / etc AFTER UPDATING ***

This commit was SVN r2191.
2004-08-17 22:24:17 +00:00
David Daniel
bfc4b52b8b fixes for Solaris
This commit was SVN r2156.
2004-08-15 23:55:10 +00:00
Brian Barrett
192ff6867f * Add "serialization" of ompi_rte_schedule_t structs for sending over sockets
or rsh/ssh stdin/stdout, even includes a test case
* add base function for use when PCMs can't provide uniqueness strings, so
  that we all have the same value

This commit was SVN r2082.
2004-08-12 06:55:04 +00:00
David Daniel
ac36e0fc27 Adding conditionals for portable (v)asprintf and (v)snprintf implementations
This commit was SVN r2026.
2004-08-10 22:41:17 +00:00
Brian Barrett
fd27aa08fc * As requested, move mpiruntime to mpi/runtime
This commit was SVN r1960.
2004-08-08 05:20:32 +00:00
Jeff Squyres
f870500088 Speed up the build process by removing some redundant convenience
libraries

This commit was SVN r1949.
2004-08-07 04:20:28 +00:00
Brian Barrett
a27f749134 * Move the MPI runtime code from src/runtime to src/mpiruntime to make the
abstraction a little clearer.
* Include mpiruntime.h instead of runtime.h in errhandler.h since only the
  MPI stuff was needed - speeds compile times greatly when working on the
  RTE...

This commit was SVN r1948.
2004-08-07 00:53:56 +00:00
Ginger Young
5e22c1edfe Adding preliminary ompi daemon
This commit was SVN r1932.
2004-08-06 20:23:57 +00:00
Jeff Squyres
2060091238 - Creation of the common code repository for cross-component /
horizontal integration
- Move the mpool_sm_mmap.[ch] files to a new sm common code area, and
  rename to common_sm_mmap.[ch]
- update sm ptl and mpool to refer to the sm common code area for the
  mmap code

This commit was SVN r1930.
2004-08-06 19:35:57 +00:00
Brian Barrett
dadb047103 * Add LLM (the rte resource allocator) framework
* Add hostfile component for the LLM (reads hostfiles, returns array of
  node identifiers

NOTES: 
  - This will require the full autogen / configure / make.
  - You now need flex to build Open MPI from Subversion.  The versions
    available on most Linux boxen and OS X is more than new enough.  You
    do *not* need flex to build from a nightly or release tarball.

This commit was SVN r1890.
2004-08-05 14:01:45 +00:00
Jeff Squyres
2399ac3cf8 Check for case where we *have* <stdbool.h>, but it doesn't *work*
(e.g., Portland compilers don't have/know about <stdbool.h>, but
AC_CHECK_HEADERS will typically find the GNU/gcc <stdbool.h>).
Reviewed by Brian.

This commit was SVN r1889.
2004-08-05 11:12:25 +00:00
Jeff Squyres
93762e9aad Fixes to Makefile.am and configure.ac so that "make dist" generates a
proper tarball

This commit was SVN r1865.
2004-08-04 11:23:14 +00:00
Tim Woodall
7c08f63f44 removed ctnetwork
This commit was SVN r1859.
2004-08-03 22:32:15 +00:00
Tim Prins
d209e538f1 -fix 2 bugs in the oob
-in some cases failed to call complete function when the message
  was sent.
 -was freeing the wrong iovec in the base recv function
-added a first cut of a oob test

This commit was SVN r1849.
2004-08-03 16:34:59 +00:00
Jeff Squyres
eb8cba98af - massive change for module<-->component name fixes throughout the
code base.
  - many (most) mca type names have "component" or "module" in them,
    as relevant, just to further distinguish the difference between
    component data/actions and module data/actions.  All developers
    are encouraged to perpetuate this convention when you create
    types that are specific to a framework, component, or module
  - did very little to entire framework (just the basics to make it
    compile) because it's just about to be almost entirely replaced
  - ditto for io / romio
  - did not work on elan or ib components; have to commit and then
    convert those on a different machine with the right libraries and
    headers
- renamed a bunch of *_module.c files to *_component.c and *module*c
  to *component*c (a few still remain, e.g., ptl/ib, ptl/elan, etc.)
- modified autogen/configure/build process to match new filenames
  (e.g., output static-components.h instead of static-modules.h)
- removed DOS-style cr/lf stuff in ns/ns.h
- added newline to end of file src/util/numtostr.h
- removed some redundant error checking in the top-level topo
  functions
- added a few {} here and there where people "forgot" to put them in
  for 1 line blocks ;-)
- removed a bunch of MPI_* types from mca header files (replaced with
  corresponding ompi_* types)
- all the ptl components had version numbers in their structs; removed
- converted a few more elements in the MCA base to use the OBJ
  interface -- removed some old manual reference counting kruft

This commit was SVN r1830.
2004-08-02 00:24:22 +00:00
Brian Barrett
000644007f * C++ MPI bindings. MPI:: only
This commit was SVN r1712.
2004-07-14 14:11:03 +00:00
Jeff Squyres
0bd8a4ceda Remove some Makefile's from AC_CONFIG_FILES that are not yet in the
SVN repository.

This commit was SVN r1587.
2004-07-08 11:35:53 +00:00
Ralph Castain
49c43aa96d Fix configure.ac - remove double inclusion of ns-directory makefiles.
This commit was SVN r1585.
2004-07-08 02:47:39 +00:00
Jeff Squyres
9ee904d95d Bunches of things to make "make dist" work
This commit was SVN r1577.
2004-07-07 20:59:20 +00:00
Jeff Squyres
8149265189 - Updated versioning system; "svn" number is now a string (vs. an int)
- Updated autogen.sh and friends to be more flexible and allow
  components to be configured and built outside of the Open MPI tree
- Removed $(LIBOMPI_LA) from all component Makefile.am's -- it's
  unnecessary 

This commit was SVN r1566.
2004-07-07 12:45:36 +00:00
Tim Woodall
8cfc45bbee restored Jeffs changes
This commit was SVN r1529.
2004-07-01 16:25:44 +00:00
Tim Woodall
165d4f8841 merge of oob/rte changes from rte branch
This commit was SVN r1527.
2004-07-01 14:49:54 +00:00
Jeff Squyres
5175280beb - Somehow had the default for static libraries; doh!
- fixed case to ensure that --disable-shared also automatically
  disables building DSO components

This commit was SVN r1524.
2004-06-30 22:45:33 +00:00
Jeff Squyres
e15f52c11f Fix a few minor typos
This commit was SVN r1500.
2004-06-29 19:09:56 +00:00
Jeff Squyres
a5a712b31f Lots of changes in this commit, mostly having to do with the first
real commit of the collectives.  MPI_SCAN and MPI_EXSCAN are still not
implemented, but lots of other things are in the critical path and
holding up other people, so it's ok to commit without them:

- better checks for sizes in configure, and add defaults for fortran
  sizes if we don't have a fortran compiler
- fix some logic that was accidentally broken for size checks for the
  file type offset_t
- add some C equivalent types for fortran's complex and double complex
  (for use in internal reduction/op functions)
- additionals and slight reorganization of ompi_mpi_init()
  ompi_mpi_finalize()
- fully implement all top-level MPI collective calls, including all
  param checking for both intra- and inter-communicators (woof)
- change the communicator_t type for stuff that we need in coll, and
  update all references throughout the code base to match
- all kinds of updates to the coll framework base
- next cut of the basic coll module -- has all intracommunicator
  collectives implemented except scan and exscan (see note above).
  All intercommunicator functions return ERR_NOT_IMPLEMENTED.
- MPI_Op is a fixed implementation -- not component-ized yet.  So
  there are generic C loops for all implementations.

This commit was SVN r1491.
2004-06-29 00:02:25 +00:00
Jeff Squyres
c8367bfe6d Now really ditch src/rte/*
This commit was SVN r1489.
2004-06-28 19:56:50 +00:00
Jeff Squyres
fc96f7d781 Arrgh -- back out the previous patch; committed the wrong
configure.ac...

This commit was SVN r1488.
2004-06-28 19:56:21 +00:00
Jeff Squyres
0f7f841fc5 Really get rid of src/rte/*
This commit was SVN r1487.
2004-06-28 19:53:19 +00:00
Jeff Squyres
1b542d409b Remove all remnants of the component framework "registry".
Registry is dead; long live gpr!

This commit was SVN r1359.
2004-06-17 13:53:10 +00:00
Jeff Squyres
5513aba363 Making tarballs named "openmpi" is nicer than "ompi". :-)
This commit was SVN r1347.
2004-06-17 01:03:09 +00:00
Jeff Squyres
6895634401 Substitute in the right value
This commit was SVN r1344.
2004-06-17 00:34:35 +00:00
Jeff Squyres
ceec782bcd Minor fixes to make the tree build correctly. Temporaryly removed
test/include from the build because it only has one program that
doesn't compile right now.

This commit was SVN r1297.
2004-06-16 00:34:27 +00:00
Jeff Squyres
59befefa30 Enable compiling MCA components as dynamic modules
This commit was SVN r1292.
2004-06-15 23:56:18 +00:00
Jeff Squyres
b1cb8b8cfa Fixes for "make dist"
This commit was SVN r1278.
2004-06-15 19:39:21 +00:00
Tim Woodall
abba2b038c - removed src/mem directory
- moved mem/free_list.h to class/ompi_free_list.h
- moved mem/malloc.h to util/malloc.h
- added src/mca/mpool component type

This commit was SVN r1274.
2004-06-15 19:07:45 +00:00
Tim Prins
64e2ca2ab0 fix for configure.ac to fix a warning and changing
the ignore properties on the mca allocator

This commit was SVN r1270.
2004-06-15 17:32:06 +00:00
George Bosilca
acd1ec3d1f Fix for gcc 2.96 inline problem. Stupid gcc!
This commit was SVN r1266.
2004-06-15 17:10:47 +00:00
Tim Woodall
e17da43528 added allocator mca component type
This commit was SVN r1264.
2004-06-15 16:57:18 +00:00
Tim Prins
8f7b128941 first checkin of the memory allocation framework. It should work fine
except the align and realloc functions are not yet allocated.

This commit was SVN r1251.
2004-06-14 21:05:53 +00:00
Ralph Castain
4c28cb8b3d Okay, let's see if the system gets rid of the old registry files this time. Also added new location to configure.ac, and picked up a change to the sys_info header.
This commit was SVN r1239.
2004-06-12 10:56:32 +00:00
Jeff Squyres
29ab8d41d6 Fix some typos
This commit was SVN r1202.
2004-06-07 22:09:25 +00:00
David Daniel
563ac2a338 First pass of lam -> ompi conversion
This commit was SVN r1191.
2004-06-07 15:33:53 +00:00
Ralph Castain
1433bccfaf Update configure.ac to include the universe and registry directories.
This commit was SVN r1188.
2004-06-04 02:28:48 +00:00
Tim Woodall
3ce1b9852b re-enable builds of the test directory
This commit was SVN r1155.
2004-05-25 13:08:24 +00:00
Ralph Castain
8cc3ecb8e5 Remove the runtime-environment directory RTE/universe from the makefile list since it only exists on my machine! Update the sys_info header file
This commit was SVN r1143.
2004-05-20 17:38:54 +00:00
Ralph Castain
2d709f768a This adds into the system a utility for detecting what kind of system we are on. The utility provides a global variable ompi_system_info that contains information on the operating system, release and version, machine architecture, and network node name. I'll provide additional documentation via Doxygen once I figure out how to put it into the .h file.
Code was reviewed by Jeff - thanks Jeff!

This commit was SVN r1141.
2004-05-20 13:54:14 +00:00
George Bosilca
ba91bcf530 Check for long double
Avoid the lookup for sizeof(TYPE) if TYPE is not defined.

This commit was SVN r1085.
2004-04-23 20:52:42 +00:00
Prabhanjan Kambadur
dbb0db0909 Enabling topo module
This commit was SVN r1044.
2004-04-16 20:56:22 +00:00
Prabhanjan Kambadur
832ec55ebf introducing 2 new AM_CONDITIONALS so that tf77 bindings are not built when the user does not want it or when the fortran 77 compiler is not found. Right now, the libraries were built but not snarfed into the big library. This was unneccessary
This commit was SVN r1029.
2004-04-13 23:05:31 +00:00
Brian Barrett
6282f1a8e6 switch from F77/FC to LAM_F77/LAM_F90 so that we don't have to assign "none"
into either F77 or F90, which caused badness in the libtool test world.

This commit was SVN r999.
2004-03-28 10:52:58 +00:00
Brian Barrett
acff369327 properly fix bug 819 - initialize the right variable to 0.
This commit was SVN r997.
2004-03-28 10:20:32 +00:00
Brian Barrett
61557f0156 Fix some of the Fortran issues by unifying all the various on/off
flags to LAM_WANT_F77_BINDINGS and LAM_WANT_F90_BINDINGS.  Also
changed the compiler flag for the Fortran 90/95/whatever compiler to
FCFLAGS to match what AC was already doing.

This commit was SVN r996.
2004-03-28 10:02:38 +00:00
Brian Barrett
308ef4c769 * add alloca.h if we have it to make datatypes happy with gcc on linux
This commit was SVN r990.
2004-03-27 05:26:31 +00:00
Jeff Squyres
69263505b7 Bunches of changes to make "make dist" work properly
This commit was SVN r966.
2004-03-26 04:28:42 +00:00
Jeff Squyres
f871b73606 First cut at mpif.h; probably needs to be heavily modified.
This commit was SVN r941.
2004-03-19 17:27:35 +00:00
Jeff Squyres
ca5fa108f5 Change from "CVS" version to "SVN" version
This commit was SVN r928.
2004-03-19 06:05:27 +00:00
Jeff Squyres
251f68b94f Re-separate out the always-installable headers from the
LAM-development headers.

This commit was SVN r925.
2004-03-18 21:35:28 +00:00
Prabhanjan Kambadur
e18d26e901 Fortran has to be enabled by seperate flags. I was using the same flags as used by teh C interface which built fortran bindings even when the user has disabled them
This commit was SVN r924.
2004-03-18 21:34:00 +00:00
Jeff Squyres
51109ef70a Add some sub-Makefile.am's in the libevent tree
This commit was SVN r903.
2004-03-17 22:28:18 +00:00
Jeff Squyres
1ee935eac6 Perhaps the final commit of the Great Source Reorganization...
This commit was SVN r891.
2004-03-17 21:11:52 +00:00
Jeff Squyres
aa8ef8bd0a Build system mods for the new directory organization
This commit was SVN r879.
2004-03-17 19:06:06 +00:00
Jeff Squyres
86d2c8aca9 Fixes for VPATH builds
This commit was SVN r869.
2004-03-17 03:58:21 +00:00
Jeff Squyres
f462a7edfb - Make fortran pthread tests work properly
- Add THREAD_*FLAGS to all the relevant places
- Propagate THREAD_*FLAGS to the wrappers
- Add src/mpi/win/Makefile to AC_OUTPUT

This commit was SVN r868.
2004-03-17 03:04:44 +00:00
Jeff Squyres
7e97aafb66 Ensure that we always have fortran sizeof's and alignments, and put
them in run-time variables so that they can be overridden at run-time

This commit was SVN r867.
2004-03-16 23:54:51 +00:00
Tim Woodall
1f915b0b4a - made lam_mutex_t a lam_object
- implemented module exchange
- debugging p2p init
- added condition variables
- added threading test code

This commit was SVN r817.
2004-03-03 16:44:41 +00:00
Jeff Squyres
dce0db9804 We really require AC >= 2.58
This commit was SVN r802.
2004-02-14 06:02:04 +00:00
Jeff Squyres
0b2313082c Fix for bug 736 -- added sizeof/alignment for C++ and Fortran types
This commit was SVN r784.
2004-02-13 18:05:49 +00:00
Jeff Squyres
afb6d28cbf First cut at dramatically decreasing the overhead and increasing the
speed of autogen.sh and configure: find modules that don't need to have
a separate configure script during autogen.sh and set them up to be
part of LAM's build process.  This means that we don't have to run the GNU
tools nearly as much during autogen.sh and that we don't have to run
nearly as many sub-configure scripts during configure.

This works fine for statically-built MCA modules, but doesn't seem to work
properly yet for dynamically-built modules.  More coming soon, but I wanted
to get this in for others to use.

This commit was SVN r756.
2004-02-13 03:58:56 +00:00
Jeff Squyres
1d4a6c1dc6 Fix for bug 732 -- don't let the top-level automake traverse down into
src/lam/event.

This commit was SVN r755.
2004-02-13 03:51:35 +00:00
Jeff Squyres
965d876030 Integrate libevent into liblam
This commit was SVN r739.
2004-02-12 18:54:06 +00:00
Jeff Squyres
d158849b0d Try again for profiling. :-)
This commit was SVN r701.
2004-02-10 20:12:37 +00:00
Jeff Squyres
eb4ebf7619 Add missing Makefile's to the AC_OUTPUT list
This commit was SVN r659.
2004-02-06 16:32:46 +00:00
Prabhanjan Kambadur
e195983847 Changing the F77 null condition. If not fortran compiler is found, then
F77 is set too be "none".

This commit was SVN r647.
2004-02-04 02:23:55 +00:00
Jeff Squyres
71358e7e87 - Ensue to use LAM_BASIC
- Replace some of the Fint detection code with spaces, not tabs :-)

This commit was SVN r494.
2004-01-20 23:16:25 +00:00
Prabhanjan Kambadur
68655dedbc addingn laminfo's Makefile to list of generated files
This commit was SVN r477.
2004-01-19 05:47:09 +00:00
Prabhanjan Kambadur
de1e01d252 OOPS ..... removed a few comments which should be present
This commit was SVN r471.
2004-01-19 01:41:40 +00:00
Prabhanjan Kambadur
6bd87098ba Adding test for MPI_Offset. Also introducing an if statement to check for the size of MPI_Fint only when f77 is present. Else MPI_Fint is defined to be an int.
This commit was SVN r470.
2004-01-19 01:33:03 +00:00
Jeff Squyres
5b66cb3f7a Updates to make MPI_Fint work
This commit was SVN r461.
2004-01-17 04:10:01 +00:00