Commit Graph

4197 Commits

Author SHA1 Message Date
Bill Wendling
12fc7df0d1 [svn-r5531] Purpose:
Feature Add
Description:
    Added support for testing only the "write" operations. Use the "-w"
    or "--write-only" flags for this.
Platforms tested:
    Linux (parallel) & Modi4 (parallel)
2002-06-04 16:31:35 -05:00
Bill Wendling
dd51aae3ca [svn-r5530] Purpose:
Code Cleanup
Description:
    Removed some compiler warnings.
Solution:
    In a few cases, NULL was being returned when a FAIL was supposed to
    be returned instead. There were some header files which needed to be
    included in a few of the sources. A couple of if-then statements had
    assignments in the conditional part. The compiler warned that they
    should have extra "()"s around them. Made the code check the values
    instead.
Platforms tested:
    Linux (parallel) Modi4 (parallel)
2002-06-04 16:29:05 -05:00
Quincey Koziol
56e4d8fb0c [svn-r5529] Purpose:
Code improvement

Description:
    Now that the metadata accumulator is working correctly, the buffer size
    tends to get rather large and stay there.

Solution:
    Put a throttle on the accumulator buffer to reduce its size back down when
    it isn't needed.

Platforms tested:
    Solaris 2.7 (arabica) w/FORTRAN & FreeBSD 4.5 (sleipnir) w/C++
2002-06-04 12:27:13 -05:00
Bill Wendling
945e417faa [svn-r5526] Purpose:
Bug Fix
Description:
    Still was calling the POSIX stuff "Raw".
Solution:
    Changed name to POSIX instead of Raw...
Platforms tested:
    Linux
