Commit Graph

3340 Commits

Author SHA1 Message Date
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
James Laird
4f8ca8e026 [svn-r11738] Purpose:
Configure feature

Description:
Added 'make trace' target.

Solution:
Added tracing to 1.7.  This was done automatically in 1.6, but left out
of 1.7 until now (oops!).
Tracing in 1.7 only happens manually, when the user types 'make trace.'
Tracing automatically requires more framework than it's worth.
I also fixed a couple of tracing bugs and ran trace.

Platforms tested:
mir, sleipnir, modi4

Misc. update:
2005-11-18 10:55:22 -05:00
James Laird
75ea10e5f5 [svn-r11737] Purpose:
Bug fix

Description:
Before this checkin, 'gmake check-s' would fail if there was a file in
the current directory named 'check-s'.
This is fixed under gmake (not sure how to fix for other makes).

Solution:
check, progs, install, etc. are what gmake calls "phony" targets,
which means that no file should be created.  These targets can be
specified by a line of the form
.PHONY: check progs install ...
Automake adds this line for targets it knows about, but HDF5 has a
lot of custom rules.  This checkin adds a .PHONY line for those rules.
I believe that only gmake recognizes the .PHONY line (at least, pmake
doesn't seem to), but a partial solution is better than none.
This error should occur very rarely anyway (the user has to manually
create files with names like 'build-check-s' or '_test').

Platforms tested:
mir, sleipnir, modi4
2005-11-17 13:49:28 -05:00
Albert Cheng
7fbe30d5ab [svn-r11735] Purpose:
Cleanup.

Description:
Removed the home-made version of snprintf and vsnprintf since they
do not actually enforce the size parameter correctly and could corrupt
memory or as a security hole.
This block of code has been turned off since Aug 11, 2005 for all platforms
except Tflops.  No one has reported any problem since--sort of empirical
evidence that all platforms except Tflops support both functions.
Tflops has retired in September.  So, no need to keep this block of code.

Also, fixed the HDxxx macro to call the corresponding xxx function.

Platforms tested:
Tested in heping, both serial and parallel.
2005-11-16 13:09:38 -05:00
Quincey Koziol
671187fd2b [svn-r11733] Purpose:
Code cleanup

Description:
    Added some comments about the thread-specific memory for the error and
function stacks.

    Changed H5close() to not use the function stack (since it causes it to
be re-enabled after shutting it down)

    Changed thread-safe semaphore code to not use dynamicly allocated memory.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
    Too minor to require h5committest
2005-11-15 20:01:37 -05:00
Quincey Koziol
e70783203a [svn-r11732] Purpose:
More tests

Description:
    Add more tests for proper behavior of groups with different group
creation property settings.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
    Solaris 2.8
2005-11-15 19:52:42 -05:00
MuQun Yang
f76495cdf5 [svn-r11728] Purpose:
To support collective chunk IO, obtain the chunk addresses globally from one process.

Description:
Implement a call-back function to iterate B-tree to do the job.
Check in this code for major check-ins later.
Solution:

Platforms tested:
heping(Linux)
Should not be used by any library functions now, so won't affect library and tool tests.
No need to test on 3 platforms.


Misc. update:
2005-11-15 16:57:27 -05:00
James Laird
0efd9ceadf [svn-r11726] Purpose:
Bug fix

Description:
Fixed bug in hl/src Makefile that was deleting y.tab.c.
Running bin/reconfigure changed a few other files as well (somebody
probably updated Makefiles.am but forgot to bin/reconfigure).

Solution:
Automake in its wisdom adds the line "rm *.tab.c" to every distclean
in every directory.  I assume that it assumes that such files are
generated during the build.  Supplied an empty distclean-compile
target to remove this line from the Makefiles.in.

Platforms tested:
mir, sleipnir, shanti
2005-11-15 14:20:06 -05:00
Quincey Koziol
a1708eb023 [svn-r11712] Purpose:
New feature

Description:
    Check in baseline for compact group revisions, which radically revises the
source code for managing groups and object headers.

WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!
WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!

    This initiates the "unstable" phase of the 1.7.x branch, leading up
to the 1.8.0 release.  Please test this code, but do _NOT_ keep files created
with it - the format will change again before the release and you will not
be able to read your old files!!!

WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!
WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!


Solution:
    There's too many changes to really describe them all, but some of them
include:
    - Stop abusing the H5G_entry_t structure and split it into two separate
        structures for non-symbol table node use within the library: H5O_loc_t
        for object locations in a file and H5G_name_t to store the path to
        an opened object.  H5G_entry_t is now only used for storing symbol
        table entries on disk.

    - Retire H5G_namei() in favor of a more general mechanism for traversing
        group paths and issuing callbacks on objects located.  This gets us out
        of the business of hacking H5G_namei() for new features, generally.

    - Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t

    - Lots more...

Platforms tested:
    h5committested and maybe another dozen configurations.... :-)
