Commit Graph
2817 Commits
Author SHA1 Message Date
Quincey Koziol ee3fdc2dbc [svn-r12084] Purpose:
Code checkpoint

Description:
    The fractal heap code is reasonably stable and is passing all its
current tests, so checkpoint everything with CVS.

    Also, add "statistics" module for v2 B-trees code, which is only a
stub right now.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX (amazon)
    Linux 2.4 (chicago)
2006-03-13 14:47:16 -05:00
HDF Admin c619cf0f51 [svn-r12083] Snapshot version 1.7 release 58 2006-03-13 13:38:16 -05:00
Quincey Koziol 81e95888f1 [svn-r12082] Purpose:
Bug fix

Description:
    Clean up a few code mis-matches that crept in during the last checkin.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5commitest
2006-03-11 21:02:50 -05:00
Quincey Koziol 2501750f5e [svn-r12081] Purpose:
New feature

Description:
    Update "power of two" macro and add "general" log2() routine.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2006-03-11 17:04:30 -05:00
Quincey Koziol 6af9839f16 [svn-r12080] Purpose:
New feature

Description:
    Add "variable-length" 32-bit encode/decode macros, matching the other
64-bit ones, for later use in the fractal heap code.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor for full h5committest
2006-03-11 17:03:27 -05:00
Quincey Koziol 810cda019d [svn-r12079] Purpose:
Update code

Description:
    Add a new error value, for later use.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor for full committest
2006-03-11 17:01:42 -05:00
Quincey Koziol 1f41dfca05 [svn-r12078] Purpose:
New features

Description:
    Add "find node greater than or equal to key" and "remove first" operations
to skip lists.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2006-03-11 16:59:01 -05:00
Quincey Koziol e054e736aa [svn-r12077] Purpose:
Code cleanup

Description:
    Fix/update formatting, clean up typos, etc.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2006-03-11 16:57:18 -05:00
Elena Pourmal 3f791d1b06 [svn-r12054] Purpose: VMS port
Description: Made small changes to sec2 driver to reflect that VMS systems ino_t is 1dim array
             of size 3; all changes are marked with H5_VMS variable.
             Defined HDremove macro for VMS to remove multiple versions of the files.

Solution:

Platforms tested: heping, VMS server

Misc. update:
2006-03-09 16:30:19 -05:00
Fang Guo de56ebab0e [svn-r12035] Purpose:
Description:
Two functions (HDsrand and HDrand) are not declared. They caused
compiling errors on Windows.  Declare these two functions:
 H5_DLL int HDrand();
 H5_DLL void HDsrand(unsigned int seed);

Solution:

Platforms tested:
Windows XP and heping
Misc. update:
2006-03-07 15:40:47 -05:00
Leon Arber 9fc71ccba4 [svn-r12021] Purpose:
Bug fix.

Description:
Fix typo.  srand/srandom don't return anything, so don't attempt to return
their value.

Solution:

Platforms tested:
heping

Misc. update:
2006-03-07 01:13:23 -05:00
Leon Arber 840bcbe9ef [svn-r12019] Purpose:
Bug fix/Feature

Description:
Modify the library to use rand_r, when available, instead of srand.  If
rand_r is not available, it will try to use srandom/random, and then finally
fall back to srand/rand.

Solution:
A couple places in the library use the srand() function to seed the random
number generator.  This can cause problems on certain platforms and could theoretically
cause problems for users who expect a certain sequence of random numbers following their
own call to srand().

Most platforms have an implementation of rand_r, which is identical to rand, except that
it allows for explicit storage of the seed value.  The configure script will now check
for the existence of rand_r to facilitate its use in the library.

Two new functions are added, to replace the macros HDsrand/HDrand.  These functions are HDrand and
HDsrand.  HDrand will call rand_r, if available, or random(), if available, and fall back to rand() if neither
of those is available.  HDsrand will store the seed value locally, if rand_r is available.  Otherwise, it will call
srandom if available, and fall back to srand otherwise.


Platforms tested:
heping, mir.  Really need to test on Red Storm, since that platform motivated this fix, but the machine
is currently not available.

Misc. update:
2006-03-06 23:23:24 -05:00
Quincey Koziol 5f59c68e7f [svn-r12017] Purpose:
Bug fix

Description:
    Correct problem with new log2(n) routine on 64-bit machines.

Solution:
    Put some casts in to make certain that the values are computed as 32-bit
integers.

Platforms tested:
    Linux 2.4 (mir) - 64-bit
2006-03-06 22:26:31 -05:00
Quincey Koziol 13705e7583 [svn-r12007] Purpose:
Bug fix

