Commit Graph

2066 Commits

Author SHA1 Message Date
Quincey Koziol
415e326afe [svn-r2599] Purpose:
Document new feature
Description:
    Mention data sieve buffering for next release.
Platforms tested:
    Solaris 2.6 (i.e. baldric)
2000-09-26 17:48:44 -05:00
Quincey Koziol
a61b205aff [svn-r2597] Purpose:
Fix compiler warning
Description:
    "HUGE_VAL" (a double value) was being put into a float type and generating
    a warning during compile time.
Solution:
    Replaced "HUGE_VAL" with "FLT_MAX"
Platforms tested:
    FreeBSD 4.1
2000-09-26 15:29:40 -05:00
Albert Cheng
d01a78001f [svn-r2595] Purpose:
Feature
Description:
    Added a new document of all the controls (compiler macros,
    environment variables, ...) that affect the functionality of
    the libraries and tools.
Platforms tested:
    Viewed with MS IE.
2000-09-26 11:10:33 -05:00
Quincey Koziol
406b5334a3 [svn-r2594] Purpose:
Small Code Cleanup
Description:
    Code to optimize adjacent (i.e. contiguous) hyperslab was ugly and used too
    many temporary variables.
Solution:
    Computed the optimized hyperslabs slightly differently and got rid of
    unnecessary temporary variables.
Platforms tested:
    FreeBSD 4.1
2000-09-26 00:03:24 -05:00
Bill Wendling
ae6fba41fc [svn-r2591] Purpose:
Libtool bug
Description:
	The AR macro wasn't being propagated to the libtool file
	correctly. When libtool was being generated, it wasn't
	recoginizing the AR that was set in the configure script.
Solution:
	export the AR macro after it's set.
Platforms tested:
	Linux
2000-09-25 12:35:08 -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
HDF Admin
c2e1541f99 [svn-r2588] Snapshot version 1.3 release 30 2000-09-23 02:08:22 -05:00
Quincey Koziol
7bd50661fe [svn-r2587] Purpose:
Bug fix (sorta)
Description:
    When the stride and block size of a hyperslab selection are equal, the
    blocks that are selected are contiguous in the dataset.  Prior to my
    hyperslab optimizations, this situation used to be detected and somewhat
    optimized to improve performance.  I've added more code to optimize for
    this situation and integrated it with the new hyperslab optimization that
    weren't very efficient for that case as they should have been.
Solution:
    Detect contiguous hyperslab selections (i.e. block size in a dimension is
    the same as the stride in that dimension) and store the optimized,
    contiguous version of that hyperslab.  We also store the original, un-
    optimized version of the hyperslab to give back to the user if they query
    the hyperslab selection they just made.
Platforms tested:
    FreeBSD 4.1
