Commit Graph

4488 Commits

Author SHA1 Message Date
Bill Wendling
ceec9c45d9 [svn-r6353] Purpose:
Update
Description:
    Updated the configure scripts. Fortran and C++ didn't have proper
    checks for Linux LFS support. Also needed to remove the "-g" flag
    from the compile line if --enable-production is set. For that, I took
    how it's being done in HDF5 Lite...
Platforms tested:
    Linux
2003-01-30 17:20:13 -05:00
Pedro Vicente Nunes
1e35713691 [svn-r6344] Purpose:
bug fix
    added more verbose help message
    added support for all dataset types
    added more error checking
    added new output format (28 Jan version )



Platforms tested:
    windows , linux
2003-01-29 15:56:34 -05:00
MuQun Yang
7d449de73d [svn-r6343]
Purpose:
Update H5pubconf.h on both all.zip and all_withf90.zip
Update some project files on all_withf90.zip
Description:
Make H5pubconf.h work for both .Net and 6.0
Update some project files on all_withf90.zip
Currently fortran interface failed on windows, may be handled after 1.4 release.
Solution:
Platforms tested:
windows 2000
Misc. update:
    Update MANIFEST if you add or remove any file.
    Update release_docs/RELEASE for bug fixes, new features, etc.
    Update applicable document files too.
2003-01-29 09:47:35 -05:00
Bill Wendling
749c50fcd8 [svn-r6336] Purpose:
Update

Description:
    This is the first conversion of the FPHDF5 code to be a metadata
    cache. There's an extra error message. I rewrote the sync/change code
    to be read metadata/write metadata instead.

    I still need to hook these changes into the HDF5 code so that it
    looks at the SAP first before checking the file for metadata.

Platforms tested:
    Linux
2003-01-27 15:38:38 -05:00
Quincey Koziol
a6542d06b1 [svn-r6330] Purpose:
Bug Fix

Description:
    When calling H5Fopen with the core VFL driver, but without the
    H5F_ACC_CREAT flag goes ahead and creates a memory file.

Solution:
    Check for the H5F_ACC_CREAT flag before allowing the memory file to be
    created.

Platforms tested:
    FreeBSD 4.7 (sleipnir)
2003-01-24 13:09:57 -05:00
Pedro Vicente Nunes
e4dc71bbee [svn-r6328] Purpose:
fix bug in Makefile.in

Platforms tested:
    windows , linux
2003-01-24 13:01:44 -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
Bill Wendling
f1c8081093 [svn-r6318] Purpose:
Update

Description:
    Added description of the configure bugfix for people specifying
    --with-*=/usr/include,/usr/lib in their scripts during configure...
2003-01-23 14:19:46 -05:00
Bill Wendling
355c902a73 [svn-r6317] Purpose:
Bug Fix

Description:
    Some compilers were having problems if we included the -I/usr/include
    and -L/usr/lib flags which are completely redundant. This could occur
    if the user configured with something like:

        ./configure --with-zlib=/usr/include,/usr/lib

Solution:
    Check if the --with-* command is specified with /usr/include and
    /usr/lib. If so, then don't place them in the compile macros.

Platforms tested:
    Linux, Modi4
2003-01-23 14:19:02 -05:00
Albert Cheng
daa26b6c11 [svn-r6313] Purpose:
Updated
Description:
    Updated Copyright notice.
    Replaced HGOTO_ERROR calls involving MPI calls with HMPI_GOTO_ERROR.
Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}?  Tested on Eirene (PP) only since
	the code is in the MPIO module only.
2003-01-22 14:56:45 -05:00
Frank Baker
5fba11cf8a [svn-r6312]
Purpose:
    Added 2003 to the "Copyright <years>" line.
Platforms tested:
    Viewed in vi (COPYING) and in IE 5 (doc/html/Copyright.html).
2003-01-22 14:29:08 -05:00
Albert Cheng
06ace9e426 [svn-r6310] Purpose:
patch
Description:
    Tflops interprets "$@" as "" when no parameter is given (e.g., the
    case of missing file name).  Changed it to use $@ till Tflops fixes it.
Platforms tested:
    Tflops, burrwhite (pp), modi4(pp)