Description:
    Fix typo in H5HF_dblock_debug() prototype

Platforms tested:
    FreeBSD 4.11 (sleipnir)
2006-03-05 10:39:25 -05:00
Quincey Koziol dfbf976509 [svn-r12004] Purpose:
New feature & code cleanup

Description:
    Update fractal heap to be able to insert objects into a direct block
hanging off the header.

    Extract "octal dump" code into separate routine so that both the local
heaps & fractal heaps can use it.

    Other code cleanups & support to get this far.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
2006-03-04 17:56:44 -05:00
Quincey Koziol 0e708b387c [svn-r12003] Purpose:
Code cleanup

Description:
    Fix some warnings & formatting issues

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
2006-03-04 17:38:37 -05:00
James Laird 3f2f490a0f [svn-r11993] Purpose:
Added HL examples

Description:
Examples existed for the HL lite, image, and table interfaces, but
were never included in the distro... until now!

Solution:
Added source files to CVS, updated Makefile and MANIFEST.

Platforms tested:
mir, heping, shanti
2006-03-01 10:04:59 -05:00
Albert Cheng 0004361cc7 [svn-r11991] Purpose:
Porting.

Description:
Red Storm's lustre used srand and rand to initialize their user mode
of lustre.  HDF5 also uses srand and that messes up Lustre.

Solution:
Use -DRED_STORM to block out the HDF5 code that calls srand.
This is a temporary fix since Lustre has fixed its code from
calling srand and rand but the fix is not deployed at Red_storm
yet.

Platforms tested:
Tested at Red-Storm.
2006-02-28 19:27:20 -05:00
Quincey Koziol 658bf4a8fb [svn-r11968] Purpose:
Incrementtal checkin

Description:
    Revise & update v2 B-tree code to separate the internal package-specific
routines from the library-callable "private" routines.

    Similar updates for the fractal heap code.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX (amazon)
2006-02-27 09:52:21 -05:00
Quincey Koziol 3713db1174 [svn-r11967] Purpose:
New feature

Description:
    Check in initial "fractal heap" code, for supporting the group redesign.

    Also, remove some remnants of the segmented heap/block tracker/B+tree code
which I didn't find during the last pass.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX (amazon)
    Linux 2.4
2006-02-26 22:46:46 -05:00
Quincey Koziol 3e8948df52 [svn-r11966] Purpose:
Code cleanup

Description:
    Style fixes for consistency & other minor cleanups

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX (amazon)
    Linux 2.4
2006-02-26 22:30:22 -05:00
Quincey Koziol b2d288804d [svn-r11965] Purpose:
Maintenance

Description:
    Remove half-built (half-baked? :-) implementation of B+tree, block tracker
and segmented heaps.   (In preparation for starting the new heap coding)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4 (heping)
2006-02-24 08:45:02 -05:00
MuQun Yang 8962992298 [svn-r11964] Purpose:
bug fix

Description:



ret_value is not set to SUCCEED in H5D_mpio_select_write
That causes the 64-bit intel compiler unhappy.
It will give a non-zero number and cause the testing  fake failure.
Another one is picked up by cmpi again. For one optimization case,
another variable is not initialized properly and compiler set an unhappy number,
cause the test failed.
Solution:
Properly initialize those variables.

Platforms tested:
teragrid:parallel
mir:parallel
heping: parallel and sequential
tungsten:parallel

Misc. update:
h5committest doesn't finish due to no space left on device.
parallel tests still failed at tungsten with cmpi. It looks like it was a bug from cmpi.
2006-02-23 16:47:51 -05:00
MuQun Yang 19476ba364 [svn-r11963] Purpose:
bug fix for daily test

Description:
if (fm->select_chunk) is not NULL at sequential mode and not set by the library, it shouldn't be free.
Otherwise, it will cause failures in the daily test.

Solution:
Explicitly set (fm->select_chunk) to NULL for non-parallel case.


Platforms tested:
copper with parallel
heping with both sequential and parallel
shanti with sequential

Misc. update:
Hopefully only mir failed at daily test.
2006-02-22 14:50:27 -05:00
MuQun Yang c0fbd63983 [svn-r11961] Purpose:
Bug fix in collective IO code

Description:
When select none occurs in one process, fm->select_chunk hasn't been allocated the memory(not allocated until create_file_hyper); however, this needs to be checked; it was caught with cmpi at NCSA linux cluster.



Solution:
Relocate the place to allocate the memory space for fm->select_chunk.

Platforms tested:
cmpi at tungsten
mpich at heping
kind of minor and let daily test catch other errors.

