Commit Graph

4228 Commits

Author SHA1 Message Date
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
Bill Wendling
38b068b2a4 [svn-r5441] Purpose:
Update
Description:
    Changed the AC_FD_CC macro to AS_MESSAGE_LOG_FD to keep up with the
    current autoconf standard.
Platforms tested:
    Linux
2002-05-20 11:32:40 -05:00
Quincey Koziol
86170c3d00 [svn-r5440] Purpose:
New feature

Description:
    Add 'closing' parameter to H5FDflush and VFL "flush" functions, per
        http://hdf.ncsa.uiuc.edu/RFC/VFLFlush/VFLFlush.html

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-20 11:01:57 -05:00
Quincey Koziol
c581a07235 [svn-r5439] Purpose:
Code cleanup

Description:
    Change variable casts to use H5_ASSIGN_OVERFLOW, or check for overflow
    before the cast with H5_CHECK_OVERFLOW.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-05-20 08:39:57 -05:00
Pedro Vicente Nunes
e12beea624 [svn-r5437]
Purpose:
   eliminate warnings on win32
Description:
   some conversion warnings were being issued
Solution:
    added some type casts
Platforms tested:
    w2000, linux

changed the HDmemset to include a cast in win32; this was just to eliminate a compiler
warning. probably the macro can also be used in unix

#ifdef WIN32
#define HDmemset(X,C,Z)		memset((void*)(X),C,Z)
#else /* WIN32 */
#define HDmemset(X,C,Z)		memset(X,C,Z)
#endif /* WIN32 */


the list of previous warnings was
D:\disk_w\hdf5\src\H5FDstdio.c(659) : warning C4244: 'initializing' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Fcontig.c(435) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Fcontig.c(497) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Fcontig.c(915) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Fcontig.c(982) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data

D:\disk_w\hdf5\src\H5Shyper.c(912) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(995) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(1936) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(2019) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(2862) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(2864) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(2948) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(3690) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(3692) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(3776) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(5167) : warning C4244: '+=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data

D:\disk_w\hdf5\src\H5Tvlen.c(371) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
2002-05-18 02:24:49 -05:00
Pedro Vicente Nunes
79dcc35309 [svn-r5436]
Purpose:
    code clean up
Description:
    removed some debugging comments regading the code warrior port
Platforms tested:
    w2000
2002-05-17 22:41:39 -05:00
Quincey Koziol
064d89ddae [svn-r5435] Purpose:
Document Code improvement below:

Description:
    Propagated the "fill time" property into the parallel chunk allocation
    routine, allowing it to avoid writing fill values to each new chunk
    allocated.  This improves the performance of chunked datasets in parallel
    I/O to be on par with contiguous datasets again (on modi4).
2002-05-17 09:03:23 -05:00
Quincey Koziol
e1e68de8b5 [svn-r5434] Purpose:
Code improvement.

Description:
    Propagated the "fill time" property into the parallel chunk allocation
    routine, allowing it to avoid writing fill values to each new chunk
    allocated.  This improves the performance of chunked datasets in parallel
    I/O to be on par with contiguous datasets again (on modi4).

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-17 09:03:00 -05:00
Quincey Koziol
81137c69e0 [svn-r5433] Purpose:
Code cleanup

Description:
    Cleaned up the function header comment for H5Pset_fill_time.
2002-05-17 08:57:53 -05:00
Quincey Koziol
e02ae065f6 [svn-r5430] Purpose:
Document Bug fix/Code improvement below:

Description:
    Currently, the chunk data allocation routine invoked to allocate space for
    the entire dataset is inefficient.  It writes out each chunk in the dataset,
    whether it is already allocated or not.  Additionally, this happens not
    only when it is created, but also anytime it is opened for writing, or the
    dataset is extended.  Worse, there's too much parallel I/O syncronization,
    which slows things down even more.

Solution:
    Only attempt to write out chunks that don't already exist.  Additionally,
    share the I/O writing between all the nodes, instead of writing everything
    with process 0.  Then, only block with MPI_Barrier if chunks were actually
    created.