2002-06-04 11:54:46 -05:00
Elena Pourmal
6eb49711cb [svn-r5525]
Purpose:
    Bug fix (#699), fix provided by a user, approved by Quincey
Description:
    When a scalar dataspace was written to the file and then
    subsequently queried with the H5Sget_simple_extent_type function,
    type was reported H5S_SIMPLE instead of H5S_SCALAR.
Solution:
    Applied a fix (see bug report 699) and modified out test program
    to exercise the case.
Platforms tested:
    Solaris 2.7 and Linux 2.2.18
2002-06-04 11:23:22 -05:00
Elena Pourmal
a7f08bc1bb [svn-r5524]
Purpose:
    Bug fix (#699), fix provided by a user, approved by Quincey
Description:
    When a scalar dataspace was written to the file and then
    subsequently queried with the H5Sget_simple_extent_type function,
    type was reported H5S_SIMPLE instead of H5S_SCALAR.
Solution:
    Applied a fix (see bug report 699)
Platforms tested:
    Solaris 2.7 and Linux 2.2.18
2002-06-04 11:22:19 -05:00
Quincey Koziol
ba26e8f2ad [svn-r5521] Purpose:
Code improvement

Description:
    The metadata aggregation code in the library was not terribly smart about
    extending contiguous regions of metadata in the file and would not extend
    them as far as possible.  This causes space in the file to be wasted, also.

Solution:
    Be smarter about extending the space used in the file for metadata by
    checking whether new metadata blocks allocated in the file are at the end
    of the current metadata aggregation region and append them to the metadata
    region if so.  This has the nice side benefit of reducing the number of
    bytes we waste in the file and reducing the size of the file by a small
    amount in some cases.

    This reduces the number of I/O operations which hit the disk for my test
    program from 53 to 19 (i.e. from 393 to 19, overall).

Platforms tested:
    Solaris 2.7 (arabica) w/FORTRAN and FreeBSD 4.5 (sleipnir) w/C++
2002-06-04 08:37:51 -05:00
Quincey Koziol
8ae371469a [svn-r5519] Purpose:
Bug Fix

Description:
    The "dirty" flag for symbol table entries and symbol table nodes was not
    being cleared when they were flushed to the file, causing lots of extra
    metadata I/O.

Solution:
    Reset the symbol table entry & nodes' flags when thy are flushed to disk.

    This reduces the number of I/O operations which hit the disk for my test
    program from 83 to 53 (i.e. from 393 to 53, overall).

Platforms tested:
    Solaris 2.7 (arabica) w/FORTRAN & FreeBSD 4.5 (sleipnir) w/C++
2002-06-03 21:20:07 -05:00
Albert Cheng
dbca4a4022 [svn-r5516] Purpose:
Tidy up
Description:
    Old version showed tons of output even if MPI_Offset is too small
    to support multiple GB sized files and destined to fail.
    Output is pretty confusing.
Solution:
    Prints the signness and size of MPI_Offset for information.
    Skipped tests if MPI_Offset is not big enough to support the file
    sizes.
Platforms tested:
    modi4, eirene, burrwhite (all parallel).
2002-06-03 20:33:00 -05:00
Bill Wendling
0cbb77f34f [svn-r5515] Purpose:
Bug Fix
Description:
    There was an error in the way it was determining if there were any
    reads to report.
Solution:
    Wrote a subroutine which would determine if the reads are defined in
    the structure before trying to print them out.
Platforms tested:
    Linux
2002-06-03 15:39:51 -05:00
Bill Wendling
88f9ee489a [svn-r5512] Purpose:
Update
Description:
    Added the "perform/gen_report.pl" file.
2002-06-03 14:57:43 -05:00
Bill Wendling
10b5e1dde4 [svn-r5511] Purpose:
Add Report Generator
Description:
    This is a generator for ASCII and Excel(tm)(c) reports generated by
    the pio_perf benchmark we run. There are instructions at the top of
    the file on how to run the program and the input format it expects,
    etc.
Platforms tested:
    Linux
2002-06-03 14:57:04 -05:00
Quincey Koziol
d74e0290ba [svn-r5510] Purpose:
Code cleanup/bug fix

Description:
    The "metadata accumulator" cache in the library (which is designed to catch
    small metadata writes/reads and bundle them together into larger I/O
    buffers) was incorrectly detecting the important case of metadata pieces
    being written sequentially to the file, adjoining but not overlapping.

    Additionally, the metadata accumulator was not being used to cache data
    read in from disk, only caching writes.

Solution:
    Fix accumulator to correctly cache adjoining metadata writes and also to
    cache metadata read from disk.

    Between these two fixes, the number of I/O requests which resulted in actual
    reads/writes to the filesystem dropped from 393 requests to 82 for the
    particular test I was using. :-)

Platforms tested:
    Solaris 2.7 (arabica) w/FORTRAN & FreeBSD 4.5 (sleipnir) w/C++
2002-06-03 14:11:43 -05:00
Elena Pourmal
373d8b0edb [svn-r5508]
Purpose:
    Maintenance
Description:
    User reported a spelling error (bug 686).
Solution:
    Fixed spelling
Platforms tested:
    N/A
2002-06-03 10:53:00 -05:00
HDF Admin
ce3122b69a [svn-r5506] Snapshot version 1.5 release 29 2002-06-01 23:11:23 -05:00
Albert Cheng
3ccff1357f [svn-r5503] Purpose:
Features
Description:
    Added a few macros to print rank and size of MPI_COMM_WORLD in
    a unifed style.
Platforms tested:
    modi4, eirene, burrwhite
2002-06-01 18:01:48 -05:00
Quincey Koziol
44a72a6777 [svn-r5502] Purpose:
Test Bug Fix

Description:
    Under certain [obscure] circumstances, an object header would get paged out
    of the metadata cache, and when it was accessed again and brought back into
    the cache, and immediately had additional metadata added to it (an
    attribute, usually, or perhaps adding an object to a group), and needed to
    be extended with a continuation message, but there was no room in any
    existing object header chunks for the continuation message and an existing
    object header message needed to be moved to the new object header chunk (I
    told you it was obscure :-), the object header message moved to the new
    chunk (not the new metadata being added) would get corrupted. *whew* :-)

Solution:
    Actually copy the "raw" object header message information of the object
    header message being moved to the new chunk, instead of relying on the
    "native" object header message information being re-encoded when the object
    header is flushed.  This is because when an object header is paged out of
    the metadata cache and subsequently brought back in, the "native"
    information pointer in memory is reset to NULL and only the "raw"
    information exists.

    [Actually, this additional testing doesn't trigger the bug, which needs
    _lots_ of objects to be created and accessed, but it does execise the
    object header continuation code more than other tests in the library.]

Platforms tested:
    Solaris 2.7 (arabica) & FreeBSD 4.5 (sleipnir)
2002-05-31 22:11:34 -05:00
Quincey Koziol
8249ec87a2 [svn-r5501] Purpose:
Code Bug Fix

