Commit Graph

46 Commits

Author SHA1 Message Date
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
74a448d084 [svn-r9358] Purpose:
Bug fix

Description:
    Relax restrictions on parallel I/O to allow compressed, chunked datasets
to be read in parallel (collective access will be degraded to independent
access, but will retrieve the information still).

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Solaris 2.7 (arabica)
    IRIX64 6.5 (modi4)
    h5committest
2004-10-04 15:29:31 -05:00
Albert Cheng
ace38083da [svn-r9309] Purpose:
Cleanup

Description:
Remove old hack for H5Eget_auto() which is not needed any more.
Reverse H5E_set_auto_stack(H5EDEFAULT,...) back to previous
code of H5E_set_auto(...).  Same for H5E_get_auto_stack.

Platforms tested:
Only tested in Eirene PP as the change is pretty straight
forward.

Misc. update:
2004-09-22 14:49:32 -05:00
Raymond Lu
cb7f03a26f [svn-r9183] Purpose: New feature
Description:  Restore 6 old error API functions back to the library to be backward
compatible with v1.6.  They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto,
H5Eget_auto.  These functions do not have error stack  as parameter.

Solution:  Internally, these functions use default error stack.

Platforms tested:  h5committest and fuss.

Misc. update: RELEASE.txt
2004-09-01 12:43:30 -05:00
Quincey Koziol
803bb3e532 [svn-r8867] Purpose:
Bug fix

Description:
    Fix error in chunked dataset I/O where data written out wasn't read
correctly from a chunked, extendible dataset after the dataset was extended.

    Also, fix parallel I/O tests to gather error results from all processes,
in order to detect errors that only occur on one process.

Solution:
    Bypass chunk cache for reads as well as writes, if parallel I/O driver is
used and file is opened for writing.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require h5committest
2004-07-13 13:42:47 -05:00
Albert Cheng
3756af13c7 [svn-r8294] Purpose:
feature

Description:
Change testphdf5 to use the common test program syntax.
Needed to change the protocols of all test programs to
fit the requirement of the common test syntax.

Platforms tested:
"h5committested".
Also tested in sol with PP mode.
2004-04-01 18:00:13 -05:00
Albert Cheng
f3113c02d5 [svn-r8096] Purpose:
Improvement.

Description:
Complete change of the verbose control to use the routines provided by
the test/libh5test.a.
Also put in a temporary fix for the H5Eset_auto() and H5Eget_auto()
so that the Compat code are isolated in one place rather than all over
the source file.

Platforms tested:
Tested in Eirene (parallel).

Misc. update:
2004-01-22 18:11:39 -05:00
Quincey Koziol
1ebb93f0f8 [svn-r7923] Purpose:
Bug fix

Description:
    Clean up a couple more 1.6 compat bugs that showed up when the library
was compiled with parallel support.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel & 1.6 compat
    config not tested with h5committest
2003-12-10 11:52:29 -05:00
Raymond Lu
0d22a663df [svn-r7265] *** empty log message *** 2003-07-25 21:55:47 -05:00
Quincey Koziol
4e23c80758 [svn-r7181] Purpose:
Version update

Description:
    Removed 1.4 compatibility code in the library.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-07-07 14:02:46 -05:00
Quincey Koziol
33bf3c980d [svn-r7015] Purpose:
Comment cleanup

Description:
    Updated comments for recent changes.
2003-06-10 13:41:20 -05:00
Quincey Koziol
3fcef502ea [svn-r7001] Purpose:
Code cleanup

Description:
    Reduce warnings when compiled with --enable_hdf5v1_4 compatibility switch.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-06-09 14:16:59 -05:00
Quincey Koziol
c134146b3e [svn-r6975] Purpose:
Bug fix

Description:
    Don't attempt to perform collective I/O on chunked datasets.

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/parallel
    h5committested
2003-06-05 15:05:52 -05:00
Quincey Koziol
ab28d2c820 [svn-r6961] Purpose:
Bug fix

Description:
    An earlier checkin changed some of the assumptions about single block
hyperslabs, causing them to fail in odd ways.

Solution:
    Fix errors with single block hyperslabs by keying off of count==1 instead
of stride==1.

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/parallel
    h5committested
2003-06-04 13:42:20 -05:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
2df1f8344e [svn-r1034] Changed spelling of extendable to extendible just for consistency sake. 1999-01-26 23:08:32 -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
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
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
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