2002-05-17 07:54:42 -05:00
Quincey Koziol
a6b4cba798 [svn-r5429] Purpose:
Bug fix/Code improvement.

Description:
    Currently, the chunk data allocation routine invoked to allocate space for
    the entire dataset is inefficient.  It writes out each chunk in the dataset,
    whether it is already allocated or not.  Additionally, this happens not
    only when it is created, but also anytime it is opened for writing, or the
    dataset is extended.  Worse, there's too much parallel I/O syncronization,
    which slows things down even more.

Solution:
    Only attempt to write out chunks that don't already exist.  Additionally,
    share the I/O writing between all the nodes, instead of writing everything
    with process 0.  Then, only block with MPI_Barrier if chunks were actually
    created.

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-17 07:53:46 -05:00
Binh-Minh Ribler
567c042761 [svn-r5428]
Purpose:
    New Feature - per library change

Description:
    Added the new member function getMemberIndex to classes EnumType and
    CompType to match the new C API H5Tget_member_index.  Given the name
    of a member of an enumeration or compound datatype, this new function
    queries the index of the member.

Platforms:
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
2002-05-16 17:41:00 -05:00
Binh-Minh Ribler
97a2a55cf4 [svn-r5427] Purpose:
New Feature - per library change

Description:
    Added new member function DataSet::fillMemBuf for the new
    C API H5Dfill.  Quincey's description of H5Dfill is as followed:

    Added new H5Dfill() routine to fill the elements in a selection for a
    memory buffer with a fill value.  This is a user API wrapper around some
    internal routines which were needed for the fill-value modifications
    from Raymond as well as Pedro's code for reducing the size of a chunked
    dataset.

Platforms:
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
2002-05-16 09:03:53 -05:00
Albert Cheng
de3af15daf [svn-r5426] Purpose:
Folded the added feature of setting MPI Info object from v1.4 to this
    branch.
Platforms tested:
    modi4
2002-05-16 08:51:48 -05:00
Albert Cheng
19650b0460 [svn-r5422] Description:
Corrected typos in the FUNC_ENTER macros of H5FD_sec2_flush and
    H5FD_log_flush.
Platforms tested:
    modi4 (just tested it compiled fine.)
2002-05-14 18:04:29 -05:00
Quincey Koziol
2e2a1d8e31 [svn-r5419] Purpose:
Bug fix.

Description:
    Added barrier to flush routine to prevent race condition where file could
    be truncated.

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-14 15:28:37 -05:00
Quincey Koziol
390209e72e [svn-r5418] Purpose:
Code cleanup/Performance enhancement

Description:
    The code to extend the file size in H5FD_mpio_flush is getting run even when
    the file size doesn't change.  Also, it's sort of sidestepping MPI-I/O when
    extending the file, instead of using MPI-I/O features to set the file's size.

Solution:
    Only extend the file's size when the allocated size has increased.  Also
    use MPI_File_set_size() to change the file's size.

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-14 15:15:12 -05:00
Quincey Koziol
da155dfd4b [svn-r5415] Purpose:
Document Bug Fix
2002-05-14 13:06:18 -05:00
Quincey Koziol
309738c7b0 [svn-r5414] Purpose:
Bug Fix

Description:
    When H5Freopen is called, the file to reopen's 'intent' (read/write
    permissions, etc) is not being copied to the new file's 'intent'
    information.

Solution:
    Copy it. :-)

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-14 13:05:43 -05:00
Quincey Koziol
d7b3f5d35e [svn-r5412] Purpose:
Bug fix

Description:
    Calling MPI_Get_count needs to be done with the same MPI type as was used
    for the transfer and we are always using MPI_BYTE, even when a different
    MPI type was used for the transfer.

Solution:
    Only query MPI_Get_count with MPI_BYTE when we really used MPI_BYTE for the
    transfer.  Wait for later to query MPI_Get_count with other MPI types.

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-14 10:08:10 -05:00