Commit Graph

235 Commits

Author SHA1 Message Date
Bill Wendling
c12f91908b [svn-r6795] Purpose:
Feature Add

Description:
	Added knob so that the programmer can enable or disable GPFS
	hints during runtime instead of having it only enabled at
	configure/compile time. Some of the public APIs were changed
	to add an extra parameter for this option...

Platforms tested:
	Blue (LLNL). It only affects the MPI/POSIX driver, so no need
	to test it on non-GPFS platforms.

Misc. update:
2003-05-05 15:48:33 -05:00
Albert Cheng
d76dfb1985 [svn-r6755] Purpose:
feature

Description:
added test_fapl_mpiposix_dup to verify the MPIPOSIX is making
duplicates of Communicator correctly.

Platforms tested:
Did not h5committested because these are all MPI code and well protected
by HAVE_PARALLEL.
Tested in eirene and modi4, both parallel mode.

Misc. update:
2003-04-25 09:27:36 -05:00
Albert Cheng
4fa8fe270c [svn-r6741] Purpose:
code cleanup.

Description:
Rename test_comm_info_delete to test_fapl_mpio_dup to better decribe
what it does.  Updated the comments to describe more accurate.

Platforms tested:
Did not run h5commmittest since the changes were all in parallel area.
Ran parallel tests on modi4 and eirene.

Misc. update:
2003-04-23 16:19:51 -05:00
Albert Cheng
d98f0d77c1 [svn-r6740] Purpose:
simple code cleanup.

Description:
While debug a problem in multiple_group_write(), noticed some returned
values were not checked.  Added code to check on all returned code.

Platforms tested:
h5committested.

Misc. update:
2003-04-23 15:21:44 -05:00
Albert Cheng
9e3ab7e5d2 [svn-r6718] Purpose:
bug fix

Description:
The fphdf5.o and similar files are not included in the make clean
target.  So, if the same directory is used again for a different
build, the left behind file could cause a problem (e.g., if
the second build is for a different binary format.)

Solution:
Added fphdf5.c to the TEST_SRC list which indirect form the clean
target list.

Platforms tested:
Did not run h5committest tests because they don't verify this
failure.  I tested the fix in modi4 pp to verify all files are cleaned.

Misc. update:
2003-04-19 21:10:15 -05:00
Albert Cheng
6bf4a73c6c [svn-r6714] Purpose:
Feature

Description:
Test program for the Flexible PHDF5 feature.

Platforms tested:
Tested on modi4 before but the feature is currenly disabled in
configure.  Checking this in for future work.

Misc. update:
2003-04-18 08:32:18 -05:00
Albert Cheng
49fa61246e [svn-r6709] Purpose:
Bug fixes/API changes

Description:
    Previously, the Communicator and Info object arguments supplied
    to H5Pset_fapl_mpio() are stored in the property with its handle
    values.  This meant changes to the communicator or the Info object
    after calling H5Pset_fapl_mpio would affect the how the property
    list function.  This was also the case when H5Fopen/create operated.
    They just stored the handle value.  This is not according to the
    MPI-2 defined behavior of how Info objects should be handled. (MPI-2
    defines Info objects must be parsed when called.)
    The old design was trying to avoid numerous duplicates of the same
    information (e.g., every property object holds one version, every
    file opened holds another version, when all of them are referring to
    the same original version.)  Nevertheless it is safer to implement
    it according to MPI-2 definition.
    Futhermore, the library often needs to do message passing using the
    supplied communicator.  Using the same communicator as the application
    version may result in some messages mix up.
Solution:
    H5Pset_fapl_mpio now stores a duplicate of each of the communicator
    and Info object.
    H5Pget_fapl_mpio returns a duplicate of its stored communicator and
    Info object.  It is now the responsibility of the applications to free
    those objects when done.
    H5Fopen/create also stores a duplicate of the communicator and Info
    object supplied by the File Access Property list.
    H5Fclose frees those duplicates.
    There are a few more internal VFL call back functions that they
    follow this "make duplicates" requirement.

Platforms tested:
"h5committested".
What other platforms/configurations were tested?
    Eirene (mpicc), sol(mpicc), copper(parallel)

Misc. update:
Need to update MANIFEST for the added t_ph5basic.c which tests the
correctness of duplicated communicator and INFO object.
2003-04-17 22:04:56 -05:00
Bill Wendling
91fdb66926 [svn-r6539] Purpose:
Update

Description:
    Updated (and in some cases added) the copyright statement.

Platforms tested:
    Linux (Comment changes...only tested if they compile)

Misc. update:
2003-03-31 13:02:10 -05:00
Raymond Lu
117381d325 [svn-r6421]
Purpose:
    test program modification
Description:
    put part of code into an internal function.  Nothing serious.
Platforms tested:
    eirene
2003-02-19 12:59:46 -05:00
Raymond Lu
941509ab25 [svn-r6419]
Purpose:
    More test.
Description:
    Test independent read of groups and chunked dataset.
Solution:
    This test is similar to multiple group test.  So just add it in the
    testphdf5.c,h.
Platforms tested:
    modi4, eirene.
2003-02-18 16:50:42 -05:00
Albert Cheng
7ff7845b3a [svn-r6414] Purpose:
Bug fix (no id, just noticed myself)
Description:
    Added a barrier before doing file cleanup to ensure all tests are
    completed by then.
    Moved the MPI_Finalize to be very end and insert an H5close before
    it to ensure all potential MPI activities by HDF5 are done by then.
Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}?  Yes.
2003-02-18 00:12:58 -05:00
Quincey Koziol
0475dd9a70 [svn-r6412] Purpose:
Code cleanup

Description:
    Update dependencies and clean up a few warnings.

Platforms tested:
    Linux 2.2 (eirene) w/parallel
2003-02-17 12:11:03 -05:00
Quincey Koziol
24d8506dd5 [svn-r6387] Purpose:
Bug Fix

Description:
    Metadata cache in parallel I/O can cause hangs in applications which
    perform independent I/O on chunked datasets, because the metadata cache
    can attempt to flush out dirty metadata from only a single process, instead
    of collectively from all processes.

Solution:
    Pass a dataset transfer property list down from every API function which
    could possibly trigger metadata I/O.

    Then, split the metadata cache into two sets of entries to allow dirty
    metadata to be set aside when a hash table collision occurs during
    independent I/O.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
        modi4 (parallel, fortran)}

    FreeBSD 4.7 (sleipnir) serial & parallel

Misc. update:
    Updated release_docs/RELEASE
2003-02-10 12:26:09 -05:00
Albert Cheng
a9c79d6b61 [svn-r6286] Purpose:
bug fix
Description:
    Added a barrier to ensure all processes have finished using
    the file before cleaning it away.
    Added H5close() to ensure all HDF5 stuff are closed before
    calling MPI_Finalize.
Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}? Yes
2003-01-15 11:06:47 -05:00
Quincey Koziol
98f01e2df2 [svn-r6255] Purpose:
Code cleanup

Description:
    Clean up a few more warnings and update dependencies.

Platforms tested:
    Linux 2.2.18smp (eirene) serial & parallel
2003-01-09 13:40:19 -05:00
Quincey Koziol
22f38d627e [svn-r6055] Purpose:
New feature

Description:
    Add support for scalar dataspaces in parallel I/O.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}
    Also, FreeBSD 4.7 (sleipnir) serial & parallel
Misc. update:
    Update release_docs/RELEASE for bug fixes, new features, etc.
2002-11-05 11:31:02 -05:00
Quincey Koziol
a6add2ab92 [svn-r6048] Purpose:
Testing fix.

Description:
    Correctly detect when one of the parallel tests fails and stop the make
    from proceeding.

Platforms tested:
    modi4 (parallel), sleipnir (parallel)
2002-11-01 13:43:04 -05:00
Quincey Koziol
820f4b6fc6 [svn-r6043] Purpose:
Bug fix

Description:
    I/O using "none" selections in parallel wasn't working correctly.  Also,
    add serial "none" selection test.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}
2002-10-29 14:42:10 -05:00
Quincey Koziol
ea08053e29 [svn-r5983] Purpose:
More fixups to the Dependencies files...
2002-10-14 13:11:12 -05:00
Quincey Koziol
a83585acca [svn-r5981] Purpose:
Regenerate Dependencies files.
2002-10-14 09:58:25 -05:00
Quincey Koziol
12f8879c40 [svn-r5926] Purpose:
API name change

Description:
    Change all "space time" references to "alloc time", including API functions
    and macro definitions, etc.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/C++
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/parallel & FORTRAN
2002-09-13 11:57:46 -05:00
Albert Cheng
35ea1840d1 [svn-r5905] Purpose:
Bug fix
Description:
    script did not work for SP system.
Solution:
    added "eval" command to launch the mpi execution.  This works fine
    for SP and is basically a no-op for non-batch systems like workstations.
    Also got rid of the wrongle implemented TESTING message since the
    result was not printed and the tests output mess up the format already.
