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

50 Коммитов

Автор SHA1 Сообщение Дата
Brian Barrett
73f4f407c1 Extend test for compiler vendor to include many, many more compilers, and
unify the C / C++ tests, as they are often the same defines to check...

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

This commit was SVN r8370.
2005-12-02 01:02:19 +00:00
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
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
2787d993a9 * Add checks for fork/execve/setpgid for slurm components so that they
automagically don't build on platforms without such things
* Fix for mistaken use of cache variable in assembly setup
* one more cached test hits the books

This commit was SVN r7404.
2005-09-16 04:51:09 +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
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
George Bosilca
7d267e63a3 Add a OMPI_CHECK_MX M4 macro.
This commit was SVN r6627.
2005-07-27 22:34:01 +00:00
Galen Shipman
f3843bee55 Updated openib btl and mpool to use configure.m4
removed ompi_ignore files from openib btl and mpool. 

This commit was SVN r6612.
2005-07-27 03:38:25 +00:00
Brian Barrett
9a83910165 * Change Myrinet/gm btl and mpool to use configure.m4 instead of
configure.stub

This commit was SVN r6608.
2005-07-26 21:56:36 +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
586918853c * Turn thread support on by default, but disable both mpi and progress
threads (basically, same as before, but we now link the right thread
  libraries). 
* Add disable-io-romio flag to disable compiling ROMIO
* Migrathe mvapi btl from configure.stub to configure.m4

This commit was SVN r6453.
2005-07-13 01:07:31 +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
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
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
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
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
3f5541349a Add UC copyright
This commit was SVN r5009.
2005-03-24 12:43:37 +00:00
Craig E Rasmussen
c5f183fd78 Added initial versions of f90_get_precision.m4 and f90_get_range.m4
This commit was SVN r4261.
2005-02-02 00:34:02 +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
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
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
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
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
a721849e84 While waiting for a lengthy compile, I noticed a bunch of old remnants
from the "LAM/MPI" -> "Open MPI" name change that didn't convert
properly.  So this commit fixes all instances of "OMPI/MPI" to "Open
MPI".

This commit was SVN r1924.
2004-08-06 14:30:18 +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
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
David Daniel
563ac2a338 First pass of lam -> ompi conversion
This commit was SVN r1191.
2004-06-07 15:33:53 +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
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
Prabhanjan Kambadur
0c221c80fd These files help in determining MPI_Fint (in terms of relevant C types).
configure.ac #define's MPI_Fint to be of int32_t, int64_t or int depending
on the configuration details

This commit was SVN r454.
2004-01-16 22:16:25 +00:00
Jeff Squyres
ae93b4fffb Add libltdl into the build process.
This commit was SVN r383.
2004-01-14 23:50:58 +00:00
Jeff Squyres
eda594df84 First cut at thread support / eliminate warnings due to lack of
LAM_HAVE_THREADS

This commit was SVN r364.
2004-01-14 07:06:57 +00:00
Jeff Squyres
6684bad5da Overhauls to autogen.sh and configure.ac (and related m4 files) to build
MCA modules.

This commit was SVN r273.
2004-01-11 21:35:37 +00:00
Jeff Squyres
6262c04d9b - Add file system case sensitivity test
- Add base directories to current MCA types

This commit was SVN r158.
2004-01-09 08:25:18 +00:00
Prabhanjan Kambadur
0d033c8d56 adding tests to check whether the filesystem is case sensitive
This commit was SVN r142.
2004-01-09 04:56:39 +00:00
Jeff Squyres
808811ca5a Remove including ax_create_stdint_h.m4
This commit was SVN r137.
2004-01-09 02:59:38 +00:00
Jeff Squyres
fa8fda77b3 - Add calls for new macros:
- LAM_SETUP_F77 (moved pre-existing F77 code to this macro)
  - LAM_SETUP_F90
  - LAM_C_WEAK_SYMBOLS
- Do handling for figuring out whether we need to compile in
  src/mpi/*/profile or not

This commit was SVN r110.
2004-01-08 13:36:14 +00:00
Jeff Squyres
55b8aa9066 Add tests for C++ compiler exceptions
This commit was SVN r82.
2004-01-07 15:34:40 +00:00
Jeff Squyres
b93da5b412 Remove $Id$
This commit was SVN r69.
2004-01-07 14:55:59 +00:00
Jeff Squyres
97e8260b38 - Removed header, replaced with $HEADER$ (to be filled in later)
- Add sinclude's for new m4 header files

This commit was SVN r35.
2004-01-07 07:49:52 +00:00
Tim Woodall
e952ab1f88 initial port to C (very incomplete)
This commit was SVN r8.
2003-12-22 16:29:21 +00:00
Jeff Squyres
350564b9f3 First commit
This commit was SVN r1.
2003-11-22 16:36:58 +00:00