Commit Graph

2059 Commits

Author SHA1 Message Date
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
Bill Wendling
a33e9619aa [svn-r2533] Rolled back the changes I committed since Albert fixed the problem with
FILENAME being extern global...
2000-09-11 13:44:36 -05:00
Bill Wendling
7fd9e85f62 [svn-r2532] Added a trivial FILENAME definition to those programs linked with
h5test.o, which requires the definition to work...
2000-09-11 11:07:59 -05:00
Albert Cheng
dd4203674a [svn-r2531] Description:
The "FILENAME" declared extern in h5test.h is not always used.
    It was used in h5_cleanup to remove temporary files created
    during tests.  Not all tests codes have used this routine.
    Indeed, quite a few of test programs do "#define FILENAME ".
    Also, h5_cleanup needs to work in tandem with h5_fixname.
    h5_fixname accepts an explicite base_name argument instead
    of using the global variable FILENAME.  That is cleaner.
Solution:
    Added char *base_name[] as a new argument to h5_cleanup, in
    the same style as h5_fixname.  Removed "extern char *FILENAME..."
    from use.  Also, undo some unnecessary declaration of "char *FILENAME"
    from some tests which don't use it at all (yet).
Platforms tested:
    modi4-64(irix64), arabica(solari2.7), eirene(linux)
    (arabica could not launch tests automatically.  I had to hack
     in LD_LIBRARY_PATH to make them run.)
2000-09-09 19:08:27 -05:00
Bill Wendling
32bdf68ff8 [svn-r2529] Added a -R<directory> flag to the LT command line. If we compile with
zlib, and zlib isn't in our LD_LIBRARY_PATH or in a standard system
library place (/usr/lib or /lib), then the tests can't run. This fixes it
if the person configures the source with the flag:

	--with-zlib=/usr/fnord/include,/usr/fnord/lib

This only works if you're pointing to the shared library version in the
above flag...
2000-09-08 18:02:10 -05:00
Bill Wendling
ed2e87dc71 [svn-r2528] Linking errors occured with these files. They link with libh5test, but
libh5test wants FILENAME to be defined. I have no clue why this was
working before...
2000-09-08 17:58:59 -05:00
Bill Wendling
e9164bb70c [svn-r2527] Added ability for user to compile executables as all-static... 2000-09-08 17:57:40 -05:00
Bill Wendling
ba41d8e86b [svn-r2526] Added the ability to compile executables things as completely static.
Also I'm keeping the place the user indicated the zlib would be...
2000-09-08 17:57:21 -05:00