Commit Graph

382 Commits

Author SHA1 Message Date
Quincey Koziol
43e3b45021 [svn-r6825] Purpose:
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)
2003-05-07 16:52:24 -05:00
Elena Pourmal
0b337b6c81 [svn-r6818]
Purpose: Maintenance for T3E

Description: Cray updated T3E to run unicosmk2.0.6.X
             Configuration failed.

Solution: Created new unicosmk2.0.6.X files in the config and fortran/config
          directories and added them to MANIFEST

Platforms tested: Cray T3E

Misc. update:
2003-05-06 18:16:23 -05:00
Pedro Vicente Nunes
5e3fa2a3b5 [svn-r6811] Purpose:
remove a test file for h5diff that was left over

Description:

Solution:

Platforms tested:

Misc. update:
2003-05-06 16:46:21 -05:00
Bill Wendling
a306b38d67 [svn-r6785] Purpose:
Feature Add

Description:
    It's now possible to print out characters as actual characters
    instead of their decimal equivalent numbers. It's the same thing that
    h5ls does. The flag to do this is "--string" or "-r".

Platforms tested:
    Verbena (Fortran & C++)
    Arabica (Fortran)
    Modi4 (Fortran & Parallel)

Misc. update:
2003-04-30 17:37:06 -05:00
Pedro Vicente Nunes
2faf013f73 [svn-r6775] Purpose:
removed one h5diff testfile, that was accidentely left there

Description:

Solution:

Platforms tested:

Misc. update:
2003-04-29 09:57:43 -05:00
Pedro Vicente Nunes
23a8546574 [svn-r6770] Purpose:
added testfiles for h5diff

Description:

Solution:

Platforms tested:

Misc. update:
2003-04-28 18:51:14 -05:00
Albert Cheng
11d5709f1e [svn-r6715] Purpose:
updated.

Description:

Solution:

Platforms tested:

Misc. update:
2003-04-18 08:34:08 -05:00
Albert Cheng
32bcb46b23 [svn-r6710] Purpose:
updated with added file, testpar/t_ph5basic.c

Platforms tested:
bin/chkmanifest

Misc. update:
2003-04-17 22:07:43 -05:00
Pedro Vicente Nunes
9dacf3d56b [svn-r6706] Purpose:
added test files for h5diff
:

Description:

Solution:

Platforms tested:

Misc. update:
2003-04-17 16:07:32 -05:00
Pedro Vicente Nunes
8bb9ae4447 [svn-r6693] Purpose:
added more /tools/testfiles for h5diff

Description:

Solution:

Platforms tested:

Misc. update:
2003-04-17 11:47:39 -05:00
Elena Pourmal
6f931cff7c [svn-r6681]
Purpose: Catching up with 1.4 branch

Description: 1.5 didn't have unicos10.0.X configuration files
             for both C and fortran.

Solution: Added the files and updated MANIFEST

Platforms tested: bin.chmanifest on arabica

Misc. update:
2003-04-15 17:25:09 -05:00
Bill Wendling
3935629cd6 [svn-r6680] Purpose:
Feature Add

Description:
    Added a "libhdf5_fortran.settings" file to the Fortran library.

Platforms tested:
    Arabica (Fortran)
    Modi4   (Parallel & Fortran)
    Vebena  (Fortran & C++)

Misc. update:
2003-04-15 16:43:26 -05:00
Pedro Vicente Nunes
9a30f6f020 [svn-r6625] Purpose:
added new test files for h5diff

Description:

Solution:

Platforms tested:

Misc. update:
2003-04-09 22:14:20 -05:00
Bill Wendling
44deb0bdec [svn-r6622] Purpose:
Addition

Description:
    Added "h5fc" utility. This is the same as the "h5cc" utility but for
    Fortran. It only handles static libraries since that's the only
    library we build for Fortran.

    Note! I've tested the code on the normal platforms but I haven't
    tested the utility itself.