Platforms tested:
    SP (snow).  Did not test more since it has been tested out fine
    in the v1.4 checkin.
2002-08-28 18:10:42 -05:00
Quincey Koziol
7ee60ff06d [svn-r5898] Purpose:
Additional test

Description:
    Add in a fill-value to one of the tests, to make certain that they are
    handled correctly.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/serial & parallel
2002-08-27 14:31:04 -05:00
Quincey Koziol
c6f898c3c7 [svn-r5896] Purpose:
Code cleanup

Description:
    Cleaned up some compiler warnings.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/serial & parallel.  Will be testing on IRIX64
    6.5 (modi4) in serial & parallel shortly.
2002-08-27 08:42:40 -05:00
Raymond Lu
29da4951f8 [svn-r5879]
Purpose:
    Design for compact dataset
Description:
    Compact dataset is stored in the header message for dataset layout.
Platforms tested:
    arabica, eirene.
2002-08-20 11:18:02 -05:00
Quincey Koziol
af2b1cf00c [svn-r5815] Purpose:
Bug fix

Description:
    t_mpi test program was not being run with the RUNPARALLEL command

Solution:
    Put the t_mpi program into the TEST_PROGS_PARA macro instead of the
    TEST_PROGS macro

    Hopefully this'll fix the daily test problems on arabica, but I can't test
    it because I can't get mpirun to work correctly for me.

Platforms tested:
    IRIX64 6.5 (modi4) w/parallel
2002-07-19 15:09:16 -05:00
Quincey Koziol
b1aa07bd2a [svn-r5800] Purpose:
New feature.

Description:
    Added MPI-posix VFL driver support.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/parallel & IRIX64 6.5 (modi4) w/parallel
2002-07-15 10:21:44 -05:00
Quincey Koziol
004988d1f1 [svn-r5795] Purpose:
New feature

Description:
    Changed parallel I/O tests to use test script instead of just running
    testphdf5 executable.  This allows the MPI-posix driver to be tested easily.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/parallel and IRIX64 6.5 (modi4) w/parallel
2002-07-15 10:17:05 -05:00
Quincey Koziol
8aa24fc44a [svn-r5679] Purpose:
Code cleanup

Description:
    Changed ifdef name from "VERBOSE" to "BARRIER_CHECKS", to better describe
    what it affects.

Platforms tested:
    IRIX64 6.5 (modi4) w/parallel
2002-06-19 13:29:12 -05:00
Quincey Koziol
ea052ffd55 [svn-r5674] Purpose:
Code cleanup

Description:
    Removed more compiler warnings, etc.

Platforms tested:
    Linux 2.2.x (eirene) w/parallel
2002-06-19 11:06:55 -05:00
Quincey Koziol
aefc39ac32 [svn-r5667] Purpose:
Code cleanup

Description:
    Turn on more warnings in the IRIX builds and clean them up.

Platforms tested:
    IRIX64 6.5 (modi4) w/parallel
2002-06-19 07:54:53 -05:00
Albert Cheng
dbca4a4022 [svn-r5516] Purpose:
Tidy up
Description:
    Old version showed tons of output even if MPI_Offset is too small
    to support multiple GB sized files and destined to fail.
    Output is pretty confusing.
Solution:
    Prints the signness and size of MPI_Offset for information.
    Skipped tests if MPI_Offset is not big enough to support the file
    sizes.
Platforms tested:
    modi4, eirene, burrwhite (all parallel).
2002-06-03 20:33:00 -05:00
Quincey Koziol
03ab48c9c3 [svn-r5444] Purpose:
Code cleanup

Description:
    Clean up warnings on IRIX64 6.5 (modi4)

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-20 13:43:31 -05:00
Quincey Koziol
1696277a6c [svn-r5386] Purpose:
Bug Fix

Description:
    Currently, only process 0 is writing attribute data to a file.  This is
    incorrect, because the raw data for attributes is cached in memory until
    the object header is written and other processes are not able to read the
    correct attribute information.

Solution:
    Have all processes participate in writing the attribute data.

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-10 10:39:44 -05:00
Albert Cheng
5aeda255db [svn-r5222] Purpose:
feture
Description:
    add calls to show hostname.
Platforms tested:
    eirene (linux 2.2) parallel.
2002-04-22 15:24:59 -05:00
Albert Cheng
f5d5e9e2ff [svn-r5205] Purpose:
Code cleanup
Description:
    Platform dependent code related to the struct stat and fstat
    calls polluted source codes.  Hard to maintain.
Solution:
    Platform dependent code are moved to H5private.h and then internal
    code can #include H5private.h.  Repeat those macro definition for
    the stdio and multi drivers since they area examples for writing
    a virtual file driver.  They must not use any internal code.
Platforms tested:
    eirene (parallel), modi4 (serial including gass driver.)
2002-04-19 02:20:41 -05:00
Albert Cheng
f28193d92c [svn-r4975] Description:
Users were alarmed by the OFFSET overflow and GB file size tests.
    Those tests only checks the limits of the MPI implementation, not
    really as an error.
Solution:
    Changed the VRFY macro to indicate it is an "ERROR".
    Modified the INFO macro to print messages as "REMARK (not an error)"
    so that users would not be alarmed.

    Added an explanation string in the GB file size write/read.
Platforms tested:
    eirene and modi4 (parallel)
2002-02-15 09:55:38 -05:00
Albert Cheng
651c4b1064 [svn-r4582] Purpose:
New test feature
Description:
    Added create_faccess_plist() that create just MPIO or split+MPIO
    file-access property list.  This in turn can run parallel tests
    with just MPIO or with Split-file VFD too.
    Added -s option for split-file Plus MPIO tests.
    For testphdf5.c: removed a bunch of old debug code that got left
    in by mistake.
Platforms tested:
    Modi4 and eirene parallel.
    But it has uncovered errors in the library.  The test program
    is correct though.  Checking the test program in so that it won't
    get lost and can be used for debugging.  Also, the -s is not used
    by default during test.  At least it won't abort "make check".
2001-11-02 10:21:51 -05:00
Raymond Lu
e3a137f39e [svn-r4517]
Purpose:
    Changed to the new generic property list for dataset creation property
    list.
Platforms tested:
    Arabica, modi4 and Hawkwind
2001-10-03 12:57:56 -05:00
Quincey Koziol
6f754d0c57 [svn-r4485] Purpose:
Kludge addition
Description:
    Forgot to patch the parallel test files in yesterday's kludge checkin.
Platforms tested:
    Linix 2.2.18smp (eirene)
2001-09-27 11:22:40 -05:00
Albert Cheng
cc8ba71296 [svn-r4399] Purpose:
Code cleanup
Description:
    This was "thrown" together in a quick way to test MPIO functionality.
    Cleaned out some embrassingly useless declaration to reduce compiler
    warnings.
Platforms tested:
    modi4-pp and eirene-pp.
2001-08-20 15:05:36 -05:00
Albert Cheng
37de169a62 [svn-r4363] Purpose:
cleanup
Description:
    mpi-perf and perf have been moved to perform/.
Platforms tested:
    eirene(pp)
2001-08-16 00:22:45 -05:00
Albert Cheng
a61dc89cb8 [svn-r4362] Purpose:
cleanup
Description:
    perf.c and mpi-perf.c have been moved to perform/.
Platforms tested:
    eirene (parallel)
2001-08-16 00:20:57 -05:00
Quincey Koziol
80c02cc6f1 [svn-r4327] Purpose:
More code cleanups
Description:
    Wrap up the code cleanups for changing the dataset transfer property lists
    over to using the generic property list code.
Platforms tested:
    IRIX64 6.5 (modi4)
2001-08-10 21:47:13 -05:00
Raymond Lu
ef471b914e [svn-r4202]
Purpose:
    Added attribute test
Description:
    attribute test is added into t_mdset.c.  At this moment, testing failed
    on SunOS 5.7 and Linux.  But I believe the problem is from dataset
    collective writing in t_dset.c.
Platforms tested:
    SGI MPI, MPICH(IRIX64 N32, IRIX64 64, IRIX, Linux, SunOS).
2001-07-12 16:29:31 -05:00
Raymond Lu
50f2811b8b [svn-r4024] Purpose:
Multiple-group testing
Description:
    Added multiple groups under root group and multiple subgroups of
    certain levels.  Also writes several datasets in each group in
    parallel.
Solution:
Platforms tested:
    MPICH(IRIX 6.5, IRIX64 6.5(64), IRIX64 6.5(N32), Linux, SunOS 5.6)
    and SGI MPI(IRIX64 6.5).
2001-06-20 15:11:11 -05:00
Raymond Lu
a88fbd72d5 [svn-r4023]
Purpose:
    Multiple-group testing
Description:
    Added multiple groups under root group and multiple subgroups of
    certain levels.  Also writes several datasets in each group in
    parallel.
Solution:
Platforms tested:
    MPICH(IRIX 6.5, IRIX64 6.5(64), IRIX64 6.5(N32), Linux, SunOS 5.6)
    and SGI MPI(IRIX64 6.5).