Misc. update:
This won't fix the failure at mir.
2006-02-21 17:10:23 -05:00
MuQun Yang a6038b946e [svn-r11960] Purpose:
code clean up

Description:
Clean up some warnings in collective chunk IO code

Solution:

Platforms tested:
heping

Misc. update:
2006-02-21 09:14:22 -05:00
MuQun Yang 593f1a9a51 [svn-r11959] Purpose:
bug fix

Description:
During the process of the combination of collective chunk IO code and the original IO code,
The return value of a function call hasn't been initialized. On 32-bit mode at modi4, that value isn't set to 0 by default. So a fake error value returns.

Solution:
Re-arrange the code so that the return value will be set properly.


Platforms tested:
parallel:
modi4 - 32bit
heping
seq:
heping
Misc. update:
2006-02-20 15:47:25 -05:00
MuQun Yang ed4376c5ad [svn-r11955]
Purpose:
Erase one printf line accidently inserted in the code.

Description:

Solution:

Platforms tested:
No need to test.

Misc. update:
2006-02-17 17:14:41 -05:00
MuQun Yang 4336ee7bf3 [svn-r11952] Purpose:
Enhance the collective chunk IO support

Description:

Solution:

Platforms tested:

Misc. update:
2006-02-16 12:20:37 -05:00
MuQun Yang 0fe91bb1a2 [svn-r11950] Purpose:
Enhanced collective chunk IO supports

Description:
1. When using collective IO with chunking storage without any tuning, performance may become worse under some circumstances.
2. Current HDF5 handles raw-data IO per chunk. So for many small chunks, many small IOs will be passed into MPI-IO. That may cause bad performance.
3. For one IO per chunk case, sometimes performance with collective is worse than performance with independent. An obvious case is when only one process is doing IO and all other process are not doing IO, the collective IO will only add overheads for communication. We want to avoid this case. Some management inside our library needs to be done.


Solution:
- Added managements of collective IO supports for chunking storage
         inside parallel HDF5
         1) Implemented One IO with collective mode for all chunks in the
            application by building one MPI derived datatype accross all
            chunks.
         2) Implemented the decision-making support to do collective IO inside
            MPI-IO per chunk.
         3) Added the decision-making support to do one IO accross all chunks
            or to do multiple IOs with each IO per chunk.
         4) Added the support to handle the case some processes won't do any IOs in
            collectively.
         5) Some MPI-IO package(mpich 1.2.6 or lower, e.g.) cannot handle
            collective IO correctly for the case when some processes have no
            contributions to IOs, a special macro is added to change
            collective IO mode to independent IO mode inside HDF5 library.



Platforms tested:

Parallel:

IBM AIX 5.2(copper)
Linux (heping) mpich-1.2.6
SDSC Teragrid mpich-1.2.5
Linux(Tungsten) mpich-1.2.6
Altix(NCSA cobalt)

Seq:
Linux(heping)

Misc. update:
2006-02-16 12:08:34 -05:00
Quincey Koziol d579d6aa5e [svn-r11899] Purpose:
Bug fix & new feature

Description:
    Support variable-length datatypes in compact data storage and chunked
data storage, along with attributes.

    Bug fix on the H5T_vlen_set_loc to allow for changing the file on a
variable-length datatype on disk.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
    Can't h5committest right now, due to missing cache files.
2006-01-28 13:31:22 -05:00
John Mainzer dfb1f40cbb [svn-r11897] Purpose:
1) Add parallel test for metadata cache

2) Split serial test for metadata cache into two parts

3) Fix bug in which cache was flushed needlessly when the
   cache wasn't full.

4) Performance improvements

5) Update API for parallel cache coherency bug fix.

Description:

See above.

Solution:

See above.

Platforms tested:

h5committest


Misc. update:
2006-01-27 17:58:48 -05:00
Quincey Koziol 56e3f667d6 [svn-r11886] Purpose:
Code cleanup

Description:
    Check in some of the code cleanups from working on the external link
