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

210 Коммитов

Автор SHA1 Сообщение Дата
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