Commit Graph

29 Commits

Author SHA1 Message Date
Mike McGreevy
dc9288a447 [svn-r21101] HDFFV-7639
Purpose:

    Remove H5_MPI_SPECIAL_COLLECTIVE_IO_WORKS and
    H5_MPI_COMPLEX_DERIVED_DATATYPE_WORKS #defines from source.

Description:

    Two advanced parallel functionalities, special collective IO and
    complex derived datatypes, are not supported by older
    implementations of mpi, and thus our code limits the use of these
    features with #ifdefs and has checks in configure to set them (or
    not). Unfortunately, configure can't actually run a parallel check
    to see if these features are working (nor not) so it resorts to
    looking in the config files where they are explicity enabled or
    disabled based on versions of mpi, sytems being built on, or for
    no documented reason at all (i.e. just set to on or off as some
    'default'). Overriding these settings is easy if need be, provided
    it is known that it needs to be done to get improved performance,
    and oftentimes it is not.

    Most new MPI implementations successfully handle the functionality
    requested when these #defines are set, and many of the "turn these
    features off" cases in the config files are for old (> 5 years)
    versions of MPI and retired systems (such as NCSA's tungsten).

    Therefore, the decision has been made to remove the support for
    these old versions of MPI and systems that cannot handle these
    behaviors. The #ifdefs and supporting setup in the config/ files
    and configure script has been removed, and the code executed when
    these options were not set removed from the source.

    In passing, this commit also cleans up some whitespace issues in
    both t_mpi.c and H5Dmpio.c. Furthermore, in t_mpi.c, the special
    collective IO test was not getting regularly run due to it being
    written to work only with four processes (we regularly test with
    six, previously with three), and thus it failed when actually run
    due to an out of bounds data buffer assignment. It has been
    modified to run at any number of processes greater than four, and
    the memory problem has been fixed so the test passes.

Tested:

    jam, h5committest, ember
2011-07-14 15:33:21 -05:00
Albert Cheng
2013dace18 [svn-r19764] Updated NPROCS default value from 3 to 6. 2010-11-11 13:17:02 -05:00
Mike McGreevy
21518fd05a [svn-r17654] Purpose:
Configure cache-val cleanup

Description:

    Corrected some misnamed cache values in configure / config files.

Tested:

    h5committest
2009-10-15 16:14:27 -05:00
Mike McGreevy
7ec079a515 [svn-r17616] Purpose:
CFLAGS overhaul

Description:

    Modified the way configure handles CFLAGS.

    (note: all changes also apply to FCFLAGS, CXXFLAGS, CPPFLAGS, and LDFLAGS).

    1. The configure process will now always preserve a user's CFLAGS
    environment variable setup. Any additional flags necessary for compilation
    added at configure time will be passed into the Makefiles as AM_CFLAGS,
    which is an automake construct to be used in addition to CFLAGS.

    This will allow a user to have the final say, as CFLAGS will always appear
    later in the compile line than AM_CFLAGS. Additionally, setting CFLAGS
    during make will no longer completely erase all flags set by configure,
    since they're maintained in AM_CFLAGS.

    2. Additionally, where possible, flags previously being assigned directly
    into CFLAGS (and thus propagating into h5cc) have now been redirected into
    H5_CFLAGS, so they're used ONLY for compiling hdf5, and not embedded into
    the h5cc wrapper script as well.

    *Note that H5_CFLAGS ultimately is assigned into AM_CFLAGS for use in the
    Makefiles. Complete description of changes and build process will be
    included in a Configure Document that Elena and I are working on.

    3. Removed unsupported config files. This includes:

       config/dec-osf*
       config/hpux11.00
       config/irix5.x
       config/powerpc-ibm-aix4.x
       config/rs6000-ibm-aix5.x
       config/unicos*

     4. Modified configure summary to display additional values. Specifically,
     appropriate AM_* variables are being shown, as well as H5_FCFLAGS and
     H5_CXXFLAGS, which were for some reason not already present.

Tested:

    - H5committest
    - Tested on all THG / NCSA machines, using several combinations of the more
      prominent configure options (c++, fortran, szip, threadsafe, parallel,
      et cetera). (Thanks to Quincey for rysnc testing setup!)
    - With regards to new automated testing, anything *necessary* for
      compilation will be caught by the daily tests as it stands now. (i.e.,
      if LDFLAGS is not properly set when szip is used, linking will fail).
      Additionally, with regards to which flags get into h5cc, if any
      *necessary* flags have been improperly removed, then daily tests should
      fail during make installcheck. Additional machine-specific desired
      behaviors and/or checks may have to be set up separately within the
      daily tests, so this is something to work on.
2009-10-08 10:17:30 -05:00
Albert Cheng
914fbdcc67 [svn-r13312] Updated copyright notice. 2007-02-14 17:29:52 -05:00
Albert Cheng
35a3022373 [svn-r12636] Purpose:
Improve default settings.

Use mpicc, mpif90, mpirun as the default $CC, $FC, and $RUNPARALLEL if
enable-parallel.

Tested:
in TG-NCSA both serial and parallel.
2006-08-29 06:19:11 -05:00
MuQun Yang
a8a2d5dedb [svn-r11942] Purpose:
Add collective chunk IO supports

Description:
Added a macro hdf5_mpi_special_collective_io_works to filter out
some mpi-io packages that don't support collective IO for no IO
contributions in some processes.

Solution:
1.
"hdf5_mpi_special_collective_io_works=${hdf5_mpi_special_collective_io_works=
'no'}"
has been added at the end of file ia64-linux-gnu and linux-gnulibc1