2003-01-22 01:08:52 -05:00
Quincey Koziol
127dc2f80d [svn-r6308] 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:20:13 -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
Binh-Minh Ribler
fffa25d34c [svn-r6303] Purpose:
new functions
Description:
    Added these member functions to class Group per the new C functions
    H5Gget_num_objs, H5Gget_objname_by_idx and H5Gget_objtype_by_idx:

        // Returns the number of objects in the group.
        hsize_t getNumObjs() const;

        // Retrieves the name of an object in a given group by giving index
        ssize_t getObjnameByIdx(hsize_t idx, string& name, size_t size) const;

        // Returns the type of an object in a given group by giving index;
        // the overloaded function also provided the object type in text as
        // "group" for H5G_GROUP
        // "dataset" for H5G_DATASET
        // "datatype" for H5G_TYPE
        int getObjTypeByIdx(hsize_t idx) const;
        int getObjTypeByIdx(hsize_t idx, string& type_name) const;
Platforms:
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
    IRIX 6.5.11 (modi4)
2003-01-20 20:31:43 -05:00
Albert Cheng
052153434e [svn-r6302] Added the testing of libmpe.
This is generated by autoheader.
Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}? YES
    Other platforms/configurations tested? eirene with --enable-mpe
2003-01-18 09:38:02 -05:00
Quincey Koziol
04f2fe8ff8 [svn-r6301] Purpose:
Code cleanup & bug fix

Description:
    Cleanup another set of warnings on Windows and also fix mis-placed assertion
    that caused the daily tests to fail.

Platforms tested:
    IRIX64 6.5 (modi4) w/-n32
2003-01-18 08:17:33 -05:00
MuQun Yang
628c3cd504 [svn-r6299]
Purpose:
  update hdf5.dsp and hdf5dll.dsp
Description:
Solution:
Platforms tested:
hdf5test.f90 doesnot exist. flush1fortran cannot be built.
Tested Dec fortran on windows 2000.
Misc. update:
    Update MANIFEST if you add or remove any file.
    Update release_docs/RELEASE for bug fixes, new features, etc.
    Update applicable document files too.
2003-01-17 17:12:18 -05:00
MuQun Yang
f286236407 [svn-r6297]
Purpose:
Update h5pubconf.h
Description:
Add a macro to distinguish VS 6.0 and VS 7.0 since FUNCTION is a keyword for 7.0
but not for 6.0
Solution:
Use MSC_VER
Platforms tested:
windows 2000
Misc. update:
    Update MANIFEST if you add or remove any file.
    Update release_docs/RELEASE for bug fixes, new features, etc.
    Update applicable document files too.
2003-01-17 16:39:02 -05:00
Quincey Koziol
1208e94eff [svn-r6296] Purpose:
Code cleanup

Description:
    Reduce warnings on Windows

Platforms tested:
    FreeBSD 4.7 (sleipnir)
2003-01-17 15:34:14 -05:00
Albert Cheng
6f667500c1 [svn-r6293] Purpose:
Another patch
Description:
    libtool will fail if pgcc compiler is used.
    Now apply the patch if gcc is NOT used.
Platforms tested:
    Tested only on eirene because I am sure it is correct and am trying
    to beat the daily test checkout.
2003-01-17 00:21:57 -05:00
Albert Cheng
a9c79d6b61 [svn-r6286] Purpose:
bug fix
Description:
    Added a barrier to ensure all processes have finished using
    the file before cleaning it away.
    Added H5close() to ensure all HDF5 stuff are closed before
    calling MPI_Finalize.
Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}? Yes
2003-01-15 11:06:47 -05:00
Albert Cheng
c41d62c8e5 [svn-r6285] Purpose:
a patch
Description:
    When intel compilers (icc, ecc) are used in a linux system, the libtool
    generated has a wrong setting of '$wl" for linking.
    Put in a "ed ..." command script to edit the generated libtool with
    the proper setting.  The libtool people has fixed this problem.
    This can ben taken out when that version of libtool is released.
Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}? YES.
    Other platforms/configurations tested? platinum and titan using
        gcc and intel CC.