support.  (This doesn't include any of the external link features)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX.4 (amazon)
    Linux 2.4
2006-01-23 15:46:34 -05:00
HDF Admin b09695738a [svn-r11884] Snapshot version 1.7 release 57 2006-01-22 04:54:38 -05:00
HDF Admin f78ed9a18d [svn-r11880] Snapshot version 1.7 release 56 2006-01-15 04:44:38 -05:00
James Laird 63e69411fd [svn-r11864] Purpose:
Cleaned up reconfigure output

Description:
Added two lines to separate output from trace script from autotools
output in reconfigure.

Solution:
Running reconfigure updated src/Makefile.in as a side effect, since
I changed config/lt_vers.am in my last checkin but forgot to
run reconfigure then.

Platforms tested:
mir (cosmetic change to reconfigure script only)
2006-01-05 13:25:01 -05:00
James Laird b98e383cc2 [svn-r11854] Purpose:
Bug fix

Description:
Forgot to 'cvs add' H5Pacpl.c!
2006-01-02 17:07:13 -05:00
Quincey Koziol 1bba04f3e5 [svn-r11852] Purpose:
Code cleanup/update

Description:
    Update compiler flags for gcc 4.1.x & start cleaning up some of the C++
compatibility

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/gcc 4.1 and/or g++
2006-01-02 14:59:11 -05:00
James Laird 216a6e9904 [svn-r11850] Purpose:
Feature

Description:
Added character encoding and attribute creation property lists.

Solution:
Attributes' character encoding is set via the ACPL.
The default is ASCII, with UTF-8 being the other option currently.

Platforms tested:
heping, mir, sleipnir, copper
2006-01-02 14:20:19 -05:00
HDF Admin 63e522aa13 [svn-r11848] Snapshot version 1.7 release 55 2006-01-01 04:12:38 -05:00
Quincey Koziol 83929ea716 [svn-r11838] Purpose:
Bug fix

Description:
    Retrieving an object's name could fail (in various ways) under certain
circumstances (mostly having to do with mounted files).

Solution:
    Re-write & simplify "get object name" code to fix error in a better way
than adding yet another hack to the previous pile of hacks... :-)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-12-26 00:28:18 -05:00
HDF Admin db551ec15e [svn-r11836] Snapshot version 1.7 release 54 2005-12-25 04:10:45 -05:00
HDF Admin ba606b4fea [svn-r11795] Snapshot version 1.7 release 54 2005-12-14 10:12:03 -05:00
Albert Cheng 86ee1cc2ff [svn-r11785] Purpose:
Patch for red-storm.

Description:
A temporary patch for redstorm, must open a file in the same parallel
data filesystem before H5_init_library.  Otherwise, it hangs with error:
(client.c:568:ptlrpc_check_status()) @@@ type == PTL_RPC_MSG_ERR, err == -114 req@0x57a9660 x1/t0 o38->mds_l2@MDS_PEER_UUID:12 lens 240/272 ref 1 fl Rpc:R/100000/0 rc 0/-114

Platforms tested:
Red-storm.
2005-12-10 23:35:41 -05:00
Quincey Koziol 88c15b1617 [svn-r11771] Purpose:
Code cleanup

Description:
    Fix a bunch of warnings flagged by Windows compilers.


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-12-08 13:34:51 -05:00
Albert Cheng e969226fc7 [svn-r11761] Purpose:
Unstable format version marker.

Description:
This marks the Check in baseline for compact group revisions,
which radically revises the source code for managing groups and object headers.
Earlier versions (1.7.52 or earlier) have the original format.  This version
and later have the unstable format until further notice.

Platforms tested:
h5committested.
2005-12-05 13:41:27 -05:00
Quincey Koziol 8d344f96bc [svn-r11758] Purpose:
New feature

Description:
    Add in a combination of Peter's & my code to support copying
variable-length data from one file to another, although currently only
supported with contiguous data storage.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-12-03 21:27:37 -05:00
Raymond Lu 5125354f7e [svn-r11742] Purpose: Minor correction.
Description: H5Eset_auto_stack() and H5Eset_auto() used FUNC_ENTER_API.  It would clear the error
stack from the previous API call.  It's better to use FUNC_ENTER_API_NOCLEAR to avoid clearing
the stack.


Platforms tested: fuss - simple change.
2005-11-18 16:18:13 -05:00
James Laird 0f870b0f47 [svn-r11741] Purpose:
Bug fix

Description:
Fortran type generation was broken in two ways.  Fixed both.

Solution:
Firstly, there were a couple of path problems.  Fixed a typo and
specified the full path of a file.
Secondly, the dependencies weren't right when building with HDF5-specific
commands (make lib, make check-s, etc.).  Tweaked dependencies
to fix the problem.

Platforms tested:
mir, modi4, sleipnir
2005-11-18 15:31:53 -05:00
MuQun Yang c7e562c755 [svn-r11739] Purpose:
slight code change for efficiency of iteration of chunk address
Description:
Quincey picked this up because of my inexperience of C. A pair of redundant malloc and free calls will be removed.

Solution:

Platforms tested:
heping(Linux 2.4)
too little to be tested.

Misc. update:
2005-11-18 11:01:53 -05:00