2. Some comments are added in ia64-linux-gnu and linux-gnulibc1.
3. Documents are added inside RELEASE.txt.

Platforms tested:
Parallel:

IBM AIX 5.2(copper)
Linux (heping) mpich-1.2.6
SDSC Teragrid mpich-1.2.5
Linux(Tungsten) mpich-1.2.6
Altix(NCSA cobalt)

Seq:
Linux(heping)

Misc. update:
2006-02-16 11:51:47 -05:00
Frank Baker
25733372e4 [svn-r11614]
Description:
    Correct typo in copyright notice.
Platforms tested:
    Ran hdf5/bin/chkcopyright without errors.
2005-10-28 15:28:20 -05:00
Albert Cheng
9171536823 [svn-r11610] Purpose:
Bug fix.

Description:
The previous way of detecting the MPICH version fails if the suspected
$CC does not give the expected MPICH version information.  Though no
consequence, it generates error messages that alarm users.
Also, mpich2 gives the version information as if it were mpich v1.0.2
which was incorrectly included as an earlier version of the origianl
mpich.

Solution:
Implemented a more robust code to detect the version and narrow the
recognition down to v1.2.0-v1.2.5.  Also, the code were duplicated in
two files (linux-gnulibc1 and ia64-linux-gnu).  Combined them into a
new file called mpich.

Platforms tested:
Tested in heping using mpicc and mpich2/mpicc and also in tg-ncsa.

Misc. update:
Updated MANIFEST.
2005-10-26 15:44:19 -05:00
Frank Baker
155d762b9c [svn-r11592]
Description:
    Add source code copyright notice; comment symbols vary by type of file.
Platforms tested:
    No changes that should cause any problems.  Nonetheless, the tree will
    be checked out fresh and tests run immediately post-commit.
2005-10-21 09:54:41 -05:00
James Laird
c8c43d2b9a [svn-r11461] Purpose:
Code cleanup