Misc. update:
    Update MANIFEST if you add or remove any file.
    Update release_docs/RELEASE for bug fixes, new features, etc.
    Update applicable document files too.
2003-01-15 10:57:52 -05:00
MuQun Yang
3715140146 [svn-r6283]
Purpose:
Change some macros to make windows happy
Description:
Currently no srandom and random functions on windows,
Function gethostname cannot be resolved when DLL turned on
Solution:
use srand and rand to replace srandom and random
turn off the option to check gethostname
Platforms tested:
windows 2000, linux 2.2.18smp
Misc. update:
    Update MANIFEST if you add or remove any file.
    Update release_docs/RELEASE for bug fixes, new features, etc.
    Update applicable document files too.
2003-01-14 16:23:09 -05:00
MuQun Yang
be8d47204c [svn-r6282]
Purpose:
 update the windows project file to catch up with new changes
Description:
various new files or modified file names need to be reflected
Solution:
Platforms tested:
windows 2000
Misc. update:
2003-01-14 16:20:10 -05:00
Quincey Koziol
7f77b606ab [svn-r6278] Purpose:
Code cleanup

Description:
    Add 'H5_DLL' macro to H5FL macros, in order to allow Windows builds to
    work.

Platforms tested:
    FreeBSD 4.7 (sleipnir)
    Visual Studio 6.0
2003-01-14 12:04:22 -05:00
Quincey Koziol
d895bd8464 [svn-r6276] Purpose:
Code cleanup

Description:
    Check in some Pablo fixes I've had floating around for quite some time.
2003-01-13 13:54:30 -05:00
Quincey Koziol
cc0d0285d8 [svn-r6275] Purpose:
Code cleanup

Description:
    Added "UNUSED" flag to an inlinable function

Platforms tested:
    FreeBSD 4.7 (sleipnir) w/gcc 3.2.1
2003-01-13 12:17:15 -05:00
Quincey Koziol
ce5dca112e [svn-r6274] Purpose:
Code cleanup

Description:
    Added gcc 3.2-specific warnings.

Platforms tested:
    FreeBSD 4.7 (sleipnir) w/gcc 3.2.1
2003-01-13 12:16:50 -05:00
Quincey Koziol
3d4529bf2a [svn-r6272] Purpose:
Code cleanup

Description:
    Fix preprocessor macros to declare variables correctly.

Platforms tested:
    MS Visual Studio
2003-01-13 10:03:05 -05:00
Quincey Koziol
8e391ad35a [svn-r6269] Purpose:
Code cleanup

Description:
    Various code cleanups to allow the development branch to be compiled with
    a C++ compiler (i.e. CC=g++ )

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}
    FreeBSD 4.7 (sleipnir) C++
2003-01-13 08:15:49 -05:00
Quincey Koziol
c3a1173026 [svn-r6268] Purpose:
Code improvement

Description:
    Add extra pair of braces to API versions of FUNC_ENTER/FUNC_LEAVE macros,
    to make API <-> non-API mismatches obvious.

Platforms tested:
    FreeBSD 4.7 (sleipnir)
2003-01-11 14:54:57 -05:00
HDF Admin
dc71e191ed [svn-r6267] Snapshot version 1.5 release 45 2003-01-11 07:13:40 -05:00
Quincey Koziol
f8da76cb9f [svn-r6266] Purpose:
Code cleanup/new feature.

Description:
    Split FUNC_LEAVE into API and non-API specific versions.  This allows a
    solution to compiling this branch with C++, as well as reducing the size
    of the binaries produced.

Platforms tested:
    FreeBSD 4.7 (sleipnir) w/serial, parallel (including MPE) & thread-safe
2003-01-10 15:26:02 -05:00
Quincey Koziol
71ca572047 [svn-r6264] Purpose:
Update manifest with missing test files...
2003-01-10 08:27:27 -05:00
Quincey Koziol
0c3c4a158a [svn-r6263] Purpose:
Update test

Description:
    Some of the performance improvements changed the errors that are reported
    for creating a duplicated dataset in a file, causing this test's hard-coded
    errors to check for to fail.

Solution:
    Updated error stack reported for dataset creation failure.