2000-09-22 14:28:05 -05:00
Bill Wendling
57ed75800a [svn-r2586] Purpose:
Bug Fix
Description:
	The prototype for the H5Pregister function has a variable named
	`class'. This is a reserved word in C++ and causes the C++
	compiler to freak.
Solution:
	This variable's name was changed to cls_id in the .c file, so I
	changed it in the header file to cls_id to match.
Platforms tested:
	Linux
2000-09-22 10:29:47 -05:00
Thomas Radke
4ac2eb4d51 [svn-r2585] Mentioned the new Stream Virtual File Driver. 2000-09-22 06:12:24 -05:00
Quincey Koziol
88f539bf15 [svn-r2583] Purpose:
Bug Fix.
Description:
    An assertion in the local heap code was mistakenly checking against too
    large of a value for the size of new local heap created.  When used with
    larger-sized (>10KB) variable-length objects, it was failing the check.
Solution:
    Corrected to check against the actual size of the heap allocated, without
    the heap header.
Platforms tested:
    FreeBSD 4.1
2000-09-20 14:26:18 -05:00
Bill Wendling
53513a5ad2 [svn-r2582] Purpose:
Bug fix
Description:
	Didn't regen the MANIFEST when I added the Fortran
	library...sorry.
2000-09-20 10:22:46 -05:00
Quincey Koziol
e9653cbbf3 [svn-r2581] Purpose:
Clean up compiler warnings.
Platforms tested:
    FreeBSD 4.1
2000-09-19 17:11:52 -05:00
Quincey Koziol
8f171ba985 [svn-r2580] Purpose:
Restore file
Description:
    It appears that Robb's checkin earlier today erroneously overwrote this
    file with an older version... *grumble*
Solution:
    Found another copy of newest version, verified that it is operating
    correctly and re-checked it in.
Platforms tested:
    FreeBSD 4.1
2000-09-19 16:46:28 -05:00
Quincey Koziol
22867dca0e [svn-r2579] Purpose:
Clean up small compiler warnings and add missing function prototypes.
Platforms tested:
    FreeBSD 4.1
2000-09-19 16:08:15 -05:00
Bill Wendling
073ef8f453 [svn-r2578] Purpose:
libtool shouldn't be included in the CVS tree.
2000-09-19 15:35:13 -05:00
Bill Wendling
3c789053eb [svn-r2577] Purpose:
Added support for compiling in subdirectories.
Platforms tested:
	Solaris, IRIX (O2K)
2000-09-19 15:33:18 -05:00
Bill Wendling
8055378bce [svn-r2576] Purpose:
Adding the Fortran interface to the HDF5 library
Description:
	Fortran is now a subdirectory of the HDF5 library tree.
Platforms tested:
	Solaris and IRIX (O2K)
2000-09-19 15:06:49 -05:00
Bill Wendling
8272da0b67 [svn-r2574] Purpose:
H5FDstream.h needs to be installed.
Description:
	H5FDstream.h is included in the hdf5.h file and needs to be
	installed with the other public headers.
Solution:
	Added it to the rest of the install headers.
2000-09-19 12:42:50 -05:00
Robb Matzke
f2caef690b [svn-r2573] Purpose:
Fix Irix pmake bugs
Description:
	Build fails on Irix when builddir != srcdir
Solution:
	* acconfig.h
	* src/H5config.h.in			[REGENERATED]
		Added definition for HAVE_STREAM

	* config/conclude.in
	* config/depend1.in
	* config/depend2.in
	* config/depend3.in
	* config/depend4.in
		The `Dependencies' file is located in the source
		tree. This fixes bugs for Irix pmake when compiling
		outside the source tree.  Hopefully it still preserves
		Albert's changes which allow concurrent compilations
		to not stomp on each other's Dependencies files.


	* examples/Dependencies			[REGENERATED]
	* src/Dependencies			[REGENERATED]
	* test/Dependencies			[REGENERATED]
	* tools/Dependencies			[REGENERATED]
		Regenerated for testing purposes.
Platforms:
	i686-pc-linux
	mips-sgi-irix6.5
	sparc-sun-solaris2.6
2000-09-19 12:04:46 -05:00
Albert Cheng
7c1e888bde [svn-r2572] Purpose:
Feature
Description:
    Most tests are done inside a for-loop.  Whenever a test exits
    with error, the for-loop does a "exit 1" to exit the make.
    "make -i" could not catch and ignore the error status.
Solution:
    Replaced "exit 1" with break.  At the end of the for-loop,
    test if all tests have been run.  If not, the for-loop is
    ended by the break command, thus raise an error.  Now,
    'make -i' can catch and ignor it.
    Also added the test of variable HDF5_Make_Ignore inside the
    for-loop to indicate the desire to ignore errors when the
    HDF5_Make_Ignore is set to a non-null/blank string.
Platforms:
    Tested on modi4 and eirene.
2000-09-19 11:53:34 -05:00
Bill Wendling
cbf85a8964 [svn-r2569] Purpose:
I introduced a small bug when trying to fix the zlib stuff.

Description:
	-lz wouldn't be specified with the compile flags if it was found
	while checking for the HDF4 library.

Solution:
	Removed my bad check and replaced with a better one.

Platforms:
	Linux, Solaris
2000-09-18 12:00:18 -05:00
Quincey Koziol
60da0c13fa [svn-r2568] Description:
Mention the hypeslab speedups
2000-09-16 11:56:28 -05:00
Quincey Koziol
100d757f88 [svn-r2567] Description:
Added Stream VFD modules to the MANIFEST
2000-09-16 11:55:24 -05:00
Bill Wendling
2f725eeb40 [svn-r2565] Purpose:
Stupid error in one of the tests.
Description:
	The string tested needed to be in quotes.
Platforms:
	Linux, Solaris
2000-09-15 14:59:33 -05:00
Bill Wendling
2a4c631e2c [svn-r2564] Purpose:
Regenerated after changes to the configure.in file made by Thomas
     Radke <tradke@aei-potsdam.mpg.de>
Platforms:
     Linux