Description:
Removed Fortran type sizes from config/* files.

Solution:
These lines weren't doing anything anymore; they've been replaced by automatic
type generation.  This is just housekeeping to remove them from
the config/* files.

Platforms tested:
mir, sol, modi4
2005-09-22 18:02:40 -05:00
MuQun Yang
0f1c1ae4b3 [svn-r11066] Purpose:
Updating phase 2 work of collective IO


Description:
When the size is bigger than some value for MPI derived data type, mpich 1.2.5 and lower
version won't work any more, so in the configuration file, we will check the version number
and switch from collective IO to independent IO by turning off complex derived datatype.

Solution:


Platforms tested:
linux 2.4, AIX 5.1, Linux 2.4 IA64 and IRIX 6.5


Misc. update:
2005-07-12 14:16:39 -05:00
Elena Pourmal
acb664910b [svn-r10804] Purpose: Maintenance
Description: Altix configuration file used icc for the default C++ compiler.
             Since cobalt moved to Intel 8.1, C++ compilation failed.

Solution: Changed icc to icpc for the default C++ compiler on Altix.

Platforms tested: cobalt

Misc. update:
2005-05-26 10:29:45 -05:00
James Laird
25df1908bc [svn-r10158] Purpose:
Automake version upgrade

Description:
Upgraded automake version from 1.6.2 to 1.9.5.
Changed bin/reconfigure script to use automake 1.9.5.
Changed configure.in and Makefiles to use new FCFLAGS and FC variables
instead of FFLAGS and F9X.
Automake and configure should now do the lion's share of the work
supporting Fortran 9X; macros in acsite.m4 are now mostly unused (will
be cleaned later).
Altered how configure handles pmake; now root-level Makefile.in is
processed by bin/reconfigure to have a .MAKEFLAGS target, since
automake no longer allows us to define unused variables.
Configure now always checks for C++ compiler even if it is not
used, since automake thinks this is the Right Thing To Do and
will break otherwise.

Platforms tested:
Sol, copper, heping, mir, sleipnir, eirene, pommier, kelgia, modi4.
2005-03-07 12:57:27 -05:00
Quincey Koziol
c04b612eb4 [svn-r9801] Purpose:
Bug fix

Description:
    Belatedly chase change of hobj_ref_t in C APIs.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/backward compatibility turned on
    IRIX64 6.5 (modi4) w/FORTRAN
    h5committest
2005-01-10 17:56:20 -05:00
Quincey Koziol
427ff7da28 [svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)

Description:
    Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation.  So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.

    I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
    FreeBSD 4.10 (sleipnir) w/threadsafe
    FreeBSD 4.10 (sleipnir) w/backward compatibility
    Solaris 2.7 (arabica) w/"purify options"
    Solaris 2.8 (sol) w/FORTRAN & C++
    AIX 5.x (copper) w/parallel & FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN
    Linux 2.4 (heping) w/FORTRAN & C++


Misc. update:
2004-12-29 09:26:20 -05:00
Quincey Koziol
90d937946f [svn-r9611] Purpose:
Bug fix

Description:
    Correct typo in ia64 configure script.

    Update intel compiler detection to handle Itanium versions of compilers

Platforms tested:
    Teragrid machine (tg-login) w/icc 7.1 & 8.x
    Linux 2.4 (verbena) w/icc
2004-12-03 13:08:14 -05:00
Albert Cheng
f470d44017 [svn-r9565] Purpose:
Improvement.

Description:
Change the default CC, F9X and CXX compilers from ecc/efc/ecc
to icc/ifort/icc because Intel keeps changing their compiler
names.  This eliminated the warning messages that a wrong
compiler name is used.

Platforms tested:
Tested in Tg-login NCSA only since that is the only
IA64 platform on site.
2004-11-23 15:48:06 -05:00
Albert Cheng
226950b616 [svn-r9162] Purpose:
Bug fix.

Description:
$CXX_BASENAME was not set yet if $CXX was pre-set to g++.  In turn,
CXX_flags are not picking up the g++ values.

Solution:
The correct solution should be done in configure which should have
setup CXX_BASENAME if $CC is set before sourcing this file.
Put a special patch here for g++ for now.
(Also added the recognization of icc as another name for Intel
compilers.)

Platforms tested:
No h5committest but tested in TG-NCSA since these changes affected
the IA64 platform only.

Misc. update:
2004-08-26 14:03:33 -05:00
Robert E. McGrath
2f7d90c0da [svn-r9119] Purpose:
Fix to config for ia64-linux (C++)

Description:
missing character in config file

Solution:
add the missing character

Platforms tested:
'hal'

Misc. update:
2004-08-19 10:58:07 -05:00
Albert Cheng
095a6977f4 [svn-r9031] Purpose:
Improvement.

Description:
setup default setting for C++ API. Default to use the ecc compiler.

Platforms tested:
Tested in TG-ncsa which is the IA64 platform.  None of the standard committest
platforms would have tested this change.

Misc. update:
2004-08-05 18:02:26 -05:00
Albert Cheng
1be75d8fe0 [svn-r8886] Purpose:
bug fix.

Description:
The previous patch of -D__GNUC__ was causing failure in the
newer compiler.  The previous failure could not be repeated
any more.  So, removed it.

Platforms tested:
Tested only in TG-NCSA since the change affects only the ia64 platform.

Misc. update:
2004-07-15 17:45:29 -05:00
Raymond Lu
3774b2732a [svn-r8041] Purpose: bug fix
Description:  After titan updated ecc compiler, int64_t cannot be found.

Solution: Added -D__GNUC__ to CFLAGS to enable int64_t in /usr/include/stdint.h

Platforms tested: titan(titan specific)
2004-01-08 15:04:56 -05:00
Quincey Koziol
09c83fc827 [svn-r7946] Purpose:
Bug fix

Description:
    Fix problems building on Debian Linux when Intel's "ecc" compiler is
not available.

Platforms tested:
    Eyeballed - very trivial patch from user.
2003-12-13 13:46:10 -05:00
Quincey Koziol
04acddc331 [svn-r7886] Purpose:
Update ecc compiler flags

Platforms tested:
    Titan
    Not relevant to other platforms, so no h5committest.
2003-11-25 16:24:21 -05:00
Bill Wendling
b303888f43 [svn-r7854] Purpose:
Bug Fix

Description:
    The FFLAGS, CXXFLAGS, and CPPFLAGS variables weren't carrying
    user-defined values into the Makefiles.

Solution:
    Changed the flags from FOO="..." to FOO="$FOO ..."

Platforms tested:
    Copper
    Verbena
    Arabica

Misc. update:
2003-11-14 15:36:53 -05:00
Elena Pourmal
c926d46a9d [svn-r7284]
Purpose: Bug fix (by Bill Wendling)

Description:  When efc compiler was used, FFLAGS were not set up
              to deal with !DEC amd !MS dirctive and to use
              -Vaxlib flag for exit call.

Solution: Modify the file to set up the flag.

Platforms tested: titan

Misc. update:
2003-08-04 13:27:57 -05:00
Bill Wendling
0603e2db00 [svn-r7269] Purpose:
Update

Description:
    Revamped the configuration system. The configurations for the Fortran
    and C++ libraries are no longer separate from the "main"
    configuration system. This involved removing the "configure*" and
    "aclocal.m4" files from the fortran/ and c++/ subdirectories. Also
    merging settings in the config/ subdirectories into the main config/
    subdirectory.

    Fortran header files had to be modified a little for Linux. It was
    checking if it was a Linux machine by some #defines, however with the
    -std=c99 switch, these defines weren't there. I added a check for
    some other ones which should be there whether the -std=c99 switch is
    used or not.

Platforms tested:
    Verbena (Fortran & C++)
    Sol (Fortran & C++)
    Copper (Fortran & C++)
    Modi4 (Parallel, Fortran, & C++)

Misc. update:
2003-07-28 16:38:04 -05:00
Albert Cheng
7a6bda13fe [svn-r6560] Purpose:
Feature (bug fix)

Description:
Added a new configure file specifically for the IA64 platform
in which ecc and efc are the default compilers.
Also added all the Fortran special setup in the fortran version

Platforms tested:
no h5committest since this is a IA64 platform stuff.
Tested in Titan.

Misc. update:
MANIFEST Updated.
2003-04-02 11:50:58 -05:00