Description:
    Under certain [obscure] circumstances, an object header would get paged out
    of the metadata cache, and when it was accessed again and brought back into
    the cache, and immediately had additional metadata added to it (an
    attribute, usually, or perhaps adding an object to a group), and needed to
    be extended with a continuation message, but there was no room in any
    existing object header chunks for the continuation message and an existing
    object header message needed to be moved to the new object header chunk (I
    told you it was obscure :-), the object header message moved to the new
    chunk (not the new metadata being added) would get corrupted. *whew* :-)

Solution:
    Actually copy the "raw" object header message information of the object
    header message being moved to the new chunk, instead of relying on the
    "native" object header message information being re-encoded when the object
    header is flushed.  This is because when an object header is paged out of
    the metadata cache and subsequently brought back in, the "native"
    information pointer in memory is reset to NULL and only the "raw"
    information exists.

Platforms tested:
    Solaris 2.7 (arabica) & FreeBSD 4.5 (sleipnir)
2002-05-31 22:10:40 -05:00
Quincey Koziol
3d8696ae55 [svn-r5500] Purpose:
Document Bug Fix

Description:
    Under certain [obscure] circumstances, an object header would get paged out
    of the metadata cache, and when it was accessed again and brought back into
    the cache, and immediately had additional metadata added to it (an
    attribute, usually, or perhaps adding an object to a group), and needed to
    be extended with a continuation message, but there was no room in any
    existing object header chunks for the continuation message and an existing
    object header message needed to be moved to the new object header chunk (I
    told you it was obscure :-), the object header message moved to the new
    chunk (not the new metadata being added) would get corrupted. *whew* :-)

Solution:
    Actually copy the "raw" object header message information of the object
    header message being moved to the new chunk, instead of relying on the
    "native" object header message information being re-encoded when the object
    header is flushed.  This is because when an object header is paged out of
    the metadata cache and subsequently brought back in, the "native"
    information pointer in memory is reset to NULL and only the "raw"
    information exists.

Platforms tested:
    Solaris 2.7 (arabica) & FreeBSD 4.5 (sleipnir)
2002-05-31 22:09:59 -05:00
Bill Wendling
dfe2b45ee1 [svn-r5495] Purpose:
Bug Fix
Description:
    C++ uses the "off_t" type for external files as well. I'm assuming
    that there's going to be a problem with 4 byte off_ts and 8 byte
    off_ts in the C++ code as well. I compiled everything on Linux and it
    worked, but I don't think we have a check for this bug in the library
    yet...
Platforms tested:
    Linux
2002-05-31 17:25:37 -05:00
Elena Pourmal
ae818ca9df [svn-r5492]
Purpose:
    Code clean up.
Description:
    Many F90 compilers were not happy about character*(*) declarations.
Solution:
    Used F90 character(len=*) declarations.
Platforms tested:
    Solaris 2.7 and Linux 2.4
2002-05-31 15:11:54 -05:00
Bill Wendling
4a3fa29c25 [svn-r5491] Purpose:
Feature Enhancement
Description:
    We can now set the MPI_Info object to more than one key/value
    pairing. By setting the HDF5_MPI_INFO environment variable to a
    semicolon separated list of "key=value" pairs, we can set the
    MPI_Info variable to them.
Platforms tested:
    Linux
2002-05-31 13:43:22 -05:00
Elena Pourmal
f4d1614943 [svn-r5490] Purpose:
Code cleanup
Description:
    While working on the "External test" failure I restructured and
    cleaned up some C stub code.
Platforms tested:
    dangermouse (Linux 2.4)
2002-05-31 09:36:35 -05:00
Bill Wendling
96f0b001a0 [svn-r5488] Purpose:
Bug Fix
Description:
    On Linux 2.4 kernel, we need to check for Linux LFS support. There
    was a failure in the Fortran code when we tried to pass a 4 byte off_t
    variable to a function which expected an 8 byte off_t. This is due to
    there being no check for the LFS support in the Fortran code.
Solution:
    Added the check for Linux LFS support.
Platforms tested:
    Elena will test on Linux platform...
2002-05-30 13:15:44 -05:00
Quincey Koziol
685821526f [svn-r5487] Purpose:
Bug fix

Description:
    H5Ewalk_cb was being called from a C++ API, when it really is an
    internal routine to the H5E interface.

Solution:
    Removed C++ API wrapper for it.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-05-30 07:42:55 -05:00
