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

159 Коммитов

Автор SHA1 Сообщение Дата
George Bosilca
c065f23a4a Few cleanups.
This commit was SVN r8482.
2005-12-13 06:13:25 +00:00
George Bosilca
4723334d3c Check for both known defined for windows ... However, this file is supposed
to get included by some Fortran compiler, I really don't know it the test
is usefull.

This commit was SVN r8481.
2005-12-13 06:12:07 +00:00
George Bosilca
f636243309 Look like opal is a better place for windows related stuff.
This commit was SVN r8405.
2005-12-08 00:07:40 +00:00
George Bosilca
31fa688e67 Look like the correct way to detect the microsoft compilers is to check for _WIN32 and not WIN32.
This commit was SVN r8402.
2005-12-07 22:56:10 +00:00
George Bosilca
35f8ce5bbf Move the win32 from ompi directly into the include directory.
This commit was SVN r8401.
2005-12-07 22:50:55 +00:00
Brian Barrett
ff98714a88 * since mpi.h comes from mpi.h.in (which is automagically distributed by
automake), we shouldn't distribute mpi.h

This commit was SVN r8362.
2005-12-01 18:31:06 +00:00
Brian Barrett
bc4d3d6fff IRIX compile fixes:
- Need to make sure that SIZE_MAX exists as a constant if stdint.h
    doesn't exist
  - struct timeval is defined in unistd.h on IRIX, so need to include
    that headerfile where ever struct timeval is used.

This commit was SVN r8361.
2005-12-01 18:28:20 +00:00
Jeff Squyres
d55893349f Convert MPI_Offset to be a typedef instead of a #define. See the
following for the rationale:

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

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

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

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

This commit was SVN r8254.
2005-11-24 16:52:35 +00:00
Brian Barrett
129451277e * add missing constant when using the MPI-2 onesided shell functions.
This should probably go to the branch

This commit was SVN r8222.
2005-11-21 23:43:48 +00:00
Brian Barrett
660d2f61b6 Don't add external declarations for the PMPI_W{TICK,TIME} functions
if profiling isn't enabled.  It appers that some compilers (g95)
will try to resolve the symbols if they are prototyped.

This commit was SVN r8110.
2005-11-11 00:12:40 +00:00
Brian Barrett
28891d6de3 * Move MPI_Wtime and MPI_Wtick back out of mpi.h and into the C bindings library,
restoring the PMPI version.  A variety of reasons for this:

  - mpi.h was blinding using inline in a C header without the configrue mojo
    properly set it, as mpi.h doesn't include ompi_config.h.  This eventually
    would have caused a borked build.
  - mpi.h and mpif.h were never updated to not include PMPI_W{tick,time} as
    a proper prototype
  - The C++ and F90 bindings didn't do the right things when there was no
    PMPI version of the C call, but profiling was enabled
  - Since we only use gettimeofday, the function call overhead really doesn't
    matter

This should probably go to the 1.0 branch

This commit was SVN r8014.
2005-11-07 17:22:48 +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
88ab3dcdf0 Fix a bunch of stupid typos
This commit was SVN r7523.
2005-09-27 19:31:20 +00:00
Jeff Squyres
621fb2b99e - Add more missing fortran values
- Add warnings to not tamper with constant values in mpi.h.in without
  also adjusting mpif.h.in

This commit was SVN r7520.
2005-09-27 17:47:21 +00:00
Brian Barrett
9d2c2d4ab8 * add declarations for MPI_SEEK_CUR and MPI_SEEK_END
This commit was SVN r7519.
2005-09-27 17:20:41 +00:00
Jeff Squyres
844cf6ae39 Add missing declarations for MPI_SEEK_SET, MPI_MODE_CREATE,
MPI_MODE_WRONLY

This commit was SVN r7512.
2005-09-27 02:37:11 +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
George Bosilca
56f8607439 Adding MPI_IN_PLACE for both languages C and Fortran. Still working on the C++ and maybe F90 stuff. It's easilly
getting ugly ...

This commit was SVN r7275.
2005-09-09 20:44:04 +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
Rainer Keller
a36347d728 - Support -prefix specification on mpirun/orterun cmd-line per
app_context:
  mpirun -np 2 -prefix /path/to/ompi/on/machineA ./exec1 : \
         -np 2 -prefix /path/to/ompi/on/machineB ./exec2

- Allow with -mca pls_rsh_assume_same_shell 0, the checking for the
  SHELL-variable on the actual node (currently 1st node).
  Sets the prefix, PATH and LD_LIBRARY_PATH for bash/ksh and 
  csh/tcsh.

This commit was SVN r7195.
2005-09-06 16:10:05 +00:00
Brian Barrett
77dafc7826 * Make Fortran 90 turned on by default (unless it's a developer build, in
which case, skip it, since it takes so bloody long to compile)
* Dsiable the XGrid PLS when compiling in 64 bit mode, as Tiger only
  ships with XGrid libraries for 32bit apps