2000-09-15 10:41:45 -05:00
Thomas Radke
b374a9c504 [svn-r2563] Purpose:
Added the Stream Virtual File Driver to the list of drivers
     used for trying to open a file via h5dump_fopen().

Description:
     The Stream VFD was added at bottom of the driver list for h5dump_fopen().
     If no driver succeeded to open a file given by its filename
     the Stream VFD would try to do so by parsing the filename as an
     'hostname:port' argument, open a socket to that address and read
     read the file.

     This feature can be used to h5ls/h5dump streamed files.

Platforms:
     All platforms (also between heterogenous).
2000-09-15 07:05:41 -05:00
Thomas Radke
2fdf107b64 [svn-r2562] Purpose:
Added test program to verify the Stream Virtual File Driver.

Description:
    This program tests the functionality of the Stream Virtual File Driver.

      1. It spawns two new processes, a sender and a receiver.
      2. The sender opens an HDF5 file for writing and writes
         a sample dataset to it.
         On closing the file the Stream VFD would send the file
         contents to any connected client.
      3. The receiver serves as a client attempting to open an
         HDF5 file for reading. On opening the file the Stream VFD
         would establish a socket connection to the sender process,
         identified by its hostname (which is localhost in this example)
         and a port number, and read the file contents via this socket.
         Aftwerwards the dataset is read from the file into memory
         and verified.
      4. The main program waits for termination of its two child
         processes and returns their exit code.

Platforms:
     Tested so far under Linux, Irix 32/64bit, OSF1, Solaris, Cray Unicos,
     Hitachi SR8000, IBM AIX.
     Not tested under Windows yet.
2000-09-15 06:59:35 -05:00
Thomas Radke
90a95467e6 [svn-r2561] Purpose:
Add the Stream VFD test program to the 'make check' targets.

Description:
     Added stream_test to the TEST_PROGS variable and a rule to build it.
2000-09-15 06:54:06 -05:00
Thomas Radke
bc5f379e7d [svn-r2560] Purpose:
Include the Stream VFD's header file H5FDstream.h.

Description:
     All the VFD's header files are included by hdf5.h itself for convenience.
2000-09-15 06:51:28 -05:00
Thomas Radke
c275f5e9c7 [svn-r2559] Purpose:
Add the Stream VFD sources to the appropriate makefile variables.

Description:
     Added H5FDstream.c to the LIB_SRC variable and H5FDstream.h
     to the PUB_HDR variable for building the Stream VFD.
2000-09-15 06:49:28 -05:00
Thomas Radke
e8e9d7b5ac [svn-r2558] Purpose:
Define HAVE_STREAM.

Description:
     If the Stream VFD was configured the configured script
     will expand this into
       '#define HAVE_STREAM 1' in H5config.h and
       '#define H5_STREAM 1'   in H5pubconf.h.
2000-09-15 06:47:08 -05:00
Thomas Radke
b4844aabb3 [svn-r2557] Purpose:
Added registration of the Stream Virtual File Driver.

Description:
     The Stream VFD is registered here if it was configured.
2000-09-15 06:42:53 -05:00
Thomas Radke
faeae783e4 [svn-r2556] Purpose:
Added the H5FD_stream_fapl_t type to the TypeString mapping table.

Description:
     This servers for proper substitution of the H5TRACE macros in the
     Stream VFD sources.

Platforms:
     All platforms.
2000-09-15 06:39:46 -05:00
Thomas Radke
5a4c55b42c [svn-r2555] Purpose:
Added source files for the Stream Virtual File Driver.

Description:
     The Stream VFD allows users to stream complete HDF5 files
     via socket connections between different applications.

     Files which were created anew are flushed to any connected client
     on each H5Fflush() or H5Fclose() operation.
     Files which are opened as read-only will be read from a socket
     on a H5Fopen() call.

     The driver's H5FDset_fapl_stream() routine allows to pass in
     several parameters such as an external socket descriptor,
     some socket options, and flags for broadcasting a received file.
     If an external socket is provided the Stream VFD would use that
     for the socket calls. Otherwise it parses the filename argument
     in H5Fcreate()/H5Fopen() for a 'hostname::port' parameter.

     All files processed by the Stream VFD are kept in memory
     (same way as the core VFD does).

Platforms:
     Tested so far under Linux, Irix 32/64bit, OSF1, Solaris, Cray Unicos,
     Hitachi SR8000, IBM AIX.
     Not tested under Windows yet.
2000-09-15 06:35:39 -05:00
Thomas Radke
55bd85f6e5 [svn-r2554] Purpose:
Add the socket library to make's LIBS variable.