2001-06-20 15:10:08 -05:00
Albert Cheng
80737b93ef [svn-r3973] Purpose:
Bug fix
Description:
    The t_mpi used to fail and exit if any error detected.
    That aborted other process in a "make check" situation.
Solution:
    Introduced a new error verification as INFO.  INFO is for
    information only.  It does not increase nerrors count.
    The program always exits with 0.
Platforms tested:
    eirene with mpich.
2001-06-07 01:36:08 -05:00
Albert Cheng
83f26c15a2 [svn-r3929] Purpose:
Cleanup old unused code.  Edited couple comments.
Platforms tested:
    modi4,pp
2001-05-13 07:24:44 -05:00
Albert Cheng
b9bcf81f6b [svn-r3927] Purpose:
Bug fix
Description:
    Some mpi.h already includes MPI-IO definitions in it (e.g., SGI,
    SP2).  Made the #include of mpio.h be dependent on whether some
    MPI-IO constant is already defined or not.
Platforms tested:
    modi4 (IRIX64) and IBM SP2.
2001-05-12 23:13:15 -05:00
Albert Cheng
b6265298d8 [svn-r3926] Description:
Changed MPI_File_seek then MPI_File_write or MPI_File_read to just
    MPI_File_write_at and MPI_File_read_at.  Some compiler, e.g., IBM
    mpcc_r does not support MPI_File_seek and MPI_File_read or MPI_File_write.
    This is a better measurement against HDF5 performance since HDF5
    uses MPI_File_write_at and MPI_File_read_at all the times.
    It is a more thread safe to use MPI_xxx_at than the other seek then
    read/write approaches.
Platforms tested:
    modi4 (irix64 parallel), IBM sp2.
2001-05-12 22:54:28 -05:00
Bill Wendling
6c722c3846 [svn-r3913] Purpose:
Bug Fix
Description:
    FILENAME_MAX is short on some systems. It's better to use PATH_MAX
    which tends to be longer (we hope).
Solution:
    Removed FILENAME_MAX and replaced it with PATH_MAX instead.
Platforms tested:
    Skinner (SDSC HP N9000).
2001-05-11 17:01:08 -05:00
Albert Cheng
9c0f0b60dc [svn-r3903] Purpose:
Bug fix
Description:
    test_mpio_offset() was called with wrong syntax.  Dumb mistake.
Platforms tested:
    modi4, pp
2001-05-10 08:47:17 -05:00
Albert Cheng
3214f19350 [svn-r3901] Purpose:
Bug fix
Description:
    added a barrier to prevent racing condition before remove file and
    open file.
Platforms tested:
    modi4,pp
cVS: ----------------------------------------------------------------------
2001-05-10 08:40:07 -05:00
Albert Cheng
4b9e5af2e7 [svn-r3882] Purpose:
Feature
Description:
    Show simple performance of the MPIO and the HDF5-IO.
    The mpi-perf.c is contributed by Robert Ross of ANL.
    The perf.c is derived from mpi-perf.c
Platforms tested:
    Modi4 (O2K, parallel)
2001-05-01 16:20:50 -05:00
Albert Cheng
cde323f897 [svn-r3818] Purpose:
Bug fix and clean up.
Description:
    The part that should test 4GB was actually testing 2GB due to
    typo.
Solution:
    Corrected the typo to use 4GB constant.  Rearranged the code
    to group 2GB and 4GB tests in their own.  Removed some duplicated
    testing code.
Platforms tested:
    modi4.
2001-04-18 10:12:43 -05:00
Bill Wendling
e8ee45fa53 [svn-r3780] Purpose:
Update
Description:
    Changed

           #include <hdf5_file.h>

    to

           #include "hdf5_file.h"

     to be consistent with the new way of generating dependencies.
2001-04-05 12:09:42 -05:00
Albert Cheng
0fd3ca337b [svn-r3717] Purpose:
new test
Description:
    Added two new tests.
    test_mpio_offset:
	Verify that MPI_Offset exceeding 2**31 can be computed correctly.
    test_mpio_gb_file
	Test if MPIO can write file from under 2GB to over 2GB and then
	from under 4GB to over 4GB.
Platforms tested:
    modi4(-64), tflops.
2001-03-26 18:45:37 -05:00
Albert Cheng
9fba9e8fc2 [svn-r3664] Purpose:
Improvement
Description:
    Changed the default value of $NPROCS from 2 to 3.  This is the
    value libSAF uses since 3 processes have a much bigger chance
    catching parallel errors than just 2 processes.
    Changed the default dataset sizes from 800 to 1200 so that it is
    a multiple for 3 (and 8 too which is ofter used in the Tflops test.)
Platforms tested:
    Modi4 (IRIX64) both serial and parallel modes.
2001-03-19 17:32:23 -05:00
Quincey Koziol
7921315a33 [svn-r3304] Purpose:
Code update
Description:
    Remove ragged array code & tests from library before release.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-01-18 18:30:23 -05:00
Albert Cheng
061ed07676 [svn-r3119] Purpose:
New features
Description:
    Some testers found the filename lengths too short.
    Changed it to use the FILENAME_MAX usually defined in stdio.h.
    If not, set it to 512 which should be sufficient for users
    but should not exceed any system limits.

    Also added a new test parameters of ndatasets so that the tester
    can specific a different number of datasets for the multiple
    datasets tests.

    Changed the datatype of datasets created to DOUBLE.  This eliminates
    the current racing conditions.  But the racing bugs during conversion
    still need to be tracked down and squashed.
Platforms tested:
    Modi4 -64.
2000-12-12 18:12:57 -05:00
Albert Cheng
f8d5c76ee7 [svn-r3009] Purpose:
New parallel test features
Description:
    Added test cases:
	INDEPENDENT write with some processes do not participate at all.
	    The library should not hang for this case.
	COLLECTIVE read/write with some processes asking for zero elements.
	    The library should work properly and not hanging.
    Some house cleaning: get rid of a conditional directive that was
	fixed already.
Platforms tested:
    IRIX64,-64,parallel
2000-11-28 11:35:06 -05:00
Albert Cheng
923c2ecb78 [svn-r3007] Purpose:
Feature, kind of
Description:
    Moved the multiple dataset test out of the write-test
    part so that it can be skipped or tested independent of
    the other tests.
Platforms tested:
    IRIX64,-64,parallel.
2000-11-28 09:03:49 -05:00
Quincey Koziol
0726621eaa [svn-r3005] Purpose:
Backward compatibility code
Description:
    Add in code to allow the library to emulate the v1.2 API and behavior.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2000-11-27 18:01:48 -05:00
Albert Cheng
c6e0eb1bd4 [svn-r2993] Purpose:
New feature
Description:
    Added tests to make sure collective read or write works correctly
    even if some process has no data to transfer.
    ZROW--process 0 asks for zero rows of data while other processes ask
	for a slab of rows.
    ZCOL--process 0 asks for zero columns of data while other processes ask
	for a slab of columns.
Platforms tested:
    IRIX64 parallel (-64,-n32).
cvS: ----------------------------------------------------------------------
2000-11-21 18:08:54 -05:00
Albert Cheng
a7e6dfe5bc [svn-r2983] Purpose:
Simple changes
Description:
testphdf5.h:
    Call MPI_Abort when error is detected.  MPI_Finalized was used
    before but it might hang if the test has already encountered errors.
    Also, it does not do the H5Eprint any more since auto report is on.
t_mdest.c:
    Changed the variable name of rank and nprocs to mpi_rank and mpi_size
    so that it is the same with the other tests and can use the VRFY macro
    call.
Platforms tested:
    modi4-64.