Platforms tested:
    FreeBSD 4.7 (sleipnir) w/threads
2003-01-10 08:17:03 -05:00
Quincey Koziol
98f01e2df2 [svn-r6255] Purpose:
Code cleanup

Description:
    Clean up a few more warnings and update dependencies.

Platforms tested:
    Linux 2.2.18smp (eirene) serial & parallel
2003-01-09 13:40:19 -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
Binh-Minh Ribler
7fd449cb79 [svn-r6236] Purpose: Copyright
Description:
    Added copyright notice to C++ API files, including *.h, *.cpp, and
    Makefile.in

Platforms:
    Linux 6.2 (eirene)
2003-01-06 23:22:12 -05:00
Binh-Minh Ribler
f3ca60385f [svn-r6235] Purpose: Copyright
Description:
    Added copyright notice to C++ API files, including *.h, *.cpp, and
    Makefile.in
Platforms:
    Linux 6.2 (eirene)
2003-01-06 23:18:46 -05:00
Albert Cheng
5433de9dfc [svn-r6234] Updated with the new MPE feature. 2003-01-04 10:33:30 -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
bd54330abf [svn-r6232] Purpose:
new feature
Description:
    Added MPICH/MPE instrumentation support.
    All source code are bracketed by the macro H5_HAVE_MPE.
    Use "--enable-mpe" to configure it in.
    Currently only worked in Eirene because the MPE library is
    not installed in all machines yet.
    The added file, H5MPprivate.h, holds HDF5/MPE related defintions.
Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}? Yep.
    Other platforms/configurations tested?
	--enable-mpe feature tested in Eirene.
2003-01-03 14:37:48 -05:00
Albert Cheng
8bd4ac2b38 [svn-r6231] Purpose:
new feature
Description:
    Added MPICH/MPE instrumentation support.
    All source code are bracketed by the macro H5_HAVE_MPE.
    Use "--enable-mpe" to configure it in.
    Currently only worked in Eirene because the MPE library is
    not installed in all machines yet.
Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}? Yep.
    Other platforms/configurations tested?
	--enable-mpe feature tested in Eirene.
2003-01-03 14:37:10 -05:00
Albert Cheng
3494014c72 [svn-r6229] Purpose:
Minor fix
Description:
    By mistake, the MPI_Error handling macros were inserted outside the
    overall macro bracket.  Moved them back inside the bracket.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}?  Yep.
2003-01-03 13:25:16 -05:00
Albert Cheng
a4f5705d1c [svn-r6228] Description:
When I removed the option (--enable-parallel=mpich), which did not work,
    I failed to run autoheader to update this file.  I am checking in the
    updated version now.
Platforms tested:
    No need to test since it just removed a #undefine and comments.
2003-01-03 10:00:34 -05:00
Albert Cheng
7fb720becf [svn-r6225] Purpose:
Bug fix
Description:
    SGI shell treats $0 as function name if used in a function.
    Set the name here to avoid that ambiguity and better style too.
Platforms tested:
    Just in modi4 and burrwhite since it is a shell script and the
    change is machine independent.
2003-01-02 15:48:33 -05:00
Binh-Minh Ribler
ca003aafc4 [svn-r6223] Purpose:
Bug fix - informed by Kent

Description:
    Some identifiers were flagged as unresolved symbols when building
    with c++ on Windows.  The reason is the name of these identifiers
    were changed by the c++ compiler, also called name mangling.

Solution:
    Moved
        #ifdef __cplusplus
        extern "C" {
        #endif
    to include the offending identifiers so the c++ compiler will take
    them as is.

Platforms:
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
    Windows 2000
2002-12-21 22:30:19 -05:00
HDF Admin
221db7cc32 [svn-r6221] Snapshot version 1.5 release 44 2002-12-21 04:27:49 -05:00
Bill Wendling
d8198f2f83 [svn-r6220] Purpose:
Update
Description:
    A few generic changes to the FPHDF5 code. Some error messages
    reworked a bit. Cleaning up in case of failure improved in some
    cases. Added another field to the synchronization messages...
Platforms tested:
    Linux
2002-12-19 16:48:07 -05:00