2005-11-14 21:55:39 -05:00
Quincey Koziol
0891038562 [svn-r11686] Purpose:
New feature

Description:
    Add in baseline "object copy" code from Peter [in the form of a new API
routine: H5Gcopy()].  There's still some work to do (like handling variable-
length datatypes and possibly support for references) and it hasn't been tested
on mounted files yet, but the core functionality is there and working
correctly.

    I've also got a set of patches to update the 1.6 branch with tweaks to
keep the branches mostly in sync, but Elena will kill me if I import them
before the 1.6.5 release is out... :-)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committested
2005-11-06 22:13:53 -05:00
Quincey Koziol
96c039690f [svn-r11680] Purpose:
Code cleanup

Description:
    Clean up H5Dcreate a little, to prepare for coding standards discussion
today.

Platforms tested:
    Just eyeballed, too trivial to require testing.
2005-11-04 08:58:32 -05:00
James Laird
617522e467 [svn-r11646] Purpose:
Bug fix/feature

Description:
Added support for -shlib in h5fc and h5c++.
Made check-install use -shlib when only shared libraries have been installed.

Solution:
h5fc and h5c++ didn't recognize -shlib.  Stole code from h5cc to link against
shared libraries.
When static libraries are disabled, the examples Makefiles will automatically
use the -shlib option to link against shared libraries.  Thus,
--disable-static and make check-install should work together.

Platforms tested:
heping(disable-static, enable-static, fortran, c++), modi4 (disable-static, fortran, c++, parallel, enable-static)
2005-10-31 16:35:49 -05:00
James Laird
91cbcdf42f [svn-r11612] Purpose:
Bug fix

Description:
Failed parallel tests now cause make to exit with an error.

Solution:
Edited config/conclude.am to throw an error if parallel test programs fail.

Platforms tested:
heping, modi4
2005-10-27 17:30:46 -05:00
James Laird
69293e09df [svn-r11602] Purpose:
Bug fix

Description:
Removed detection of pdb from configure.in as a corollary to removal
of pdb2hdf5 tool.


Platforms tested:
mir, modi4
2005-10-24 14:31:06 -05:00
Quincey Koziol
d2f2b5090c [svn-r11598] Purpose:
Code cleanup

Description:
    Take out odd definition of HDalarm() and replace with standard macro
like the rest of the library.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-10-22 13:37:56 -05:00
Quincey Koziol
275d19661e [svn-r11593] Purpose:
Code cleanup

Description:
    Clean up & standardize a bit in preparation for coding standards
discussion.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-10-21 10:52:54 -05:00
James Laird
87a56d9da2 [svn-r11573] Purpose:
Bug fix

Description:
Changed configure.in to use an environment variable TR to set the path
to the tr utility.

Solution:
There are two kind of tr on Solaris with slightly different syntax.
HDF5's configure relies on the "standard" tr.  Traditionally, HDF5ers
have needed to make sure that the "right" tr was found before the
wrong one in their path; now they can use an environment variable.

Platforms tested:
mir, shanti, sol