2000-11-20 19:55:14 -05:00
Albert Cheng
4fb1bc1319 [svn-r2973] Purpose:
Bug fix, cleanup,...
Description:
    The test was doing the hyperslab select incorrectly (thinking
    count was the block length.
Solution:
    Fixed it to do the correct hyperslab selection.
    Changed it to calculate different data for different datasets.
    Changed output by rows instead by cols.  It tests the purpose
    of creating multiple datasets the same but runs faster.
Platforms tested:
    modi4-64.
2000-11-17 15:16:09 -05:00
Albert Cheng
b3e4cd6e97 [svn-r2710] Purpose:
Features, kind of.
Description:
    Separated the MPI features test into its own independent
    program so that it can be tested on its own without too
    much HDF5 stuff involved.
    Added automatic removal of temporary test files after
    the tests completed.
    Reduced the size of the dataset dimensions to avoid tripping
    the SGI MPI problems of running out of internal mpi type entries.
Platforms tested:
    O2K -64
2000-10-20 01:19:21 -05:00
Albert Cheng
61ab6a6b46 [svn-r2641] Purpose:
Added features
Description:
    There were no automatic tests for transfering zero elements.
Solution:
t_dset.c:
    Added two new patterns of ZROW (zero rows for process 0)
    and ZCOL(zero columns for process 0).
    ZROW test was added but it failed because the current library
    does not accept it.  Not compiled in now.  Need to fix the
    library before turning it back on again and also to add the
    ZCOL test.
t_mdset.c:
    Added statement to show progress.  Also the MPI_Barrier() call
    get processes synchornoized.  It eliminates the racing condition
    but this is not a permenant solution.  The library code needs to
    be fixed.
testphdf5.c:
    Added a bunch of MPI_Type_XXX debug code.  Added the -md
    option to skip the multiple datasets tests.  Changed the cosmitic
    appearance of the banner messages.
testphdf5.h:
    When an error is detected, the old way was to call MPI_Finalize()
    before exiting.  This sometimes hangs because some processes
    may be waiting for a message of a different tag.  Changed to
    call MPI_Abort() for now so that the whole MPI job would
    abort rather than hanging due resource limits exceeded.
    Added the definition of ZROW and ZCOL.
Platforms tested:
    Modi4 -64.
2000-10-09 13:23:20 -05:00
Albert Cheng
2eae09de84 [svn-r2590] Purpose:
Bug fix
Description:
    The old code was using count as the block size.  The result was
    asking for a slab of count blocks, each of 1 element.  The recent
    change in the hyperslab algorithm exposed this problem.  (The
    old algorithm merge the count blocks back into 1 big block of
    count elements.)  (This error was due to that the block argument
    was not in the very early version of hyperslab.  Then it was
    not updated since it had been "working".)
Solution:
    Added in the block argument to the setup and calculation of
    slab and its data.  Also found a dumb error in the dataset_fill
    algorithm in which stride was used in the calculation.  Not so
    for the cases of BYROW and BYCOL.
Platforms tested:
    modi4 parallel, both -64 an -n32 modes.
2000-09-23 19:45:45 -05:00
Albert Cheng
f490968edc [svn-r1947] Changed the test files prefix to use the h5_fixname() in test/libh5test.a.
Makefile.in:
    Added test/ as one of the -I directories to search for header files.
    Needed because <h5test.h> is used.
t_file.c t_mpi.c testphdf5.c testphdf5.h:
    Added FILENAME to meet the assumption in h5test.h.  (May use
    CLEANUP in the future.)  Moved the prefix setting to the
    h5_fixname().
2000-01-25 23:33:38 -05:00
Albert Cheng
ccb5c0ad84 [svn-r1914] t_mdset.c:
Increase the test size to 32.  Put in a check to make sure number of
    processes are not bigger than SIZE.
testphdf5.c:
    Fixed a mistake in the prototype of pause_proc to reflect no arguments.
1999-12-20 09:53:44 -05:00
Albert Cheng
11705a70ca [svn-r1899] Chagned to venue to call pause_proc via the profile feature of MPI_Init. 1999-12-17 13:54:52 -05:00
Albert Cheng
9de79f7952 [svn-r1883] Added libh5test.a links so that parallel tests may make use of routines
in the other test library.
1999-12-17 09:54:30 -05:00
Albert Cheng
ecd36aa697 [svn-r1882] New entries automatically created by one of gmake/configure/autoconf
or their buddies, due to the addition of new test module.
1999-12-17 09:39:14 -05:00
Chee-Wai Lee
ca73fde3ba [svn-r1873] added new test for multiple dataset writes to parallel tests 1999-12-10 17:38:25 -05:00
Robb Matzke
60cab76b78 [svn-r1859] * 1999-12-09
** src/H5FDpublic.h
	Added a #define for H5_HAVE_VFL to make life easier for application
	programmers.

** config/depend1
	A minor tweak to the way GNU systems generate file dependencies for
	the Makefiles.

** src/H5T.c
	Fixed a bug with enumeration types not having the correct object
	header pointer.
1999-12-09 06:10:24 -05:00
Albert Cheng
d5587a472b [svn-r1858] Changed the default testfiles to be in /tmp instead of current directory.
Current directory in which the parallel code is compiled is usually
not suitable for parallel I/O test.
1999-12-07 17:41:23 -05:00
Albert Cheng
db6c7feefa [svn-r1818] Testpar have been integrated. File no longer needed. 1999-11-03 19:23:05 -05:00
Robb Matzke
ae62eb223c [svn-r1806] * 1999-11-02
** bin/rpmsync
** config/depend1.in
	Tweaks for versions of `make' that can't search directories.

** examples/Dependencies
** src/Dependencies
** test/Dependencies
** testpar/Dependencies
** tools/Dependencies
	Regenerated all these with more complete path names.
1999-11-02 12:29:33 -05:00
Robb Matzke
eb8747499d [svn-r1802] Changes since 19991019
----------------------

./MANIFEST
./configure.in
./configure			[REGENERATED]
	Added more checking for `make' features.

./Makefile.in
./doc/Makefile.in
./doc/html/Makefile.in
./doc/html/Tutor/Makefile.in
./examples/Makefile.in
./pablo/Makefile.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
./config/commence.in
./config/conclude.in
./config/depend.in		[REMOVED]
./config/depend1.in		[NEW]
./config/depend2.in		[NEW]
./config/depend3.in		[NEW]
./config/depend4.in		[NEW]
./config/dependN.in		[NEW]
	The directory search stuff was moved into commence.in, thereby
	shortening the Makefile.in prologues.

./doc/html/Dependencies		[NEW]
./doc/html/Tutor/Dependencies	[NEW]
./examples/Dependencies		[NEW]
./src/Dependencies		[NEW]
./test/Dependencies		[NEW]
./testpar/Dependencies		[NEW]
./tools/Dependencies		[NEW]
	The `.distdep' files were all renamed to `Dependencies' to make them
	more obvious. They are required (but may be empty) in every directory
	that has a Makefile.in that ends with @CONCLUDE@ (you'll get an
	obvious error from make if you forgot to create one).

./bin/trace
./src/H5.c
	Added H5E_major_t and H5E_minor_t although tracing only prints the
	integer value.

./src/H5E.c
./src/H5Epublic.h
	Added tracing information.

./src/H5FDcore.c
./src/H5FDfamily.c
./src/H5FDgass.c
./src/H5FDmpio.c
./src/H5FDsec2.c
./src/H5FDstdio.c
	Fixed places where FUNC_LEAVE() evaluated it's argument more than
	once.

	Added tracing information.

	Wrapped long lines.

./config/gnu-flags
	Fixed a syntax error when we don't have a gnu compiler.
1999-11-01 10:21:16 -05:00
Robb Matzke
cbf68fc824 [svn-r1568] Changes since 19990730
----------------------

This extensive change is the virtual file layer implementation. I've
ported and tested the sec2, family, and core drivers and only ported
the mpio driver (Albert will test it).  So if you need MPIO I would
recommend sticking with the previous version for a while.

You will get a few compile warnings about split and stdio drivers not
being implemented and possibly tracing information not inserted in
some of the drivers. You can safely ignore them but I plan to fix
them.

I'm still working on the split driver because I just realized that it
needs a part of the VFL that isn't written yet.

Documentation is being updated also because there were some minor
changes (mostly just name changes). It should be available on my web
site later this week.

./MANIFEST
./src/Makefile.in
./src/hdf5.h
./src/H5Flow.c			[REMOVED]
./src/H5Fstdio.c		[REMOVED]
./src/H5Fsec2.c			[REMOVED]
./src/H5Fsplit.c		[REMOVED]
./src/H5Fmpio.c			[REMOVED]
./src/H5Ffamily.c		[REMOVED]
./src/H5Fcore.c			[REMOVED]
./src/H5MFpublic.h		[REMOVED]
./src/H5FD.c			[NEW]
./src/H5FDcore.c		[NEW]
./src/H5FDcore.h		[NEW]
./src/H5FDfamily.c		[NEW]
./src/H5FDfamily.h		[NEW]
./src/H5FDmpio.c		[NEW]
./src/H5FDmpio.h		[NEW]
./src/H5FDprivate.h		[NEW]
./src/H5FDpublic.h		[NEW]
./src/H5FDsec2.c		[NEW]
./src/H5FDsec2.h		[NEW]
	Removed/added files for virtual file layer.

./bin/trace
./src/H5.c
	Removed unused public datatypes and added new VFL public
	datatypes.

	Changed an error message.

./config/BlankForm
./config/dec-flags
./config/gnu-flags
./config/hpux10.20
./config/hpux9.03
./config/irix5.x
./config/irix6.x
./config/solaris2.x
./config/unicosmk
	Removed the H5F_OPT_SEEK and H5F_LOW_DFLT constants from the
	configuration since they're no longer applicable. The default
	file driver is always the sec2 driver and it always optimizes
	calls to lseek() or lseek64().

./config/depend.in
	C preprocessor errors generated during automatic dependency
	building are sent to /dev/null to prevent them from appearing
	twice in the make output.

./src/H5AC.c
./src/H5B.c
./src/H5D.c
./src/H5F.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5Oattr.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Oshared.c
./src/H5T.c
./src/H5detect.c
./test/ohdr.c
	Changed H5F_ADDR_UNDEF to HADDR_UNDEF to be more consistent
	with the `haddr_t' datatype which is now a public type.

./src/H5D.c
./src/H5P.c
./src/H5Ppublic.h
./src/H5Tconv.c
./test/cmpd_dset.c
./test/dsets.c
./test/overhead.c
./test/tselect.c
./test/tvltypes.c
	The H5P_DATASET_XFER constant was changed to H5P_DATA_XFER
	because the properties apply to all types of I/O operations,
	not just datasets.

./src/H5B.c
./src/H5Bprivate.h
./src/H5D.c
./src/H5Dpublic.h
./src/H5F.c
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5R.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Spoint.c
./src/H5Sprivate.h
./test/big.c
./test/h5test.c
./test/istore.c
./testpar/t_dset.c
./testpar/t_file.c
./tools/h5debug.c
./tools/h5ls.c
	Modified to work with the virtual file layer by calling H5FD_*
	functions instead of H5F_low_* functions and by passing file
	access and data transfer properties by object ID instead of
	pointer.

	Changed H5D_transfer_t to H5FD_mpio_xfer_t since the
	COLLECTIVE vs. INDEPENDENT transfer mode is specific to the
	MPIO file driver.

	Moved MPIO-specific stuff into the MPIO driver.

./src/H5B.c
./src/H5D.c
./src/H5Fprivate.h
	The H5F_mpio_* private functions were renamed and placed in
	the H5FDmpio driver except those which appeared in H5Smpio.c.

./src/H5E.c
./src/H5Epublic.h
	Added major error number H5E_VFL for virtual file layer
	related errors.

./src/H5F.c
./src/H5Fprivate.h
	Changed the logic that controls whether the boot block is
	written. Instead of assuming that the first call to write the
	boot block is only to allocate space, I've added a function
	argument which makes this explicit.

	Changed the way files are compared so that a driver-defined
	comparison function can be called.  Files which belong to
	different drivers are always considered different.

	Removed H5F_driver_t since file drivers are now identified by
	object ID instead of a special non-user-extendible datatype.

	Removed all the hard-coded low-level file properties which
	have been replaced by the various file drivers.

./src/H5I.c
./src/H5Iprivate.h
	Added the H5I_inc_ref() which was removed a few months ago
	since we finally have a use for it.

./src/H5Ipublic.h
	Added the H5I_VFL object ID type to identify file drivers in
	the virtual file layer.

./src/H5MF.c
./src/H5MFprivate.h
	Moved all the allocation/deallocation code into the virtual
	file layer which allows file drivers to override much of it.

./src/H5P.c
./src/H5Ppublic.h
	Moved file driver-specific code into the various file driver
	files.

	The H5Pcopy() and H5Pclose() functions make calls into the
	virtual file driver to manage the memory for driver-specific
	file access and data transfer properties.

./src/H5private.h
./src/H5public.h
	The `haddr_t' type is now public.

./test/tfile.c
	Added a few more comments.
1999-08-10 15:21:32 -05:00
Albert Cheng
0d1c9438f9 [svn-r1554] Changed it to use the tflops predefined __PUMAGON__ to identify
the tflops system.
1999-08-02 12:55:08 -05:00
Robb Matzke
6470e417e8 [svn-r1515] Changes since 19990715
----------------------

./Makefile.in		[1.3]
./examples/Makefile.in	[1.3]
./pablo/Makefile.in	[1.3]
./src/Makefile.in	[1.3]
./test/Makefile.in	[1.3]
./testpar/Makefile.in	[1.3]
./tools/Makefile.in	[1.3]
./config/commence.in	[1.3]
./config/conclude.in	[1.3]
./config/depend.in	[1.3]
	Added a `.PATH' target for Irix pmake which is identical to
	the VPATH used by most other `make' programs. Irix 6.5 (or
	6.4?) and later `make' ignores VPATH.

	Started all beginning-of-line comments with `##' instead of
	just `#' because Irix `pmake' barfs on things like the
	following because it sees the `# if' as a directive:

		# make will barf on the following line
		# if running Irix pmake


./config/commence.in	[1.3]
	Added empty definitions for optional `make' macros because
	Irix pmake complains if it sees a macro which has never been
	defined. The main body of the Makefiles can redefine these
	macros to whatever they need.