Platforms tested:
    Arabica (Fortran)
    Modi4 (Fortran & Parallel)
    Burrwhite (Fortran & C++

Misc. update:
2003-04-09 19:48:46 -05:00
Quincey Koziol
4522509d0c [svn-r6614] Purpose:
Add new H5Zpkg.h header
2003-04-08 21:38:07 -05:00
Pedro Vicente Nunes
9988fab5ea [svn-r6592] Purpose:
added testfiles of h5diff to MANIFEST

Description:

Solution:

Platforms tested:
none

Misc. update:
2003-04-06 23:31:08 -05:00
Elena Pourmal
1d76391f63 [svn-r6583]
Purpose: New tool

Description: Pankaj created h5import tool long time ago. I am finally checking
             the source code in for the 1.6 release.
             Known problems: h5import test will crash if srcdir option
                             is used; will be fixed before the release.

Solution:

Platforms tested: vebena, arabica, modi4 were tested. h5import tests passed
                  I also tested on arabica with srcdir option to make sure that
                  there is a problem when srcdir is used. After that I disabled
                  h5import tests. Daily tests will build h5import, but will not run
                  h5import tests.

Misc. update:
2003-04-03 15:00:42 -05:00
Pedro Vicente Nunes
18b98b4298 [svn-r6562] Purpose:
added test files for h5diff

Description:
2 binary hdf5 files, generated by h5difftst.c located in /tools/h5diff
1 of several text files to be added , that have a predifined h5diff output , to be compared with
the output of the program rum by testh5diff.sh

Solution:

Platforms tested:

Misc. update:
2003-04-02 13:39:23 -05:00
Albert Cheng
3b9feb9e8a [svn-r6561] Purpose:
Updated with the two newly added configure files.

Platforms tested:
bin/chkmanifest succeeded.

Misc. update:
2003-04-02 11:53:07 -05:00
MuQun Yang
e782e98c8d [svn-r6554] Purpose:
Adding new code name (H5Zszip.c) to MANIFEST

Description:

Solution:

Platforms tested:

Misc. update:
2003-04-01 11:02:26 -05:00
Elena Pourmal
b6f34ab3e5 [svn-r6517]
Purpose: Bug fix.

Description: When I added support for filters, I forgot to add
             fortan man pages file to the MANIFEST file.
             When I run chkmanifest, I discovered that there was also
             a typo ( ./dac/Makefile.in instead of ./doc/Makefile.in )

Solution: added ./doc/html/fortran/h5z_FORTRAN.html and chnages "a" to "o"

Platforms tested: arabica with bin/chkmanifest

Misc. update:
2003-03-21 13:26:24 -05:00
Binh-Minh Ribler
61b9af6f26 [svn-r6511] Purpose:
Added config file c++/config/hpux11.00
2003-03-19 21:22:37 -05:00
Elena Pourmal
b86b6f6a35 [svn-r6489]
Purpose: Catching up with C library

Description: Added new files for PGI compilers support on Linux 2.4
             config/linux-gnuaout
             fortran/config/linux-gnuaout
             Added new source and test files for filters
             fortran/src/H5Zf.c
             fortran/src/H5Zff.f90
             fortran/test/tH5Z.f90

Solution:

Platforms tested: arabica(C and F90), burrwhite (pgcc and pgf90), modi4 (F90 and parallel)

Misc. update:
2003-03-19 11:03:40 -05:00
Quincey Koziol
be130316bf [svn-r6486] Purpose:
Bug fix

Description:
    "make distclean" is failing currently in the doc/html/ed_libs and
    doc/html/ed_styles directories for lack of a 'Dependencies' file.

Solution:
    Add it.

Platforms tested:
    FreeBSD 4.7 (sleipnir)

Misc. update:
2003-03-18 15:12:26 -05:00
Bill Wendling
fbe3205821 [svn-r6480] Purpose:
Update
Description:
    Added Makefile.ins for the new doc directories
2003-03-14 16:52:23 -05:00
Frank Baker
807e8a989a [svn-r6479]
Purpose:
    Add stylesheet (doc/html/ed_styles/*) and DW library (doc/html/ed_libs/*)
    files to MANIFEST for HDF5 doc set DreamWeaver adaptation.
2003-03-14 16:31:27 -05:00
Elena Pourmal
1e7558dbd0 [svn-r6463]
Purpose:
    Maintenance
Description:
    Added support for variable length datatypes.
Solution:
   I added support for Fortran VL types to 1.4 branch before the
   hdf5-1.4.5 release. Now I am bringing changes back to the 1.5 branch
Platforms tested:
    arabica (fortran), eirene (fortran), modi4 (parallel, fortran)
2003-03-05 15:12:10 -05:00
Quincey Koziol
474a1434bd [svn-r6436] Purpose:
New internal feature

Description:
    Add internal API for building and working with heaps (H5HP).  This will be
    used for the LRU algorithm in the new metadata cache code.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}
    FreeBSD 4.7 (sleipnir)
2003-02-24 15:25:13 -05:00
Quincey Koziol
946c606452 [svn-r6411] Purpose:
Code cleanup

Description:
    Clean up miscellaneous warnings which have crept into the code.

    Fix "_POSIX_C_SOURCE not defined" warning on FreeBSD.

    Adjust gcc compiler flags to be more concise for production mode.

    Refactor the H5O code so that there is a stronger boundary between code
    in the H5O package and code in the library which just calls H5O routines.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}
    FreeBSD 4.7 (sleipnir) serial & parallel and gcc 2.95.4 & gcc 3.2.2

Misc. update:
    Update MANIFEST if you add or remove any file.
2003-02-17 10:54:15 -05:00
Raymond Lu
d2bfd727ca [svn-r6400]
Purpose:
    Change feature
Description:
    Switch to Fletcher32 from Adler32 checksum
Platforms tested:
    arabica, eirene, modi4
Misc. update:
    MANIFEST and RELEASE.txt updated.
2003-02-12 15:07:21 -05:00
Quincey Koziol
7d63d5e3ff [svn-r6395] Purpose:
Code cleanup.

Description:
    Break up the ~9350 line H5T.c module into smaller pieces, which contain
    code for a particular feature or support for a datatype class.

    This should make the "main" H5T code (still in H5T.c) easier to support,
    as well as removing some of the "minor" routines from the user applications
    which don't use them (my rough estimates show about 4% reduction (~30K on
    a FreeBSD machine) in optimized, staticly-linked binaries for very simple
    programs)

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}

    FreeBSD 4.7 (sleipnir)

Misc. update:
    Update MANIFEST
2003-02-12 08:44:31 -05:00
Quincey Koziol
168d67dbd2 [svn-r6383] Purpose:
New feature for developers.

Description:
    Added "function stack" tracing to library.  This allows developers (there
    is no public API) to call H5FS_print within the library and get a listing
    of the functions traversed to reach that point in the library.  Eventually,
    I may add support for reporting the parameters to each function also...

    Mainly for debugging parallel I/O programs, but I think it will come in
    handy in other cases also.

    The function stack tracking is controlled with a configure switch:
    --enable-funcstack, which defaults to enabled currently.  When we branch
    for 1.6, we should change the default setting on the branch to be disabled.

    Also, added a destructor to the thread-specific keys when thread-safety is
    turned on in the library.  Otherwise, they were leaking memory and causing
    difficult to debug errors in threaded programs (like the test/ttsafe test).

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}

    FreeBSD 4.7 (sleipnir) w/thread-safety enabled.

Misc. update:
    Updated MANIFEST with new files added (src/H5FS.c & src/H5FDprivate.h)

    Update release_docs/RELEASE with thread-safety bug fix.
2003-02-07 16:14:19 -05:00
Quincey Koziol
4e8da9d224 [svn-r6382] Purpose:
Update with missing files.
2003-02-07 06:34:00 -05:00
Bill Wendling
76457aac6c [svn-r6378] Purpose:
Update
Description:
    MANIFEST:
        - Added .autom4te.cfg and H5FDfphdf5.[ch] files.
    .autom4te.cfg
        - When the new versions of libtool/autoconf come out, this file
          will help get rid of the annoying autom4te.cache directory.
Platforms tested:
    Linux
2003-02-06 17:06:35 -05:00
Raymond Lu
8251a25286 [svn-r6376]
Misc. update:
    Update MANIFEST to add H5Zadler32.c.
2003-02-04 13:53:11 -05:00
Pedro Vicente Nunes
85751bbbe9 [svn-r6326] Purpose:
added h5diff to CVS
    current version, options only work for float dataset type
Platforms tested:
    windows, linux
2003-01-23 17:08:51 -05:00
Quincey Koziol
ba63879ea2 [svn-r6307] Purpose:
Bug fix

Description:
    Currently, when the library encounters an object header message that isn't
    know, it fails to open that object in the file.

Solution:
    Allow the library to skip over the unknown object header message and
    continue to process the remaining messages, in the hope that the skipped
    message isn't important later.  If it is important, it will be caught at
    a higher level of the library.

Platforms tested:
    FreeBSD 4.7 (sleipnir)
2003-01-21 15:19:48 -05:00
Quincey Koziol
71ca572047 [svn-r6264] Purpose:
Update manifest with missing test files...
2003-01-10 08:27:27 -05:00
Quincey Koziol
9a433b99a5 [svn-r6252] Purpose:
Lots of performance improvements & a couple new internal API interfaces.

Description:
    Performance Improvements:
        - Cached file offset & length sizes in shared file struct, to avoid
            constantly looking them up in the FCPL.
        - Generic property improvements:
            - Added "revision" number to generic property classes to speed
                up comparisons.
            - Changed method of storing properties from using a hash-table
                to the TBBT routines in the library.
            - Share the propery names between classes and the lists derived
                from them.
            - Removed redundant 'def_value' buffer from each property.
            - Switching code to use a "copy on write" strategy for
                properties in each list, where the properties in each list
                are shared with the properties in the class, until a
                property's value is changed in a list.
        - Fixed error in layout code which was allocating too many buffers.
        - Redefined public macros of the form (H5open()/H5check, <variable>)
            internally to only be (<variable>), avoiding innumerable useless
            calls to H5open() and H5check_version().
        - Reuse already zeroed buffers in H5F_contig_fill instead of
            constantly re-zeroing them.
        - Don't write fill values if writing entire dataset.
        - Use gettimeofday() system call instead of time() system when
            checking the modification time of a dataset.
        - Added reference counted string API and use it for tracking the
            names of objects opening in a file (for the ID->name code).
        - Removed redundant H5P_get() calls in B-tree routines.
        - Redefine H5T datatype macros internally to the library, to avoid
            calling H5check redundantly.
        - Keep dataspace information for dataset locally instead of reading
            from disk each time.  Added new module to track open objects
            in a file, to allow this (which will be useful eventually for
            some FPH5 metadata caching issues).
        - Remove H5AC_find macro which was inlining metadata cache lookups,
            and call function instead.
        - Remove redundant memset() calls from H5G_namei() routine.
        - Remove redundant checking of object type when locating objects
            in metadata cache and rely on the address only.
        - Create default dataset object to use when default dataset creation
            property list is used to create datasets, bypassing querying
            for all the property list values.
        - Use default I/O vector size when performing raw data with the
            default dataset transfer property list, instead of querying for
            I/O vector size.
        - Remove H5P_DEFAULT internally to the library, replacing it with
            more specific default property list based on the type of
            property list needed.
        - Remove redundant memset() calls in object header message (H5O*)
            routines.
        - Remove redunant memset() calls in data I/O routines.
        - Split free-list allocation routines into malloc() and calloc()-
            like routines, instead of one combined routine.
        - Remove lots of indirection in H5O*() routines.
        - Simplify metadata cache entry comparison routine (used when
            flushing entire cache out).
        - Only enable metadata cache statistics when H5AC_DEBUG is turned
            on, instead of always tracking them.
        - Simplify address comparison macro (H5F_addr_eq).
        - Remove redundant metadata cache entry protections during dataset
            creation by protecting the object header once and making all
            the modifications necessary for the dataset creation before
            unprotecting it.
        - Reduce # of "number of element in extent" computations performed
            by computing and storing the value during dataspace creation.
        - Simplify checking for group location's file information, when file
            has not been involving in file-mounting operations.
        - Use binary encoding for modification time, instead of ASCII.
        - Hoist H5HL_peek calls (to get information in a local heap)
            out of loops in many group routine.
        - Use static variable for iterators of selections, instead of
            dynamically allocation them each time.
        - Lookup & insert new entries in one step, avoiding traversing
            group's B-tree twice.
        - Fixed memory leak in H5Gget_objname_idx() routine (tangential to
            performance improvements, but fixed along the way).
        - Use free-list for reference counted strings.
        - Don't bother copying object names into cached group entries,
            since they are re-created when an object is opened.

        The benchmark I used to measure these results created several thousand
        small (2K) datasets in a file and wrote out the data for them.  This is
        Elena's "regular.c" benchmark.

        These changes resulted in approximately ~4.3x speedup of the
        development branch when compared to the previous code in the
        development branch and ~1.4x speedup compared to the release
        branch.

        Additionally, these changes reduce the total memory used (code and
        data) by the development branch by ~800KB, bringing the development
        branch back into the same ballpark as the release branch.

        I'll send out a more detailed description of the benchmark results
        as a followup note.

    New internal API routines:
        Added "reference counted strings" API for tracking strings that get
            used by multiple owners without duplicating the strings.
        Added "ternary search tree" API for text->object mappings.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}
    Other platforms/configurations tested?
        FreeBSD 4.7 (sleipnir) serial & parallel
        Solaris 2.6 (baldric) serial
2003-01-09 12:20:03 -05:00
Albert Cheng
22c46e25b1 [svn-r6233] Purpose:
Updated with the newly added file, H5MPprivate.h.
2003-01-03 14:38:29 -05:00
Albert Cheng
9174121b6b [svn-r6215] Added Files:
fortran/config/powerpc-ibm-aix5.x
       To cover AIX 5.x.
Removed Files:
    fortran/config/powerpc-ibm-aix4.2.1.0
    fortran/config/powerpc-ibm-aix4.3.2.0
    These files are outdated and have been replaced by powerpc-ibm-aix4.x.
Modified Files:
    MANIFEST
    Update it.
Platforms tested:
    Only on LLNL blue.  LLNL SP are the only machines that use
    these files and that I have access.
2002-12-18 18:03:05 -05:00
Quincey Koziol
f3175abb1b [svn-r6128] Purpose:
Added entry for H5Tget_native_type test review document.
2002-11-20 13:20:42 -05:00
Quincey Koziol
b47a688089 [svn-r6119] Purpose:
Add "test review" pages.
2002-11-20 08:57:13 -05:00
Quincey Koziol
b1ff513e6a [svn-r6110] Purpose:
Code cleanup/new feature

Description:
    Removed poorly named H5_HAVE_COMPRESSION flag in favor of
    H5_HAVE_FILTER_DEFLATE.

    Added new test files for "missing filter" testing.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}
    FreeBSD 4.7 (sleipnir)
2002-11-20 08:02:20 -05:00
Raymond Lu
0105a3b97c [svn-r6099]
Purpose:
    bug fix.
Description:
    h5dump cannot dump data and datatype for VL string.
Platforms tested:
    eirene, arabica
Misc. update:
    MANIFEST, RELEASE.txt
2002-11-18 11:38:11 -05:00
MuQun Yang
9646b2464c [svn-r6086]
Purpose:
     updated file list including shuffling code and shuffling note
Description:
Solution:
Platforms tested:
Misc. update:
2002-11-13 11:29:57 -05:00
Raymond Lu
a9dea215ed [svn-r6060]
Purpose:
    Add new functions
Description:
    add H5Tget_native_type and H5Tis_variable_str.
Platforms tested:
    arabica, eirene, modi4
Misc. update:
    MANIFEST and release_docs/RELEASE updated.
2002-11-06 16:08:45 -05:00
Quincey Koziol
4e0b0046df [svn-r6053] Purpose:
Add file

Description:
    Add parallel hyperslab benchmark.
2002-11-05 06:04:53 -05:00
Albert Cheng
4bd557ec1e [svn-r6036] Description:
Updated with the new entry of Daily_tests_explained.
Platforms tested:
    bin/chkmanifest
2002-10-28 12:56:00 -05:00
Bill Wendling
c6cb0df0fd [svn-r6027] Purpose:
Update
Description:
    Added new files to the MANIFEST and added a new configure switch for
    enabling building of the Flexible parallel HDF5 module.
Platforms tested:
    Modi4 Eirene Arabica
2002-10-23 14:33:35 -05:00