Albert Cheng
be18b5da13 [svn-r5486] Purpose:
Code cleanup and new feature.
Description:
    Cleaned out some old debug print statments.
    Added option -B for interleaved I/O block size.
    (Just parsing and sanity check is done.  Real I/O implementation
    is not done yet.)
Platforms tested:
    eirene(pp)
2002-05-30 03:46:59 -05:00
Bill Wendling
9fcb8dd010 [svn-r5485] Purpose:
Removal of bad code
Description:
    Albert came up with a better way of determining which performance
    tests to run. I removed the broken way I did them...
Platforms tested:
    Linux-pp
2002-05-29 18:31:12 -05:00
Raymond Lu
1bf7cb7af1 [svn-r5484]
Purpose:
    Bug Fixing
Description:
    In H5FD_family_write and H5FD_family_read, size_t is checked against
    hsize_t for overflow, which fails on IA32 architecture machine supporting
    large files.
Solution:
    Use temporary variable which won't pass the limit of size_t.
Platforms tested:
    Linux 2.4(platinum) and IRIX64 6.5(modi4)
2002-05-29 16:42:00 -05:00
Albert Cheng
02350ea835 [svn-r5483] Description:
Show IO API types selected. (Changed the default setting algorithm
    slightly.)
Platforms tested:
    eirene(pp)
2002-05-29 15:48:12 -05:00
Albert Cheng
770c707da1 [svn-r5481] Description:
Renamed pio_info_g as h5_io_info_g to better reflect its
    general purpose.
Platforms tested:
    eirene(pp)
2002-05-29 13:40:29 -05:00
Albert Cheng
f1ce8aa946 [svn-r5477] Purpose:
updated the Dependencies file
Platforms tested:
    no test.
2002-05-29 12:52:18 -05:00
Albert Cheng
ca46f7a6d5 [svn-r5475] Purpose:
Sync with changes Kent made to v1.4.
    still need to sync changes here back to v.14
Platforms tested:
    eirene(pp)
2002-05-29 12:14:39 -05:00
Albert Cheng
1ebc181088 [svn-r5472] Purpose:
bug fix
Description:
    pio_info_g has been moved to the test/libh5test.a but the
    pio_* source files still have the old definition and declaration.
    Some compilers hated the duplcation.
Solution:
    Replaced the duplication with #include h5test.h and added test/ to
    the include search path too.
Platforms tested:
    eirene, modi4.
2002-05-29 11:18:33 -05:00
Quincey Koziol
e69e970a1c [svn-r5471] Purpose:
Code cleanup

Description:
    Broke the FUNC_ENTER macro into several macros, with more specialized
    uses (which followup mail will describe).  This was designed to move
    most/all of the checks which could be done at compile time to that point,
    instead of needlessly performing them (over & over :-) at run-time.
    This reduces the library's size (and thus staticly linked binaries) and
    has a minor speedup effect also.

Platforms tested:
    IRIX64 6.5 (modi4) with parallel & FORTRAN enabled, and additional testing
    on FreeBSD and Solaris immediately after the checkin.
2002-05-29 10:07:55 -05:00
Bill Wendling
0ba943194e [svn-r5470] Purpose:
Update
Description:
    Only print out the parameters for a run if we're in debug mode one
    and the 0'th process or if we're in debug mode > 0.
Platforms tested:
    Linux
2002-05-28 17:00:26 -05:00
Bill Wendling
607fb9618b [svn-r5469] Purpose:
Feature Addition
Description:
    Added feature which prints out the parameters and the MPI_Info object
    for a run for each process.

    Added some functions for the GPFS system. They are ifdef'ed out right
    now (well, they need to ahve the non-existant H5_HAVE_GPFS macro set)
    and aren't in use just yet. But the stub functions are there.
Platforms tested:
    Linux
2002-05-28 16:54:58 -05:00
Quincey Koziol
b13ea3cf07 [svn-r5468] Purpose:
Code cleanup.

Description:
    Included H5Eprivate.h for a couple of tests which needed it...

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-28 13:18:01 -05:00
Quincey Koziol
ca912c389e [svn-r5467] Purpose:
Code cleanup.