1999-07-19 14:56:57 -05:00
Albert Cheng
ccd97f3d8f [svn-r1465] src/H5Fmpio.c:
Removed the unnecessary #include of mpi.h and mpio.h.  (They are
    included already in H5public.h when applicable.)  Changed couple
    debug printing to be controlled like the others.
src/H5public.h:
    Officially, mpio.h should be in mpi.h but MPIO are not always
    supported by the vendor yet.  Make the #include of mpio.h conditional
    when it is not in mpi.h.
testpar/testphdf5.h:
    Removed the unnecessary #include of mpi.h and mpio.h.  (They are
    included already in H5public.h when applicable.)
1999-07-12 12:37:58 -05:00
Albert Cheng
8e6ec6ee1e [svn-r1446] Makefile.ibmsp is no longer needed. Configure generates the right
Makefile for it.
1999-07-07 23:02:21 -05:00
Albert Cheng
1b20703c20 [svn-r1417] t_mpi.c:
Changed it to skip the test instead of aborting when there is not
    enough processes to do the test.  Also corrected an error in the
    error reporting printf statement.
t_dset.c:
testphdf5.c:
testphdf5.h:
    Added option for specifying chunk dimensions.
1999-07-02 19:27:36 -05:00
Albert Cheng
76ca6e67a7 [svn-r1398] Purpose:
new feature

Makefile.in:
    Added the dependence of *.c on the testphdf5.h
t_dset.c:
testphdf5.c:
testphdf5.h:
    testphdf5 now takes optional arguements for dataset dimension sizes.
    That allows testing with different dimension sizes without recompiling
    the whole thing.

Platform tested:
    O2K
1999-06-30 17:04:22 -05:00
Albert Cheng
169f7d9622 [svn-r1388] No longer needed because configure creates the right Makefile now. 1999-06-26 17:01:53 -05:00
Albert Cheng
893504e2a8 [svn-r1222] Cleaned up the code in testphdf5.c, mostly in the -f parsing area.
Eliminated most compiler complains.  Changed Tflops to use
the /pfs_grande file systems.  (Old /pfs is retired.)
1999-04-26 23:12:18 -05:00
Albert Cheng
877a437ad6 [svn-r1218] Added string.h since it is needed for those strxxx calls. 1999-04-26 14:53:41 -05:00
Robb Matzke
d6823ceb08 [svn-r1217] Changes since 19990426
----------------------

./config/commence.in
./examples/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
	Fixed some dependency problems in Makefiles. If the library
	version is updated then everything gets recompiled.

./src/H5G.c
./src/H5R.c
	Failure return value for object type functions is now
	H5G_UNKNOWN as documented.

./src/H5Shyper.c
./src/H5Spoint.c
	Fixed an unused argument warning.

./tools/h5debug.c
	Fixed a call to H5F_block_read() since the 4th argument is
	different now.

./tools/h5ls.c
	Added a space between the object name and class to make the
	output readable when the object name is longer than 24
	characters.

C
1999-04-26 09:43:53 -05:00
Albert Cheng
9bbc5746cc [svn-r1177] Changed HDmalloc to malloc to avoid the need of using H5private.h.
Removed the #ifndef MPIOTEST.  MPIO tests should run all the time
now that the test is more efficient.
1999-04-08 13:49:20 -05:00
Robb Matzke
b93c9e2cf9 [svn-r1151] Changes since 19990318
----------------------

./Makefile.in
./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
./config/commence.in
./config/conclude.in
./config/dec-osf4.x
./config/depend.in
./config/freebsd
./config/linux-gnu
./config/linux-gnulibc1
./config/linux-gnulibc2
./config/solaris2.x
./examples/Makefile.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
./tools/testh5dump.sh
	Changes that allow hdf5 to be configured and compiled in a
	directory other than the source directory. This is especially
	useful if you want to concurrently compile with different
	compilers and/or compile flags, or if the hdf5 source is on
	read-only media like a CDROM.  The changes were surprisingly
	easy ;-) Here's what you can do now...

		  $ mkdir /tmp/build1  # or something
		  $ cd /tmp/build1
		  $ /cdrom/hdf5/configure # where ever the source is
		  $ make

	Paul, you'll have to change the testh5toh4 script similar to
	the way I changed testh5dump.sh.  I started working on it but
	then gave up because of a number of problems: (1) I had to
	comment out all the tests that let h5toh4 choose the output
	file name because it always tried to put the output file in
	the same directory as the input file, (2) if path names are
	used during the h4 dump then they interfere with the
	diff. The test works fine when run in the source directory,
	but try this instead:

	    $ gunzip <hdf5-1.1.67.tar.gz |tar xf -
	    $ chmod -R ugo-w hdf5-1.1.67
	    $ mkdir build
	    $ cd build
	    $ ../hdf5-1.1.67/configure
	    $ make check

	Dan, I didn't modify the pablo/Makefile.in because I have no
	way to test it. I think all you need to do is add a couple
	lines before the @COMMENCE@ line and add a couple search
	directories for header files. Anyway, it seems like almost an
	exact duplicate of the src/Makefile.in, so it shouldn't be a
	problem...