Misc. update:
Forgot to update release notes.  Off to do that now.
2005-10-17 16:38:38 -05:00
James Laird
bcf3f797d4 [svn-r11566] Purpose:
Makefile bug fix

Description:
Previously, automake didn't output rules to build perform/mpi-perf or
the test/gen_* programs.
Now these can be built by typing 'make mpi-perf' (or 'make foo') or by
configuring with --enable-build-all.

Solution:
Automake doesn't like having rules for programs it doesn't build.  Tricked
it by having these programs built "sometimes"--whenever the user enables
--build-all.  This should be used mostly for testing and to ensure that
these helper programs compile.

***IMPORTANT***
These programs do *not* currently compile.  When --enable-build-all is used
(not the default), gen_new_fill fails because it uses an old API.  This is
an existing "bug" that has simply been exposed by this checkin.

Platforms tested:
sleipnir, modi4, sol

Misc. update:
2005-10-14 17:52:13 -05:00
Quincey Koziol
b76762fab1 [svn-r11558] Purpose:
Bug fix

Description:
    Check in Kent's fixes to hyperslab rebuilding code that should correctly
detect situation when different sub-hyperslabs exist in a higher dimension.

Solution:
    Remember previous sub-hyperslab information and compare that with newly
generated sub-hyperslab to make certain they are the same.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-10-13 16:39:51 -05:00
Quincey Koziol
39220e7a30 [svn-r11557] Purpose:
Bug fix

Description:
    Mark continuation message & chunk as dirty for case where chunk is
extended.

    Also refactored code to reduce duplication.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
    Too minor to require h5committest
2005-10-13 15:19:28 -05:00
Albert Cheng
7b2b61891d [svn-r11542] Purpose:
Inserted Copyright notice.

Platforms tested:
tested in heping.
2005-10-11 13:12:57 -05:00
James Laird
b101eca9f1 [svn-r11519] Purpose:
Bug fix

Description:
Some platforms complain that tcp.h is present but cannot be compiled.

Solution:
This is because tcp.h needs in.h to be included.
Checked for netinet/in.h and included it when netinet/tcp.h is being
checked.

Platforms tested:
mir, cu11
2005-10-10 15:38:42 -05:00
Albert Cheng
fc0acb35f5 [svn-r11515] Purpose:
Fixed copyright notice.

Description:
A line is missing in the copyright notice. Fixed.

Platforms tested:
No test since it is only a fix in a comment block.
2005-10-10 09:00:11 -05:00
Quincey Koziol
e21f821fc3 [svn-r11490] Purpose:
Bug fix

Description:
    Fix "double root open" bug and apply same fix to datasets & named datatypes.

    Also fix bug in symbol table entry lookup code that would "transfer" an
object from one file handle to another file handle when the two file handles
were opened on the same actual file.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-10-03 00:50:05 -05:00
HDF Admin
c13178a42d [svn-r11489] Snapshot version 1.7 release 51 2005-10-02 04:07:35 -05:00
Quincey Koziol
41c595e269 [svn-r11485] Purpose:
Code cleanup

Description:
    Clean up & optimize (a little) the recent "hyperslab rebuilding" code
w/Kent.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-09-30 16:46:56 -05:00
Fang Guo
25b5aa05f3 [svn-r11480] Purpose:
Maintenance on Windows
Description:
No alarm function on Windows, opt out
Solution:

Platforms tested:
MSVS 6.0 on Windows XP
Misc. update:
2005-09-29 12:34:18 -05:00
Albert Cheng
55c4f63df7 [svn-r11478] Purpose:
bug fix.

Description:
When a parallel test script test fails, make would continue because the
way it was setup inside a for loop.  Fixed it by issuing an exit 1 inside
the loop.

There was also a typo error in the newer command comparision that it
must be $${chkname} in order to be valid.  Also, the test script itself
was not checked in the newer lists.  All fixed.

Platforms tested:
h5committested and also hand tested in heping pp mode.
2005-09-29 00:17:06 -05:00