Purpose:
Adding support for dll
Description:
Added __DLLCPP__ to all public classes and templates.
Added #include "H5Include.h" to H5RefCounter.cpp because of the
use of DLLCPP in .h file and it needs the following chain:
H5Include.h/hdf5.h/H5public.h/H5api_adpt.h
Added #pragma warning(disable: 4251) to H5Exception.h to eliminate
this warning on private data members of type 'string.' This
occurs because 'string' is not yet instantiated at compilation
time; however, since the class is exported, the warning is
harmless.
Changed this member function's parameter to be passed as reference.
from:
void CompType::insertMember( const string name,...
to:
void CompType::insertMember( const string& name,...
Platforms tested:
Linux 6.2 (eirene)
Windows 2000
Feature
Description:
Change examples to use the installed h5cc to compile the examples
programs. That will test the correctness of the installed software.
Removed examples from make targets in the top level so that it does
not get invoked in make or make check since one cannot compile
the example programs until after "make install" has completed.
Platforms tested:
eirene and modi4 (parallel)
Users were alarmed by the OFFSET overflow and GB file size tests.
Those tests only checks the limits of the MPI implementation, not
really as an error.
Solution:
Changed the VRFY macro to indicate it is an "ERROR".
Modified the INFO macro to print messages as "REMARK (not an error)"
so that users would not be alarmed.
Added an explanation string in the GB file size write/read.
Platforms tested:
eirene and modi4 (parallel)
Remove perf and mpi-perf from the parallel test targets since their
functions are replaced by pio_perf.
Platforms tested:
modi4 and eirene, both parallel modes.
Bug Fix
Description:
If a non-zero fill-value is used for a chunked dataset, any non-existent
chunked read with an "all" selection (or a contiguous hyperslab selection)
will return zero for those instead of the user's fill-value.
Solution:
Fixed I/O code to pass down fill-value to "optimized" I/O routines, so it
will be available to fill the user's buffer with.
Platforms tested:
FreeBSD 4.5 (sleipnir)
Change default actions.
Description:
Change the default maximum number of processes (-P) to use all processes
instead of just 1 (old default). Someone most likely wants to test
the I/O performance with all processes involved.
Also starts performance measurement with maximum number of processes
and decrement it with each loop. If the performance measurement
needs to restart, it can run with fewer processes if those loops
have completed.
Platforms tested:
modi4 and eirene.
Purpose:
Bug Fix
Description:
On some systems, doing the shell command:
if test -z $DEBUG_PKG; then
doesn't work if $DEBUG_PKG is null..
Solution:
Changed to "if test "X$DEBUG_PKG" = "X"; then" which will do the same
thing but without the error...
Platforms tested:
Linux
Bug Fix
Description:
When printing out the summary information after the configuration,
the Compilation Mode and Debugging information would be incorrect.
The library is set to compile to "Production" mode for a release.
Yet, the default compilation mode before that was "Development". If
the user doesn't specify "--enable-production" on the command line,
the configure defaults to "Production" mode, but the summary still
reported "Development" mode.
Solution:
Modified script so that after we've determined which compilation mode
we're in, we reset the "enable_production" variable to the correct
setting. So, we no longer have a "default". The summary part then
reads the new value and uses that to determine which mode we're in.
The debugging summary information was reworked so that it would
output the correct summary information. Slight hacking of the summary
script to check the values a bit more closely...
Platforms tested:
Linux (eirene)
Purpose:
fixed a typo of the name H5S_set_extend on the call
FUNC_ENTER (H5S_set_extend, FAIL);
Platforms tested:
w2000 octopus
linux eirene
sun arabica
IRIX64 modi4
Purpose:
fixed a bug that made a failure on H5Screate_simple, a 1D dimemsion array was declared instead of a 2D array
Platforms tested:
w2000 octopus
linux eirene
sun arabica
IRIX64 modi4
Bug fix
Description:
When a block was preempted from the chunk cache, it is possible that one
of the pointers in the algorithm is invalidated and would generate a core
dump.
Solution:
Re-calculate the internal pointer and move the the preemption after the
re-calc.
Platforms tested:
FreeBSD 4.5 (sleipnir)
Cleanup
Description:
Added set_extend.h5 file to the CLEANUP macro in the Makefile so that
it'll be removed when the other temp files are removed.
Platforms tested:
Linux
Bug Fix
Description:
The library path was relying upon the "exec_prefix" variable.
However, we weren't including that into the h5cc script.
Solution:
Added it.
Platforms tested:
Linux
Description:
modified the below files to inlude a new public function H5Dset_extend, similar
to H5Dextend, but it can lower the dimension
this function requires 2 more new private functions:
H5D_set_extend
H5S_set_extend
Platforms tested:
Bug fix & feature add
Description:
Added new API function H5Sget_select_type to determine type of selection in
a dataspace. Return values are defined by the H5S_sel_type enumerated type
in H5Spublic.h
Also, hyperslab operations involving a "all" or "none" selection are not
generating the correct resulting selections.
Solution:
Added regression tests to verify correction operation of hyperslab
operations against "all" and "none" selections. New tests also verify
H5Sget_select_type() API call.
Platforms tested:
FreeBSD 4.5 (sleipnir)
Bug fix & feature add
Description:
Added new API function H5Sget_select_type to determine type of selection in
a dataspace. Return values are defined by the H5S_sel_type enumerated type
in H5Spublic.h
Also, hyperslab operations involving a "all" or "none" selection are not
generating the correct resulting selections.
Solution:
Added more code to make hyperslab operations against an "all" or "none"
selection generate the correct results.
Platforms tested:
FreeBSD 4.5 (sleipnir)
Regression tests
Description:
Generic property classes derived from an existing class were not having
the parent class's properties copied into the new class.
Additionally, derived classes were not being detected correctly.
Solution:
Added regression tests to verify that these fixes are working:
Copied properties from parent class into derived class.
Modified H5P_isa_class_real() to walk back up the chain of parent
classes to proper detect derived classes.
Platforms tested:
FreeBSD 4.5 (sleipnir)
Bug fix
Description:
Generic property classes derived from an existing class were not having
the parent class's properties copied into the new class.
Additionally, derived classes were not being detected correctly.
Solution:
Copied properties from parent class into derived class.
Modified H5P_isa_class_real() to walk back up the chain of parent classes
to proper detect derived classes.
Platforms tested:
FreeBSD 4.5 (sleipnir)
Code speedup
Description:
Chunking I/O routines are reading in an entire chunk when performing I/O
on the chunk, even if the chunk will be too large to cache.
Solution:
If the chunk is too large to cache, uncompressed and has been allocated
space in the file, or if we are using the MPI-I/O VFD, perform the I/O
directly to the chunk, instead of reading the chunk into memory, updating
it and immediately writing the entire chunk back out.
Platforms tested:
FreeBSD 4.5 (sleipnir) (using serial access) and IRIX64 6.5 (modi4) (using
parallel access with MPI-I/O)
Bug Fix
Description:
Throughput wasn't being calculated correctly.
Solution:
We were using a value other than the actual time. Changed so that
we're using the correct structure to grab the time out of it.
Platforms tested:
Linux(pp)
Bug Fix
Description:
For some reason, a wrong line was introduced into the ltconfig in my
"Major Hack(tm)" stuff.
Solution:
Removed this line, which isn't supposed to be there cause that's why
the Major Hack was there to begin with.
Platforms tested:
NERSC machine and Pacific Blue
Feature add and algorithm reworking.
Description:
Added a "--debug" flag so we can print out various extra debugging
information.
Reworked the algorithm so that it's printing the correct throughput.
Here's how it's supposed to work:
process
T_0 T_1 T_2 T_3 ... T_n
iteration 1
2
.
.
.
m
Retrieve the maximum time from each iteration over the number of
processes. (So, if T_i had the maximum time in iteration j, then use
that time). Calculate the "Throughput" of iteration j:
S_j = (raw_size / T_i)
Collect that information over all of the iterations. Then output the
Max, Min, and Ave of all of the S_k's.
Platforms tested:
Linux (pp)
Retired run_examples.sh. Its purpose is covered by the
"check" target.
Platforms tested:
No tests--hard to test something that is removed. Pretty
sure it is not needed by any Make targets.
Bug fix
Description:
$TEST_PROG_PARA was included in the serial tests.
$TEST_PROG_PARA was not dependent on $LIBHDF5 (it should.)
Solution:
Adjusted the file to fix both problems.
Platforms tested:
eirene (pp, linux 2.2.), dangermouse (pp, linux 2.4)
modi4 (pp, -64) and modi4 serial (to verify that ph5example was not
tested at all.)
Purpose:
check code warrior changes at HDF5 branch
Description:
1. add a maro at H5config.h and H5pubconf.h to maintain the correct printf
output in code warrior.
2. update code warrior project changes.
Solution:
Platforms tested:
tested by pedro on windows ?
Bug fixes
Description:
This checkin addresses two separate bugs:
#1 - When a compound datatype with a VL datatype as a field is used
to read or write data, the datatype conversion paths added to
the table of paths were treating the VL datatypes somewhat too
genericly - they weren't dicriminating between VL datatypes used
in different files and therefore there was the possibility that
a path in the table having information for one file could get used
with a second file, causing errors or core dumps (if the first
file was closed before the later file used the path).
#2 - When composite (compound, array or VL) datatype paths in the datatype
conversion table are being tested to see if they can be used for
the current datatypes being converted, they can cause additional
conversion paths to be registered in the conversion path table.
Since this causes the global table to change size and entries to
move around, it is possible that the local variables tracking a
potential path could become incorrect as the global table was
changed out from underneath them.
Both bugs fixed are described in bug #703
Solution:
Two separate fixes:
#1 - Changed H5T_cmp to differentiate between VL datatypes in different
files and not to return datatypes in two different files as equal.
#2 - Note size of global table before evaluating datatype paths. Then,
after the appropriate path has been chosen, check if the size of
the global table has changed and recompute the position of the path
chosen in the table if necessary.
Platforms tested:
FreeBSD 4.5 (sleipnir)
Purpose:
Maintenance
Description:
Several compiler's warnings caused Hitachi SR8000
F90 and C compilers to fail.
Solution:
Fixed the code to eliminate warnings.
Platforms tested:
O2K (modi4) and Solaris 2.7 (arabica)
More optimizing for byte order conversion. Mostly just making code
easier to follow by simplifying Duff's device coding of the loops.
I also split the conversion function into two functions with different
names so output from H5T debugging indicates whether the optimized or
unoptimized case was invoked.
2002-01-25 10:48:34 Robb Matzke <matzke@arborea.spizella.com>
*: Added prototype for H5T_conv_order_opt().