./Makefile.in
	Removes a few more temporary files during make clean and
	distclean.

./configure.in
	I fixed the creation of the time-stamp files so that the
	initial make doesn't have to regenerated all the makefiles
	(only GNU make users will see any change).

./src/H5R.c
	Changed a return type from `intn' to `int' for an API
	function.

./src/H5detect.c
	Added the volatile qualifier to a couple more variables.

./tools/h5tools.c
	Fixed a compiler warning about an unused local.

./tools/h5toh4.c
	Initialized `optind' to 1 because it's zero on my system. It
	should always be one on a unix system.

./tools/testh5toh4
	Redirected "broken pipe" messages to /dev/null so outut is
	formatted correctly.
1999-03-19 15:09:50 -05:00
Robb Matzke
826dbc8146 [svn-r1149] ./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
./src/H5private.h
	Temporarily commented out the code that tries to link a simple
	MPI-IO application because I'm not sure how to pass $LDFLAGS
	and $LIBS to the compiler.

	Removed the `--enable-parallel=ibm' switch because the library
	we link with is either -lmpcc or -lmpcc_r but not both. The
	only way to tell is to see what compiler was specified (mpcc
	or mpcc_r) but if that compiler is specified then we don't
	need any libraries (the compiler script supplies them). That
	leaves just two choices: the user must use a compiler script:

	    CC=mpcc ./configure

	or the user must state which library is desired:

	    LDFLAGS='-lmpcc' ./configure --enable-parallel

	Checks for <setjmp.h>, longjmp(), and signal(). We don't check
	for setjmp() because it could be a macro (in fact, Posix
	requires it to be a macro) and if longjmp() is present then
	setjmp() is probably present too ;-)

./src/H5detect.c
	The alignment detection loop uses SIGBUS and setjmp/longjmp
	instead of fork/wait in order to get around bugs with forking
	in conjunction with mpich.  This hasn't been tested on the
	SP-2 yet but it does work on the DEC Alpha.

./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
	Changed the order that libraries are linked so -lhdf5 is
	always before $LDFLAGS.
1999-03-18 08:42:52 -05:00
Robb Matzke
ea3624e133 [svn-r1115] Changes since 19990302
----------------------

./INSTALL
./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
	Improvements for parallel library.  If you have a properly
	working mpicc you should be able to just say:

	    $ CC=mpicc ./configure

	and you will see

	    checking for mpirun... /usr/local/mpi/bin/mpirun
	    checking for parallel support files... skipped
	    checking how to run on one processor...
		     /usr/local/mpi/bin/mpirun -np 1
	    checking how to run in parallel...
		     /usr/local/mpi/bin/mpirun -np $$NPROCS

	To quote from the INSTALL file....

	*** Parallel vs. serial library
	The HDF5 library can be configured to use MPI and MPI-IO for
	parallelizm on a distributed multi-processor system. The easy
	way to do this is to have a properly installed parallel
	compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that
	executable as the value of the CC environment variable:
	[NOTE: mpcc is not tested yet]

	    $ CC=mpcc ./configure
	    $ CC=/usr/local/mpi/bin/mpicc ./configure

	If no such wrapper script is available then you must specify
	your normal C compiler along with the distribution of
	MPI/MPI-IO which is to be used (values other than `mpich' will
	be added at a later date):

	    $ ./configure --enable-parallel=mpich

	If the MPI/MPI-IO include files and/or libraries cannot be
	found by the compiler then their directories must be given as
	arguments to CPPFLAGS and/or LDFLAGS:

	    $ CPPFLAGS=-I/usr/local/mpi/include \
	      LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \
	      ./configure --enable-parallel=mpich

	If a parallel library is being built then configure attempts
	to determine how to run a parallel application on one
	processor and on many processors.  If the compiler is mpicc
	and the user hasn't specified values for RUNSERIAL and
	RUNPARALLEL then configure chooses `mpirun' from the same
	directory as `mpicc':

	    RUNSERIAL:    /usr/local/mpi/bin/mpirun -np 1
	    RUNPARALLEL:  /usr/local/mpi/bin/mpirun -np $${NPROCS:=2}

	The `$${NPROCS:=2}' will be substituted with the value of the
	NPROCS environment variable at the time `make check' is run
	(or the value 2).

./testpar/Makefile.in
	Saying `make check' (or `make test') will run the tests on two
	processors by default.  If you define NPROCS then that many
	processors are used instead:

	    $ NPROCS=4 make check

./configure.in
	Fixed (hopefully) bugs with detecting whether __attribute__
	and __FUNCTION__ are special keywords for the compiler.

./Makefile.in
	Saying `make install' from the top level directory shows
	instructions for using shared libraries.

./config/commence.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
	Moved the @top_srcdir@ into the makefiles because it was
	expanded too early and had the wrong value.

./INSTALL
	Added a warning that if the wrong version of hdf4 tools are
	installed then `make check' will fail in the tools directory.
1999-03-03 18:17:48 -05:00
Robb Matzke
116491f0d6 [svn-r1112] Changes since 19990301
----------------------

./INSTALL
	Reorganized and added some additional examples.

./MANIFEST
./aclocal.m4			[NEW]
./configure.in
./configure			[REGENERATED]
./src/H5config.h.in		[REGENERATED]
./bin/ltconfig			[NEW]
./bin/ltmain.sh			[NEW]
	Added tests to determine how to compile shared libraries and
	how to link programs with them before the libraries are
	installed.  Also how to install and uninstall shared
	libraries. The configure step also prints the names of the
	config files it's trying to load for easier debugging.

./bin/config.guess
./bin/config.sub
	Replaced with a newer version from GNU.  The changes we made
	to that file to report `irix6.x' and `FreeBSD' without version
	numbers have been incorporated into configure.in instead.  In
	the future, do not change these two files (see the top of
	configure.in instead). By the way, this update was required to
	get shared libraries working.

./config/linux			[REMOVED]
./config/linux-gnulibc1		[NEW]
./config/linux-gnu		[NEW]
./config/alpha-dec		[REMOVED]
./config/alpha-dec-osf4.0	[REMOVED]
./config/dec-osf4.x		[NEW]
./config/irix5.3		[REMOVED]
./config/irix5.x		[NEW]
./config/irix64			[REMOVED]
./config/freebsd
	Moved config files around to agree with output from the new
	config.guess.  The linux file was split into gnu (RedHat),
	gnulibc1, and gnulibc2 versions. The alpha-dec file was
	removed (I think it was unused) and the alpha-dec-osf4.0 was
	changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and
	the irix64 file was renamed to irix6.x. The freebsd file was
	changed to point to linux-gnulibc1. These changes were tested
	on:

		Linux 2.0
		Linux 2.1
		FreeBSD 3.2
		Irix 5.3
		Irix64 6.2
		Irix64 6.4
		HP/UX 10.20
		OSF1 4.0

./config/alphaev56-dec-osf4.x
./config/irix64
	Added warnings similar to linux/freebsd about using compilers
	with known bugs.

./config/commence.in
./config/conclude.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
	Added definitions for shared libraries. This has been tested
	on the following systems:

		Linux 2.0
		Linux 2.1
		FreeBSD 3.2
		Irix 5.3
		Irix64 6.2
		Irix64 6.4
		HP/UX 10.20		static only
		OSF1 4.0

	If you want to disable use of shared libraries (you probably
	do for development purposes since it takes a lot longer to
	compile and because you have to run dynamically linked
	programs in a special way if the library hasn't been
	installed) then add `--disable-shared' to the configure
	command line.  This is all documented in the INSTALL file.

./bin/release
	Temprarily commented out the MANIFEST checking when running
	under svf since svf is about to be replaced by a newer
	version.  This change only affects error checking during the
	release process.

./Makefile.dist
./Makefile.in
	Added `make check' which does the same thing as `make _test'
	since the former is endorsed by the GNU coding style and
	people are used to it.  The old `make _test' still works too
	(and so does `make test' if you use GNU make).
1999-03-02 12:15:35 -05:00
Albert Cheng
a3a9df3657 [svn-r1071] Moved the MPI test to a file of its own (t_mpi.c) for future addition
of other MPI tests.
Changed return code tests from comparing with FAIL to with 0.
Updated MANIFEST for the addition of a new file.
Tested in O2k.
1999-02-16 23:39:22 -05:00
Albert Cheng
16c346bad4 [svn-r1068] Completed the previous to do auto-configure for parallel tests too.
Also removed the pre-defined "USE_PAUSE" since it should be invoked
only in individual cases, rather than as defaults.
Tested in O2K.
1999-02-15 16:15:33 -05:00
Albert Cheng
a1f46c91fd [svn-r1035] t_file.c:
Added a new test to verify the MPIO can support independent
    overlapping writes.
