Commit Graph

169 Commits

Author SHA1 Message Date
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