| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Correct a couple of mistakes in error macros.
Platforms tested:
FreeBSD 4.8 (sleipnir)
triple check not necesssary.
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Fix HSIZET_MAX, HSSIZET_MAX and HSSIZET_MIN to work with Windows (hopefully)
Platforms tested:
h5committested
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Update dependencies and tracing information
Platforms tested:
h5committested
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
An earlier checkin changed some of the assumptions about single block
hyperslabs, causing them to fail in odd ways.
Solution:
Fix errors with single block hyperslabs by keying off of count==1 instead
of stride==1.
Platforms tested:
FreeBSD 4.8 (sleipnir) w/parallel
h5committested
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Move dataspace testing code into separate module to avoid linking it into
user's applications.
Platforms tested:
FreeBSD 4.8 (sleipnir) w/C++
FreeBSD 4.8 (sleipnir) w/parallel
h5committested
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup & performance improvements
Description:
Optimize hyperslabs that are built to detect situations where "regular"
hyperslabs can be recovered from span tree descriptions.
Also, improve "same shape" routine to correctly work with all the different
combinations of selections.
Platforms tested:
FreeBSD 4.8 (sleipnir) w/C++
FreeBSD 4.8 (sleipnir) w/parallel
h5committested
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Add another error code...
Platforms tested:
FreeBSD 4.8 (sleipnir) w/C++
FreeBSD 4.8 (sleipnir) w/parallel
h5committested
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Tweak HSIZET_MAX macro and add HSSIZE_MAX and HSSIZET_MIN macros.
Platforms tested:
FreeBSD 4.8 (sleipnir) w/C++
FreeBSD 4.8 (sleipnir) w/parallel
h5committested
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Move testing routines into their own module, to avoid linking them into
user's applications needlessly.
Platforms tested:
FreeBSD 4.8 (sleipnir) w/C++
FreeBSD 4.8 (sleipnir) w/parallel
h5committested
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up various warnings & comment out unused code.
Platforms tested:
FreeBSD 4.8 (sleipnir) w/C++
FreeBSD 4.8 (sleipnir) w/parallel
h5committested
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
API tweak.
Description:
The H5Sget_select_bounds() API call was using hsize_t arrays for retrieving
the 'start' and 'end' coordinates, which is counter to the rest of the dataspace
API.
Solution:
Change the arrays to be hssize_t instead.
Platforms tested:
FreeBSD 4.8 (sleipnir) w/C++
FreeBSD 4.8 (sleipnir) w/parallel
h5committested
Misc. update:
Updated all docs for this change.
Added 1.4 compatibility #ifdef's
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Performance improment
Description:
Speed up chunked dataset I/O. This breaks down into several areas:
- Compute chunk selections in the file by using hyperslab operations
instead of iterating over each element in the selection.
- If the file and memory selections are the same shape, use the file
chunk selections to compute the memory chunk selections.
This required several additional dataspace, dataspace selection and
hyperslab routines.
Platforms tested:
h5committestted (although Fortran tests failed for some reason)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
When free lists where disabled, the macros for array free list operations
could possibly expand in ways that allowed incorrect numbers of objects to be
operated on.
Solution:
Put parentheses around macro arguments when performing operations with them.
Platforms tested:
h5committestted (although Fortran tests failed for some reason)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
(void *)~((size_t)NULL) on the Cray is a different value than
(foo *)~((size_t)NULL) and causes some of the hyperslab algorithms to
fail.
Solution:
Change all the 'void *' forms to 'foo *' forms.
Platforms tested:
Cray SV1
h5committest not needed.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Correct typo which didn't show up during my previous testing in production
mode.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest not necessary.
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Fix some unused parameter warnings.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest not necessary.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
The chunk dataspace selection information for raw data I/O are being leaked.
Solution:
Free the chunk information during the cleanup code.
Platforms tested:
Solaris 2.6 (baldric) w/purify
h5committest not needed.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose: Maintenance for the second round of testing
Description: Used bin/h5vers to change version number to 1.5.55
Solution:
Platforms tested: arabica
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Fix three (!) bugs in szip filter:
- we were using bytes per pixel instead of bits per pixel
- we were using the size of the slowest changing dimension instead of
the fastest changing dimension to compute the blocks per scanline
parameter
- we swapped two parameters when setting up szip_options block.
Solution:
Addressed bugs above.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest not needed
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Improve error reporting for pixels per scanline check.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest not needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Raw data I/O on chunked datasets would attempt to allocate data structures
proportional to the number of chunks in the dataset on disk, instead of just
the number of chunks that the I/O operation would interact with, causing
operations on datasets with large #'s of chunks to fail (or become very slow),
even though the actual I/O operation was very modest.
Solution:
This is the "scalability fix" for chunked datasets that I've mentioned
we need to do, althought it's not the complete fix for the issue. Read on
for the details...
Only create data structures for the chunks that the I/O operation will
actually act on, reducing the amount of information allocated in memory,
normally.
I say "normally", because this algorithm has the same problems as the
original algorithm (worse actually, since the data structure for each chunk
is larger now) if _all_ the chunks in a dataset with a lot of chunks are
actually involved in the I/O operation. If that is the case, this code
will fail in a similar way.
To truly fix the problem, we would need to only create data structures for
a particular number of chunks, perform the I/O on just those chunks, then
release the data structures for those chunks and create data structures for
the next set of chunks to access, etc. However, I think this case is pretty
rare right now and we should worry about it after the 1.6.0 release.
Platforms tested:
h5committested
|
|
|
|
|
|
|
|
|
|
|
| |
New feature
Description:
Added "fast comparison" code for hsize_t's, since they are used in th
raw data chunking I/O code now.
Platforms tested:
h5committested
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up comment
Platforms tested:
h5committested
|
|
|
|
|
|
|
|
| |
Description: H5Tget_native_type didn't handle special platform like Cray properly.
Solution: modify algorithm and test
Platforms tested: h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
The H5HG module had a couple of lines like the following:
HDmemcpy(foo + 1, foo, size);
This would overwrite the first character of "foo" for the total of
"size" bytes.
The H5Pfapl.c is an update of the trace information.
Solution:
Use HDmemmove instead. (Suggested by George Lewandowski at Boeing.
Thanks! :-)
Platforms tested:
Modi4 (Fortran & Parallel)
Verbena (Fortran & C++)
Arabica (Fortran)
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Limit the scope on more function prototypes/macros/typedefs.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest not necessary.
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Improve information output from h5debug.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest not needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix.
Description:
When the same dataset is opened more than once and those references to the
object are left dangling, the library would not correctly shut down the dataset
API, potentially allowing the file to be truncated.
Solution:
"force" the dataset IDs to be released when the dataset API is being shut
down by the library.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committested
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix.
Description:
If the buffer holding the list of interfaces that are attempting to be
closed down becomes full, the library stops recording that an infinite loop has
occurred when shutting down the interfaces.
Solution:
Always return the correct "pending" information.
Also added ellipsis to the string of interfaces to try to make it more
obvious that the buffer became full.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committested
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Added missing line for file close degree setting for this VFD.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committested
(Unfortunately, none of these tests actually exercised this driver... :-(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Iterating over the attributes of an object without any attributes was
returning FAIL instead of 0 as the RM states.
Solution:
Changed return value of H5Aiterate for objects without attributes to be 0
and added regression tests for this.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest not needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Small code cleanup
Description:
Remove redundant sanity check.
Added a note about a potential bug.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest not necessary.
|
|
|
|
|
|
|
|
|
| |
Description: when a datatype element size is bigger than I/O datatype
conversion buffer(1MB), library reports failure.
Solution: adjust conversion buffer to be at least equal to one element size
Platforms tested: h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
The newly added H5TEST_DLL{VAR} macros weren't defined if it wasn't
a Windows environment.
Solution:
"#define" them to "" and "extern" if not a WIN32 environment.
Platforms tested:
Linux (small change not needing full testing)
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To add macro HDF5TESTDLL for windows libtest library.
Description:
Many HDF5 tests will use h5test.c.
So we create a libtest library to
1) make tests more organized and
2) make tests more consistent with other platforms
3) reduce compiling times
4) reduce dumplicated warnings possibily generated by h5test.c
However, we didn't create the corresponding libtest DLL correctly,
now, some warnings are generated because of this; so for this release,
we follow exactly DLL-DLL rules, to create an internal libtest DLL for
our test suites.
The application who used HDF5DLL will not have extra burdens to add
HDF5TESTDLL and this will reflect in the release.txt
Solution:
USE DLL import and export library by defining macro HDF5TESTDLL and HDF5TESTUSEDLL
Platforms tested:
Windows 2000(the macro will not affect on non-WIN32 platforms).
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up warnings exposed by compiling on O2K. Also, revert some of Bill
and my changes to the H5S_mpi_opt_types_g, etc. and settle them back into their
original location.
Platforms tested:
h5committested.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
A variable wasn't declared in this file.
Solution:
Put the extern declaration of the variable in this file. It's defined
in the H5S.c module.
Platforms tested:
Modi4 (This affects only parallel platforms)
Misc. update:
|
|
|
|
|
|
|
|
|
| |
Description: H5Sselect_hyperslab and H5Sselect_elements didn't check scalar
dataspaces.
Solution: put error detection in those functions.
Platforms tested: eirene(simple change).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup.
Description:
Move many package or internal function prototypes and macro definitions
into tighter scope according to their current use.
Added more comments where appropriate.
Eliminate ancient, unused functions.
Added a couple "accessor" functions to get parts of data structures which
were moved out of scope.
Platforms tested:
h5committested
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Clean up small memory leak.
Platforms tested:
h5committested.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose: Maintenance
Description: I changed release version to 1.5.54.
Email about tetsing of 1.5.53 will be send after this checkins.
Solution: used bin/h5vers -s to change the version number
Platforms tested: Done on arabica
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Improve file format debugging output.
Platforms tested:
FreeBSD 4.8 (sleipnir)
Triple check not needed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
New external file double-vectorized I/O routines were checking an assertion
on the wrong variable (essentially a typo :-).
Solution:
Check correct variable.
Platforms tested:
FreeBSD 4.8 (sleipnir)
Triple check not needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Dataspace selections created for individual chunks during chunk dataset
I/O were leaking memory.
Solution:
Properly set reference count on selection, so they get free'd when the
dataspace is closed.
Platforms tested:
FreeBSD 4.8 (sleipnir)
Triple check not needed.
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup.
Description:
Cleaned up an unusued variable and some commented out code.
Platforms tested:
FreeBSD 4.8 (sleipnir)
Triple check not needed.
|
|
|
|
|
|
|
|
|
| |
Description: H5T_XXX_init_interface calls H5T_init_interface causing
datatype not closed after file is closed.
Solution: changed H5T_init_interface to H5T_init
Platforms tested: h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature/enhancement
Description:
Chunked datasets are handled poorly in several circumstances involving
certain selections and chunks that are too large for the chunk cache and/or
chunks with filters, causing the chunk to be read from disk multiple times.
Solution:
Rearrange raw data I/O infrastructure to handle chunked datasets in a much
more friendly way by creating a selection in memory and on disk for each chunk
in a chunked dataset and performing all of the I/O on that chunk at one time.
There are still some scalability (the current code attempts to
create a selection for all the chunks in the dataset, instead of just the
chunks that are accessed, requiring portions of the istore.c and fillval.c
tests to be commented out) and performance issues, but checking this in will
allow the changes to be tested by a much wider audience while I address the
remaining issues.
Platforms tested:
h5committested, FreeBSD 4.8 (sleipnir) serial & parallel, Linux 2.4 (eirene)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code Improvements/Bug Fixes
Description:
Comparison of equality of a double/float variable to 0.0 is not
guaranteed to work and is bad practice.
In H5Fcontig.c, a warning was given by a statement like:
x = (++x) % y;
This could be confusing to a compiler I suppose.
In H5RS.c, a typedef of a structure was being tagged by the compiler
as "useless" because it had the form:
typedef struct foo {
int var1;
/* ... */
}; /* <--- note no name for this typedef */
The statement "typedef struct foo foo" is already in the header file.
Solution:
Test that the absolute value of the variable is < a very small
positive number.
Changed "x = (++x) % y" to "++x; x %= y;" instead.
Removed the "typedef" from the structure in the H5RS.c file.
Platforms tested:
Modi4 (Parallel & Fortran)
Verbena (C++ & Fortran)
Arabica (Fortran)
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update
Description:
Some of the TRACE macros were updated to reflect a new parameter.
Platforms tested:
Linux
Solaris w/ zlib
Irix w/ zlib
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change
Description:
Instead of using the "USE_GPFS" macro, use the "H5_HAVE_GPFS" macro
which is defined during configuration and then use the new parameter
to the H5P{get,set}_fapl_mpiposix functions to control if GPFS is
enabled or not.
Platforms tested:
Modi4 (only affects the parallel stuff, so no need for full testing).
Misc. update:
|