testphdf5.c:
    Bracketed the MPIO write test with a #ifdef so that it is
    tested only when the explicitely turned on.

Platform tested:
    O2K.
1999-01-26 23:12:04 -05:00
Albert Cheng
2df1f8344e [svn-r1034] Changed spelling of extendable to extendible just for consistency sake. 1999-01-26 23:08:32 -05:00
Robb Matzke
68bff3d352 [svn-r928] Changes since 19981118
----------------------

./src/H5.c
./src/H5Smpio.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpublic.h
./src/H5detect.c
./src/H5private.h
./src/H5public.h
./test/big.c
	The `long long' type isn't quite as prevalent as we had hoped;
	there is at least one system that defines `__int64' but not
	`long long'.  Therefore, I've temporarily changed all
	occurrences of `long long' to `long_long' and then #define
	that in H5private.h based on the existence of `long long' or
	`__int64'. This gets rid of some #ifdef's in other parts of the code.
	The semantics of the hdf5 types are:

	   *int8_t	 Exactly one byte
	   *int16_t	 At least two bytes. We favor 32-bit integers over
			 16-bit integers if the 16-bit integer is 4-bytes wide
			 (Cray)
	   *int32_t	 At least four bytes.
	   *int64_t	 At least eight bytes
	   long_long	 The widest integral integer type

	The H5Smpio.c contains debugging code which is non-portable.

./tools/h5ls.c
	Changed the order native types are detected so we favor the name `int'
	over `short' or `long' if two of them are the same.