* ompi_config.h and orte_config.h (and supporting headers) are now only
  installed if --with-devel-headers is enabled.  Since they are no
  longer needed for MPI applications, it doesn't make sense to install
  them if we are only installing mpi.h and mpif.h.
  Also, since we are no longer including ompi_config.h in mpi.h, there
  is no longer a need to do the dumb sed trick on install

This commit was SVN r7042.
2005-08-26 00:11:30 +00:00
Brian Barrett
bab3508464 * if fortran support is disabled, we need the bogus type as well as the
fint type for mpi.h to parse correctly.

This commit was SVN r7028.
2005-08-25 14:07:28 +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
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
95fd068ffa remove hard coded constants for value of MPI_TAG_UB and the max CID and add
the values to the PML structure.  This will allow PMLs that want to do
hardware matching at the cost of a smaller range of valid tags and cids.
Updated all the places that used the MPI_TAG_UB_VALUE constant to instead
look at the pml struct.

This commit was SVN r6778.
2005-08-09 14:56:04 +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
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
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
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
e55f99d23a * rename ompi_if to opal_if
* rename ompi_malloc to opal_malloc
* rename ompi_numtostr to opal_numtostr
* start of rename of ompi_environ to opal_environ

This commit was SVN r6332.
2005-07-04 01:36:20 +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
568bac7e4e Several of the Fortran datatypes were already included in mpi.h; added
#define's for the rest of them.

This commit was SVN r6144.
2005-06-23 10:38:18 +00:00
Jeff Squyres
1903b3f274 Remove some LAM-specific values
This commit was SVN r6135.
2005-06-22 10:29:18 +00:00
Jeff Squyres
f16e86ec81 Fix logic mistake with the OMPI_WANT_CXX_BINDINGS macro -- it's not
enough that it's defined; it must also be true before we include the
C++ bindings header files.

This commit was SVN r5868.
2005-05-25 18:29:00 +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
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
d6f23a727d - Add missing MPI_INTEGER #define
- After consulting with George, only define the fortran types if the
  back end Fortran compiler actually supports them.  We always have
  the corresponding global C datatypes, but it seems nicer user
  behavior to have them fail at compile time rather than at run time
  if they try to use MPI_INTEGER8 and it doesn't exist (in which case
  ompi_mpi_integer8 will be a synonym for ompi_mpi_datatype_null)

This commit was SVN r5520.
2005-04-28 11:42:42 +00:00
Jeff Squyres
73d284eb13 Change the name of the "OMPI_MPI" macro to "OPEN_MPI" which is less
redundant and less confusing.

This commit was SVN r5512.
2005-04-27 10:23:32 +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
8b69a532b7 * the next (and hopefullly last!) ompi_config_bottom.h fixup for Windows.
Last night's fix completely disregarded building the DSO components,
  which need to have the dllimport flag set for all the libmpi stuff, and
  need to export their component structures.  Unfortunately needed to
  add another #define to deal with the components for windows, but
  it required the least amount of work for all the non-Windows people.

This commit was SVN r5461.
2005-04-20 01:30:06 +00:00
Josh Hursey
0c3bfad751 back out windows changes
This commit was SVN r5451.
2005-04-19 16:01:42 +00:00
Josh Hursey
24e3ae8b94 Remove extraneous DECLSPEC on enum.
This commit was SVN r5442.
2005-04-19 14:33:02 +00:00
Josh Hursey
14ada6ff91 Fixed up for Windows build...
This commit was SVN r5431.
2005-04-19 04:21:50 +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
Jeff Squyres
61f55f1011 Fix the problem with the nightly unit tests -- do *not* override
OMPI_ENABLE_DEBUG because that changes the size of struct's (e.g.,
ompi_object) in the unit tests as compared to what may have been
compiled in the library.

This commit was SVN r5373.
2005-04-15 13:32:18 +00:00
Jeff Squyres
439c3b629b Update the @@ symbol to use the new name where the OMPI SVN r string
is stored

This commit was SVN r5221.
2005-04-08 10:11:52 +00:00
George Bosilca
aa421ffc45 Move the definition if INADDR_NONE in the unique file that use it. Anyway the
ompi_config_bottom.h was a bad place to have it as normally this file is included
before everything else so we always define our own INADDR_NONE generating
a lot of warnings on some OSes.

This commit was SVN r5198.
2005-04-07 02:18:41 +00:00
Jeff Squyres
71d423529a - Removed some useless C++ protection
- Added some protection to portions that should only be used when
  we're building OMPI (not, for example, when mpicc is being used to
  compile a user's MPI application)

This commit was SVN r5082.
2005-03-29 02:48:50 +00:00