Description:
        The socket library is needed to build HDF5 with the Stream VFD.

Platforms:
        Solaris
2000-09-15 06:17:07 -05:00
Thomas Radke
a8932fbddc [svn-r2553] Purpose:
Added new option --with-Stream-VFD.

Description:
        The configure option --with-Stream-VFD[={yes}|{no}] is used
        to configure HDF5 to build the Stream Virtual File Driver.
        The default is not to build it.

Platforms:
        all platforms
2000-09-15 06:14:40 -05:00
Bill Wendling
3a590c6e5c [svn-r2552] Purpose:
Upgrade of GNU tools.

Description:
	Upgraded the aclocal.m4 to the newest version of libtool.m4.

Platforms:
	Linux.
2000-09-14 17:59:16 -05:00
Quincey Koziol
a4d73cc16b [svn-r2551] Purpose:
Fix last couple of errors from introducing "regular" hyperslab feature
into the library.

Description:
    Code was blindly dereferencing data structures which aren't defined when
operating on regular hyperslabs.

Solution:
    Check for regular hyperslab defined and retrieve information from regular
hyperslab info instead of mucking about in other hyperslab information.

Platforms:
    Solaris 2.6
2000-09-14 17:54:21 -05:00
Bill Wendling
7a01c17543 [svn-r2550] Purpose:
Cleaned up the configure file a bit.

Description:
	There were a few small bugs having to do with checking if strings
	were empty. Also needed to force paths to be absolute instead of
	relative.

Solution:
	I standardized string checking (test -z for an empty string and
	test -n for a non-empty string). Also, if the user specifies a
	relative path for any of the options, the configure now makes it
	into an absolute path for both CPPFLAGS and LDFLAGS macros.

Platforms:
	Solaris, Linux
2000-09-14 17:19:24 -05:00
Bill Wendling
1a50cbd737 [svn-r2549] Added usage message if the user doesn't specify a filename (i.e., no
command line arguments are given).
2000-09-14 12:26:37 -05:00
Bill Wendling
29a7f62218 [svn-r2548] Added #include <sys/resource.h> for the struct getrusage declaration.
Przemek Klosowski, Ph.D. <przemek@nist.gov> reported this problem on
Linux RH 6.1 systems.
2000-09-14 12:15:12 -05:00
Quincey Koziol
51e91feba8 [svn-r2547] Changed hyperslab definition to generate one 6x6 hyperslab instead of 36 1x1
hyperslabs.
2000-09-13 18:50:39 -05:00
Quincey Koziol
85a08f5bc9 [svn-r2546] Further patches to accomodate regular hyperslabs. More of the tests are
passing, but not all of them yet...
2000-09-13 18:49:54 -05:00
Quincey Koziol
6a3bebec59 [svn-r2545] Updated some printfs to be more informative when failures occur. 2000-09-13 16:58:44 -05:00
Quincey Koziol
1f109221df [svn-r2544] Optimized regular hyperslab I/O routines and data structures. On my benchmarks,
they are about 4-5 times faster than before.  We no longer generate "general"
hyperslab data structures for regular hyperslabs, the general data structures
are only generated when needed for irregular hyperslabs.

Still fixing a couple of nook-and-cranny functions to understand the new
information for the regular hyperslabs, so the tests aren't completely passing,
but I wanted to get this checked in for Elena's benchmarks.  I should have
more/all tests passing later today.
2000-09-13 16:58:18 -05:00
Frank Baker
683a11a633 [svn-r2542] index.html: Minor edits. 2000-09-13 16:20:36 -05:00
Bill Wendling
7bedd301a0 [svn-r2539] Removed the -R$(ZLIB_DIR) flag since that is now being taken care of much
more nicely in the config/commence file...
2000-09-12 02:55:38 -05:00
Bill Wendling
bb533a9879 [svn-r2538] Added DYNAMIC_DIRS macro. This is derived from the LDFLAGS macro created
in the configure script, basically replacing all -L/<path> constructs
with -R/<path> ones so that libtools will pass it along to the compiler
correctly.
2000-09-12 02:54:54 -05:00
Bill Wendling
cd2902be83 [svn-r2537] I take the LDFLAGS macro, scan it for -L/<path> statements and add the
equivalent -R/<path> to the LT_LINK_EXE command. Therefore, any
executables created will know where we got the different libraries from
automagically.
2000-09-12 02:53:49 -05:00