./config/conclude.in
	Added a rule to make test programs depend on the hdf5 library. This
	fixes a minor bug where changing H5detect.c and then running `make
	test' caused H5Tinit.c to not be recompiled and therefore the test
	files are not relinked.
1998-11-19 12:36:27 -05:00
Robb Matzke
071aa057aa [svn-r907] Changes since 19981111
----------------------

./INSTALL
	Added instructions about specifying a path for GNU zlib and
	HDF4 headers and library.

	Added comments for each of the tool names.  Added h5toh4 as a
	tool name.

./configure.in
./conigure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
	The config/* scripts get invoked with $CC_BASENAME set the
	base name of the compiler in order to make it easier to handle
	setting compiler flags for different compilers in a big case
	statement.  For instance, if $CC has the value

	    /usr/local/mpi/bin/mpicc -ansi -64

	then $CC_BASENAME will be `mpicc'.  The $CC_BASENAME is not
	set if $CC is not set.

	Fixed alignment in `configure --help'.

	An include and/or library path can be specified for GNU zlib
	if configure can't find it in normal places.  The "normal"
	means wherever your compiler normally searches, including
	search paths you've added through environment variables like
	CPPFLAGS and LDFLAGS.  The INSTALL file has instructions.

	The `-ljpeg' library is detected.

	If `ssize_t' is not found then a #define is added to
	H5config.h similar to what we already do for `size_t'.

	We detect the hdf5 header file `mfhdf.h' and libraries
	`-lmfhdf' and `-ldf' and if found define the H5TOH4 and
	TESTH5TOH4 Makefile variables.  The user can specify an
	include and/or library path. The INSTALL file has
	instructions.

	The `RUNTEST' variable has been split into `RUNSERIAL' and
	`RUNPARALLEL' because these are different commands.  The
	makefile still uses `RUNTEST', which defaults to the RUNSERIAL
	value.  The new testpar/Makefile.in sets RUNTEST to the
	RUNPARALLEL value. The default RUNSERIAL value is empty and
	the default RUNPARALLEL value is `mpirun -np 2'.  These can
	both be overridden in the config/* files.  To make the value
	the empty string set it like `RUNPARALLEL=none' in the
	config/* file.

	The new testpar/Makefile is generated from testpar/Makefile.in

./config/commence.in
	Added the RUNSERIAL and RUNPARALLEL makefile definitions.

./src/Makefile.in
	The `H5detect' program is run with RUNSERIAL, which is empty
	on all platforms except intel-osf1 (ASCI/Red)

./config/conclude.in
	Removed the `.c.a:' implicit rule -- we don't use it any more.

./config/BlankForm
./config/alpha-dec
./config/alpha-dec-osf4.0
./config/freebsd2.2.7
./config/hpux10.20
./config/hpux9.03
./config/intel-osf1
./config/irix5.3
./config/irix6.2
./config/irix64
./config/linux
./config/powerpc-ibm-aix4.2.1.0
./config/rs6000-ibm-aix4.1.4.0
./config/solaris2.5
	All of these files have been updated to hande multiple
	compilers. Most of them assume `cc' if CC is not set. The
	documentation in `BlankForm' has been updated and
	documentation in the other files refer to `BlankForm'.

	The intel-osf1 uses LDFLAGS instead of LIBS to specify the extra
	library search paths.

./examples/Makefile.in
./test/Makefile.in
./tools/Makefile.in
	Simplified by grouping some dependency information together
	more succinctly.

	The tools Makefile.in has been modified to work with the
	`h5toh4' and `testh5toh4' programs.  Until Paul checks these
	in you may have problems compiling.  If so, just create files
	h5toh4.c and testh5toh4.c that contain:

	    #include <stdio.h>
	    int main(int argc, char *argv[]) {
	        fprintf(stderr, "%s: not implemented\n", argv[0]);
		return 1;
	    }

./src/H5public.h
	Removed definition for `ssize_t' since this is now handled by
	configure in H5config.h with a #define.


./MANIFEST
./testpar/Makefile.in	[NEW]
	Added a makefile for parallel tests.  As soon as we get this
	working properly we can remove the other four makefiles in
	that directory and maintain just one.
1998-11-13 10:06:06 -05:00
Robert Kim Yates
260af101fa [svn-r651] Changed name: call H5Sget_simple_extent_dims instead of old H5Sextent_dims. 1998-09-01 17:31:30 -05:00
Albert Cheng
473452205d [svn-r634] *** empty log message *** 1998-08-31 14:07:58 -05:00
Robert Kim Yates
d809d38b01 [svn-r591] For IBM SP using mpich v1.1.1 and ROMIO. 1998-08-13 15:50:12 -05:00
Paul Harten
96106282bb [svn-r564] Purpose:
New feature

Problem:
    Source code must be modified prior to compiling to allow full
    filenames to contain preferred user directories. Source must be
    recompiled everytime the preferred user directory changes.

Solution:
    Instead, allow file prefixes preferred by user to be passed at
    runtime using the arguments "-f <prefix>".  The "-f" to signal the
    next argument is to be a file prefix, and the "<prefix>" to be the
    actual prefix used.

Platform tested:
    ASCI Red
1998-08-03 15:22:23 -05:00
Paul Harten
ca426e2f32 [svn-r543] Purpose:
Link Bug Fix

Problem:
    Fixed a typo, Woops!

Solution:
    replaced `H5Sexent_dims' with `H5Sextent_dims'

Platform tested:
    ASCI Red
1998-07-24 11:25:30 -05:00
Paul Harten
b4107d530a [svn-r542] Purpose:
Link Bug Fix

Problem:
    undefined reference to `H5Sget_dims'

Solution:
    replaced with reference to `H5Sextent_dims'

Platform tested:
    ASCI Red
1998-07-24 10:05:04 -05:00
Albert Cheng
9336c79001 [svn-r483] Revised for alpha-2 release. 1998-07-13 00:35:14 -05:00
Albert Cheng
2d5b096590 [svn-r465] Replaced old H5Sset_hyperslab with new H5Sselect_hyperslab calls.
Tested on O2K.
1998-07-07 17:28:39 -05:00
Paul Harten
1bdb53fb6a [svn-r461] Purpose:
The purpose of the change is to correct the H5 filenames declared in
    testphdf5.c when used on the Intel TFLOP PFS system.

Problem:
    The ROMIO library complains of the H5 filenames having no "piofs:",
    "pfs:", "ufs:", or "nfs:" prefixes on the filenames.  The only type
    currently recognized are the "pfs:" prefixes, and the files must
    reside in the Intel TFLOP PFS system: /pfs.

Solution: (REQUIRED)
    The compile flag -DPOOMA_ARCH=TFLOP is added to the list of CFLAGS in
    Makefile.ascired located in the parallel test directory.  This compile
    flag will allow a special set of filenames to be used when compiling
    testphdf5.c on the Intel TFLOP.  In addition, instructions to editing
    the filenames in testphdf5.c to reside in the user's own /pfs directory
    are included in INSTALL.ascired.

Platform tested:
    Intel TFLOP
1998-07-07 16:09:07 -05:00
Albert Cheng
82bcd7f537 [svn-r449] Corrected some grammar errors in the debug messages. 1998-07-05 18:08:11 -05:00
Albert Cheng
ec08f7b182 [svn-r448] Updated with more tests for extendable datasets such as testing
the expected failures in writing data beyond the current dimension
sizes and also in attempting to extend a dataset opened RDONLY.
1998-07-05 17:58:37 -05:00
Albert Cheng
00366fcd96 [svn-r442] MPIO library maintained by William M. Davidson (wmdavid) has been
changed to use system supported MPI library.  The path to it is
changed slightly too.  Updated all the paths variables.

Also updated to reflect the new program source files structure.

Platform tested: Intel Red
1998-07-01 19:21:15 -05:00
Albert Cheng
bd93fcc274 [svn-r440] Header file for the PHDF5 tests. (forgot to add it last time.) 1998-07-01 17:10:04 -05:00
Albert Cheng
a9b794a012 [svn-r439] Changed the PHDF test programs substantially. Used to be just one
big testphdf5.c file.  Broke it into modules of related routines.
    testphdf5.c -- main routine and global variables initialization plus
		   some ulitility routines.
    t_file.c -- tests of file operations using parallel I/O.
    t_dset.c -- tests of datasets operations.
1998-07-01 16:33:35 -05:00
Albert Cheng
a639a5998c [svn-r427] Added -lm to libraries needed. 1998-06-15 23:47:25 -05:00
Albert Cheng
1b10bda46c [svn-r420] Put 'go' in the DISTCLEAN variable so that it will be cleaned
for distribution.
1998-06-10 11:32:16 -05:00
Albert Cheng
997df54dc8 [svn-r419] Removed 'go' from the cleanup list. Let individual decides when
to purge the file.
1998-06-10 11:14:09 -05:00
Albert Cheng
a92096e9a3 [svn-r403] Revised PHDF5 test program. Used VRFY macros instead of
assert.  That allowed more customization in the future (like
allow different levels of verboseness.)
1998-05-29 14:57:05 -05:00
Paul Harten
9e886e03e5 [svn-r366] Purpose:
New feature

Solution:
    Parallel HDF5 support on Intel TFLOPS machine using PFS file system.

Platform tested:
    Intel TFLOPS (ASCI Red)
1998-04-23 18:11:06 -05:00
Albert Cheng
b59ab36893 [svn-r352] *** empty log message *** 1998-04-17 09:53:57 -05:00
Albert Cheng
368a103a93 [svn-r348] Removed shdf entries. With more parallel access features used,
it is hard to keep an equivalent sequential version.  Its useness
has diminshed too now that the basic parallel access features
are working.
1998-04-16 18:01:44 -05:00
Albert Cheng
851b448c9d [svn-r344] Added collective access tests to testphdf5.c.
Changed the data file names to *.h5f to avoid potential mixup
with the split file convention.
1998-04-12 23:35:49 -05:00
Albert Cheng
2d9f2282e6 [svn-r332] Overhauled the testing routines:
Added routines to fill in test data and to verify data read back.
Would verify data and report errors when detected.
Added verbose flag to control output "volume"--be more verbose
only if it is run with -v option.
1998-03-30 12:03:46 -05:00
Albert Cheng
dd51e474f0 [svn-r331] Moved its code into testphdf.c. Easier that way. 1998-03-30 12:00:57 -05:00
Albert Cheng
7bd84c9fb8 [svn-r330] Remove sphdf from the automatic tests. Need to be invoke specifically
instead of by default.  It is getting harder to maintain a serial
version of testphdf.  May have to drop it later.
1998-03-30 11:59:59 -05:00
Albert Cheng
2d148236d1 [svn-r316] Added test for opening parallel file by communicator other than
COMM_WORLD.
1998-03-11 01:13:01 -05:00
Albert Cheng
f96b4b79a0 [svn-r308] revised according API changes.
Added #define FAIL patch due to confusion that API's are
still defined to return FAIL while FAIL has been undefined
from public.h.
1998-03-05 22:41:49 -05:00
Albert Cheng
edee5efb64 [svn-r307] Revised with new name schemes. 1998-03-05 17:45:29 -05:00
Robb Matzke
9bfbfbc9a0 [svn-r291] Changes since 19980206
----------------------

./configure.in
./src/H5Fprivate.h
./src/H5Fsec2.c
	We now detect and use lseek64() on systems that have it (e.g.,
	Irix64) and are able to generate >2GB files on Irix XFS file
	systems (and anything else that supports large files).  This
	change also removed some warning messages from the Irix `-64'
	compiler.

	> $ ls -l istore.h5
	> -rw-r--r--    1 matzke   meshtv   8605436856 Feb 17 14:03 istore.h5

./configure.in
./src/H5Fprivate.h
./src/H5Fstdio.h
	We now detect and use fseek64() on systems that have it (e.g.,
	Irix64) and are able to generate >2GB files on Irix XFS file
	systems (and anything else that supports large files).  This
	change also removed some warning messages from the Iris `-64'
	compiler.

./src/H5E.c
./src/H5Epublic.h
	Added the H5E_OVERFLOW error to signal file address overflow.

./src/H5Fpublic.h
./examples/h5_chunk_read.c
./examples/h5_compound.c
./examples/h5_extend_write.c
./examples/h5_group.c
./examples/h5_read.c
./examples/h5_write.c
./html/Datasets.html
./html/Files.html
./html/H5.api.html
./html/H5.intro.html
./html/H5.sample_code.html
./html/ph5example.c
./html/review1.html
./test/cmpd_dset.c
./test/dsets.c
./test/extend.c
./test/tfile.c
./test/th5p.c
./test/theap.c
./test/tohdr.c
./test/tstab.c
./testpar/phdf5.c
	Renamed file access constants to follow the naming scheme.
	Also changed the base names a little to be more accurate as to
	what they do.  The old names H5ACC_WRITE and H5ACC_OVERWRITE
	will temporarily work.

	     H5ACC_DEFAULT     --> H5F_ACC_RDONLY for H5Fopen()
	     H5ACC_DEFAULT     --> H5F_ACC_EXCL   for H5Fcreate()
	     H5ACC_WRITE       --> H5F_ACC_RDWR
	     H5ACC_OVERWRITE   --> H5F_ACC_TRUNC

	Albert or Kim: The H5ACC_INDEPENDENT and H5ACC_COLLECTIVE
	macros in H5Fpublic.h should be an enum typedef and have names
	more like H5F_MPIO_INDEPENDENT and H5F_MPIO_COLLECTIVE.  Also
	change the access_mode argument of H5Cset_mpio().

	H5Fcreate() and H5Fopen() are more strict now about which
	flags are acceptable for the operation.

./src/H5Fprivate.h
./src/H5F.c
./src/H5C.c
	Changed the file access template to make it more general.  A
	union contains a struct for each type of low-level driver and
	the default template is initialized at run-time.

./src/H5Fpublic.h
./src/H5F.c
	Added H5Fget_access_template() and cleaned up
	H5Fget_create_template().

./src/H5C.c
	The H5Cset_mpi() no longer trashes the file access template
	when an error is detected.  We check for errors and *then*
	update the file access template.

	Added H5C_close() so Albert and Kim have a place to release
	the MPI communicator and info from the file access property
	list.

	Kim or Albert: I notice in H5Cset_mpi() you copy the MPI
	communicator.  Do you need to do something similar in
	H5C_copy()?

./src/H5F.c
	Added more error checking for the file creation and access
	property lists because it used to be possible to make the
	library dump core by swapping the creation and access property
	list ID numbers of H5Fcreate().

./test/istore.c
./test/tfile.c
./test/th5p.c
./test/theap.c
./test/tohdr.c
./test/tstab.c
./testpar/testphdf5.c
	One must pass H5C_DEFAULT as the file creation or access
	property list in order to get the default property list.  It
	is no longer possible to pass zero or any other arbitrary bad
	object ID.

./src/H5Fcore.c
./src/H5Ffamly.c
./src/H5Flow.c
./src/H5Fmpio.c
./src/H5Fsec2.c
./src/H5Fsplit.c
./src/H5Fstdio.c
./src/H5MF.c
	The file access property list is passed to all H5F_low_...()
	functions and to the drivers.

./src/H5Fcore.c
	The block size can be set at run time on a per-file basis
	instead of at compile time across all files. The "5000 items in
	a group test" now takes 1.6 seconds.

./src/H5private.h
	Removed inclusion of mpi.h and mpio.h since they're included
	from H5public.h.

./src/H5Cpublic.h
./src/H5C.c
	Added H5Cset_stdio(), H5Cset_sec2(), H5Cset_core(),
	H5Cset_split(), and H5Cset_family() in addition to the
	H5Cset_mpio() that Kim and Albert already wrote.  We still
	need the H5Cget_driver() and an H5Cget...() counterpart for
	each of those functions.  The split and family drivers still
	need a little work but I'm checking this in anyway.
1998-02-19 13:26:49 -05:00
Albert Cheng
2ac7b3e063 [svn-r284] Added more comments. 1998-02-16 16:06:48 -05:00
Albert Cheng
19f84beeb7 [svn-r281] Initial version. 1998-02-16 09:06:43 -05:00
Albert Cheng
ffdd694b4f [svn-r275] Initial version of test files for the parallel library. 1998-02-14 01:22:11 -05:00