Description:
    Took Robb's recent ideas for improving the FUNC_ENTER/FUNC_LEAVE macros
    equivalents in the SAF library and adapted them to our library.  I added
    an additional macro which is equivalent to FUNC_ENTER:
        FUNC_ENTER_NOINIT - Has the API tracing code, etc. from FUNC_ENTER but
            none of the library or interface initialization code.  This is to
            be used _only_ for static functions and those which explicitly
            cannot have the library or interface initialization code enabled
            (like the API termination routines, etc.).

    This allowed many more of the functions in the library [but not all yet :-(]
    to be wrapped with FUNC_ENTER[_NOINIT]/FUNC_LEAVE pairs.

    It also reduced the size of the library and executables (by cutting out a
    bunch of code which was never executed), I'll e-mail the exact results when
    I've finished editing it.

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-28 13:17:12 -05:00
Quincey Koziol
893cf5899c [svn-r5466] Purpose:
Code cleanup.

Description:
    Updated perl scripts to be aware of new "FUNC_ENTER_NOINIT" macro.

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-28 13:02:38 -05:00
HDF Admin
5daeaa62da [svn-r5465] Snapshot version 1.5 release 28 2002-05-28 09:08:35 -05:00
Albert Cheng
acac31a7f4 [svn-r5463] Description:
Folded the changes made in v1.4 into v1.5.
    print library version information in help page too.
    Specify the nofill feature supported in v1.5 only.
    Print the values of the KB, MB and GB in case a user wants to see them.
    Setup a macro, H5_HAVE_NOFILL, to indicate if Dataset no fill feature
    is supported.  If not, --no-fill is an invalid option.
Platforms tested:
    modi4
2002-05-27 23:04:18 -05:00
MuQun Yang
bb5b53d9ba [svn-r5457]
Purpose:
    update c++ test project to avoid linking errors
Description:
    since gethostname etc. window-version functions may not be linked without modifying project setting in link part; we have to modify project settings for every project affected. dsets_cpp and dsets_cppdll were ignored last time. Now update it.
Solution:
Platforms tested:
windows 2000
2002-05-23 14:27:48 -05:00
Bill Wendling
ef5d0e1675 [svn-r5456] Purpose:
Update
Description:
    Updating the source for the PIO performance tests with the current
    code that's in the V1.4 branch. It includes the newest command-line
    parameters.
Platforms tested:
    Linux-pp
2002-05-22 18:22:46 -05:00
MuQun Yang
6f64a5d838 [svn-r5453]
Purpose:
    update, remove hdf4-related stuff.
Description:
   hdf4 related tools have been moved out of HDF5 CVS tree, The install doc should reflect this.
Solution:
Platforms tested:
2002-05-22 16:48:50 -05:00
Pedro Vicente Nunes
b4ad5aae56 [svn-r5452]
Purpose:
eliminating the compiler warnings in Windows


Solution:
I am eliminating the compiler warnings in Windows.
the last 2 were:

1)
if((oid_list = H5MM_malloc(oid_count*sizeof(hid_t)))==NULL)
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL,
"memory allocation failed");

D:\disk_w\hdf5\src\H5F.c(2590) : warning C4047: '=' : 'int ' differs in levels
of indirection from 'void *'

on the HGOTO_ERROR call , I replaced the NULL with FAIL

2)
*((float*)d) = *((double*)s);
D:\disk_w\hdf5\src\H5Tconv.c(6426) : warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data

I added the type cast
*((float*)d) = (float) *((double*)s);

we have now 0 errors 0 warnings on Windows !








Platforms tested:
    w2000, linux
2002-05-22 15:01:29 -05:00
Quincey Koziol
d11c3a233f [svn-r5447] Purpose:
Code cleanup

Description:
    Guard against getting into metadata broadcast in write routine and clean
    up some error handling.

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-21 15:36:51 -05:00
Albert Cheng
c365ae1373 [svn-r5446] Purpose:
Feature
Description:
  moved the routines of setting up and dumping MPI-info object to
  test library so that it is avaiable for all tests too.
Platforms tested:
  modi4(pp), eirene (serial)
2002-05-21 13:49:44 -05:00
Quincey Koziol
03ab48c9c3 [svn-r5444] Purpose:
Code cleanup

Description:
    Clean up warnings on IRIX64 6.5 (modi4)

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-20 13:43:31 -05:00
Quincey Koziol
75494847bb [svn-r5443] Purpose:
Document VFL "flush" changes.
2002-05-20 12:13:33 -05:00
Quincey Koziol
8a3bbed8bf [svn-r5442] Purpose:
Document VFL "flush" changes.
2002-05-20 12:08:13 -05:00