Commit Graph

2081 Commits

Author SHA1 Message Date
MuQun Yang
d152c60a30 [svn-r2622]
Purpose:
    add h4toh5 converter into MANIFEST
Description:
     add h4toh5 converter source codes, test files into MANIFEST
Solution:
Platforms tested:
       arabica,baldric,eirene
2000-09-29 17:33:03 -05:00
Frank Baker
fc66832ab0 [svn-r2621]
Purpose:
    Bug fix -- #445
Description:
    In RM_H5D.html in the H5 Reference Manual, the H5Dget_storage_size
    entry described the wrong FAILURE return value.
Solution:
    Changed H5Dget_storage_size return value on FAILURE to 0 (zero).
Platforms tested:
    Tested in Internet Explorer 5.
2000-09-29 16:41:08 -05:00
MuQun Yang
ef190ad4fc [svn-r2619]
Purpose:
    update testh4toh5
Description:
    change h5dump path at testh4toh5
Solution:
Platforms tested:
    arabica, baldric, eirene
2000-09-29 15:38:39 -05:00
MuQun Yang
b2016500e5 [svn-r2616]
Purpose:
    add h4toh5 converter source codes under tools directory.
Description:
    this is the expected hdf5 result for h4toh5 converter.
Solution:
    [details about the changes, algorithm, etc...]
    [Please as detail as you can since your own explanation is
    better than others guessing it from the code.]
Platforms tested:
    [machines you have tested the changed version.  This is absolute
    important.  Test it out on at least two or three different platforms
    such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
    64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
2000-09-28 15:53:04 -05:00
MuQun Yang
5a1ad31626 [svn-r2615]
Purpose:
    add h4toh5 converter source codes under tools directory.
Description:
    this is the test file for h4toh5 converter.
Solution:
    [details about the changes, algorithm, etc...]
    [Please as detail as you can since your own explanation is
    better than others guessing it from the code.]
Platforms tested:
    [machines you have tested the changed version.  This is absolute
    important.  Test it out on at least two or three different platforms
    such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
    64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
2000-09-28 15:52:26 -05:00
MuQun Yang
9918e0e06e [svn-r2614]
Purpose:
    add h4toh5 converter source codes under tools directory.
Description:
    [describe the bug, or describe the new feature, etc]
Solution:
    [details about the changes, algorithm, etc...]
    [Please as detail as you can since your own explanation is
    better than others guessing it from the code.]
Platforms tested:
    [machines you have tested the changed version.  This is absolute
    important.  Test it out on at least two or three different platforms
    such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
    64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
2000-09-28 15:51:45 -05:00
MuQun Yang
da81e18888 [svn-r2613]
Purpose:
     add h4toh5 converter tool
Description:
     add flag h4toh5 and testh4toh5 in the Makefile.
Solution:
    [details about the changes, algorithm, etc...]
    [Please as detail as you can since your own explanation is
    better than others guessing it from the code.]
Platforms tested:
    test on eirene and arabica.
    [machines you have tested the changed version.  This is absolute
    important.  Test it out on at least two or three different platforms
    such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
    64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
2000-09-28 15:46:31 -05:00
MuQun Yang
f527143c85 [svn-r2612]
Purpose:
      h4toh5 converter tool under tools
Description:
      put flag h4toh5 and testh4toh5 into the configure file.
Solution:
    [details about the changes, algorithm, etc...]
    [Please as detail as you can since your own explanation is
    better than others guessing it from the code.]
Platforms tested:
    at eirene and arabica.
    [machines you have tested the changed version.  This is absolute
    important.  Test it out on at least two or three different platforms
    such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
    64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
2000-09-28 15:44:42 -05:00
Quincey Koziol
b53bfca418 [svn-r2611] Purpose:
Rearrange code
Description:
    The data sieve buffering code for contiguously stored datasets was
    wedged in the H5F_arr_read/H5F_arr_write routines.
Solution:
    Created a new H5Fcontig.c to hold I/O routines for contiguously stored
    datasets (like H5Fistore.c for chunked dataset I/O routines) and moved
    data sieving code into those routines.
Platforms tested:
    Solaris 2.6 (i.e. baldric)
2000-09-28 14:12:43 -05:00
Quincey Koziol
a9afb07bd8 [svn-r2610] Purpose:
Code Optimization.
Description:
    The optimized routines for copying regular hyperslabs in memory have been
    using the same matrix routines to copy their hyperslab pieces as the
    routines for irregularly shaped hyperslabs.  This ends up imposing lots of
    extra overhead on the optimized routine, since it basically "knows" all the
    matrix information it needs.
Solution:
    Keep track of the [small] amount of matrix information necessary to perform
    the regular hyperslab copies in the optimized routines themselves instead of
    using the matrix routines.  This improves the performance for the benchmark
    I'm running from ~18 seconds to ~12 seconds and should apply to parallel
    I/O situations also.
Platforms tested:
    Solaris 2.6 (i.e. baldric)
2000-09-28 12:03:32 -05:00
Quincey Koziol
9e4665ba8c [svn-r2606] Purpose:
Code Optimization
Description:
    The matrix operations are currently the hot-spot in the library code
    for regular hyperslab operations.
Solution:
    Unrolled loops for 3 of the more heavily used functions
    (H5V_stride_optimize2, H5V_hyper_stride & H5V_hyper_copy) for the common
    cases (i.e. up to 3-D datasets).  This squeezes some more blood out of
    the stone (turnip? :-) and improves the h5hypers.c benchmark on baldric
    by another 20-25%.
Platforms tested:
    Solaris 2.6 (i.e. baldric)
2000-09-27 13:23:40 -05:00
Albert Cheng
d59cdf21d9 [svn-r2605] Updated with the addition of SWControl.html entry. 2000-09-27 09:03:06 -05:00
Albert Cheng
bdbe918477 [svn-r2603] Updated the "last update date".
Test viewed via IE.
2000-09-27 08:58:50 -05:00
Quincey Koziol
1d02d3268e [svn-r2601] Purpose:
Bug Fix
Description:
    The core and log VFL drivers were leaking small amounts of memory when they
    were used.
Solution:
    Free the appropriate memory block (for the core driver) and don't allocate
    a block (for the log driver).
Platforms tested:
    Solaris 2.6 (i.e. baldric)
2000-09-26 22:46:39 -05:00
Quincey Koziol
183c8245af [svn-r2600] Purpose:
Implemented new feature
Description:
    Added data sieve buffering code to raw I/O data path.  This is enabled for
    all the VFL drivers except the mpio & core drivers.  Also added two new
    API functions to control the sieve buffer size: H5Pset_sieve_buf_size() and
    H5Pget_sieve_buf_size().
Platforms tested:
    Solaris 2.6 (i.e. baldric)
2000-09-26 17:50:18 -05:00
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