Commit Graph

338 Commits

Author SHA1 Message Date
Leon Arber
9da1caea15 [svn-r12704] Purpose: Bug fix
Description: 
    Fix copper failures by adding MPI_Finalize call and also close the dataset and file in case of failure prior to exiting.
2006-10-02 12:45:53 -05:00
Leon Arber
c7a381b324 [svn-r12697] Purpose: New Feature
Description:
    Preliminary test of H5Fflush to verify that it still works when using MPIO collective mode.

Platforms:
    Linux (heping)
2006-10-01 16:27:47 -05:00
Quincey Koziol
24725d64aa [svn-r12668] Description:
Re-run 'bin/reconfigure' script after recent checkins

Tested on:
    none - shouldn't have any affect on compilation
2006-09-15 15:06:01 -05:00
Frank Baker
749a0b9c17 [svn-r12640]
Description:
    Add per-directory abbreviated copyright notices 
    (abbreviated COPYING files pointing to full notices).
Tested:
    MANIFEST verified; not otherwise tested.
2006-09-04 13:30:13 -05:00
James Laird
9d4229713e [svn-r12608] Checked in External Link C examples.
Since these examples need to follow filesystem paths, the Makefiles need
to create directories in the examples directory; added this to the
Makefile.am.

Tested on Windows, mir, juniper
2006-08-22 11:22:43 -05:00
John Mainzer
db9759bd10 [svn-r12594] Added small parallel test for modification of H5C_insert_entry() allowing
insertion and pinning of a cache entry in one call.

h5commit tested
2006-08-17 16:59:49 -05:00
James Laird
e5bc52d890 [svn-r12584] Mentioned VFD in test output to make it easier to tell which VFD is being used
when a test is run.

Running reconfigure also regenerated error header files (because someone edited
them manually?).
2006-08-17 09:18:03 -05:00
MuQun Yang
00b54cf131 [svn-r12554] New tests have been added to test the correctness of independent IO with file setview.
To activite this test,
add the command option -i.
For example, at IBM AIX, type "poe testphdf5 -i" will test the library with independent IO with file setview. It simply replaces all the collective IO tests with independent IO with file setview.
2006-08-08 22:16:07 -05:00
James Laird
beb04ae817 [svn-r12519] Fixed "make check-vfd"
"make check-vfd" will now run all tests in the test directory with different
file drivers (at least, all of those tests that use the testing framework's
FAPL).  Tests that fail will be skipped.

This is not a perfect fix, but is better than nothing.

Along with this change, check-vfd should be added to the Daily Tests.
2006-07-31 14:46:16 -05:00
John Mainzer
801b5b09f2 [svn-r12462] Committed a variety of metadata cache related changes:
1) Added trace file support to the metadata cache.  This allows capture
   of all metadata cache calls in trace files for purposes of optimization
   and debuging.

2) Added an expunge entry function.  This allows an entry to be deleteded
   from the cache without writing it to disk even if it is dirty.

3) Added a function call to resize pinned entries.

4) Added code to deal with entries that are dirty on load.  This is
   needed in support of a bug fix which can alter object headers on
   load to repair files.

5) Added progress reporting code to the "MDC API smoke check" test in
   cache_api.c.  To enable the progress reporting, set report_progress
   to TRUE in mdc_api_call_smoke_check().

Tested with h5committest, and a parallel test on phoenix (dual athelon
linux box).
2006-07-13 12:59:39 -05:00
Quincey Koziol
7be3afb278 [svn-r12440] Purpose:
Code cleanup

Description:
    Trim trailing whitespace in Makefile.am and C/C++ source files to make
diffing changes easier.

Platforms tested:
    None necessary, whitespace only change
2006-06-27 09:45:06 -05:00
James Laird
64b5d95251 [svn-r12431] Purpose:
Configuration feature

Description:
'make install' now tests both static and shared libraries if both are installed.

Solution:
Previously, shared libraries were only tested when static libraries were not installed.
Also cleaned up line in commence.am that was including HL library in all Makefiles.

Platforms tested:
mir (Makefile change only)
2006-06-21 18:15:08 -05:00
James Laird
a31e264f89 [svn-r12411] Purpose:
Bug fix - bugzilla #552

Description:
On Cray X1, trying to use : as an argument confused the system.

Solution:
Added a test in configure to see if : as an argument is bad.
If so, skipped the test.

Platforms tested:
mir, Cray X1 (change to configure only)
2006-06-13 16:21:14 -05:00
Albert Cheng
bb2b806485 [svn-r12407] Purpose:
slight cleanup.

Description:
Changed the name of write type from write to write_pattern.

Platforms tested:
h5committested.
2006-06-06 10:24:38 -05:00
Albert Cheng
fbb0267346 [svn-r12405] Purpose:
Bug fix.

Description:
It failed when only 1 is used to test.

Solution:
Cleanup the code a little so that it works for any number
of processes to invoke it.

Platforms tested:
h5committested,
2006-06-06 01:55:26 -05:00
MuQun Yang
681d0a964c [svn-r12401] Purpose:
Some collective chunk IO macro names are confusing, change them to more meaningful
names.

Description:
H5Pset_dxpl_mpio_chunk_opt will set a flag so that the library can do one linked IO or mul
ti-chunk IO with collective in chunking storage directly. That is, the library won't do an
alyses to determine this.

The flags for the enum type we used before are:
H5FD_MPIO_OPT_ONE_IO
H5FD_MPIO_OPT_MULTI_IO

They are not good names because of the following two reasons:

1. It doesn't reflect chunking storage
2. OPT is kind of redundant and misleading,
Solution:
We change the names to
H5FD_MPIO_CHUNK_ONE_IO
H5FD_MPIO_CHUNK_MULTI_IO

Platforms tested:
Since only macro names are changed, no need to test with h5committest.
Misc. update:
2006-06-03 13:40:47 -05:00
Albert Cheng
849a6c299d [svn-r12396] Purpose:
Bug fix.

Description:
Sometimes the parallel prefix is given in the form of nfs:/mnt/pfs which
if given to a non-MPIO VFD like the default H5Fcreate, it would fail.
Called h5_rmprefix which would return the non-prefix component
part of the file name which would be okay for the default H5Fcreate and
such.

Platforms tested:
Tested in heping parallel.
2006-06-01 17:57:29 -05:00
Albert Cheng
8698c5ce5e [svn-r12380] Purpose:
Feature
(Code and tests are done by Christian.  I just committed the code.)

Description:
Rewrote the purpose of this test. Now it tests these three cases,
/*
 * Test following possible scenarios,
 * Case 1:
 * Sequential create a file and dataset with H5D_ALLOC_TIME_EARLY and large
 * size, no write, close, reopen in parallel, read to verify all return
 * the fill value.
 * Case 2:
 * Sequential create a file and dataset with H5D_ALLOC_TIME_EARLY but small
 * size, no write, close, reopen in parallel, extend to large size, then close,
 * then reopen in parallel and read to verify all return the fill value.
 * Case 3:
 * Sequential create a file and dataset with H5D_ALLOC_TIME_EARLY and large
 * size, write just a small part of the dataset (second to the last), close,
 * then reopen in parallel, read to verify all return the fill value except
 * those small portion that has been written.  Without closing it, writes
 * all parts of the dataset in a interleave pattern, close it, and reopen
 * it, read to verify all data are as written.
 */

Platforms tested:
Tested in copper, tg-ncsa and heping, all in parallel mode.
2006-05-26 17:11:00 -05:00
John Mainzer
a415cc6b17 [svn-r12374] Purpose:
1) Check in potential fix to unreproduceable bug in t_cache observed on
   Cobalt

2) Check in code supporting added pinned entry features in the metadata
   cache.


Description:

1) Elena encountered a bug in t_cache when running on Cobalt.  On
   investigation I found a potential race condition in t_cache that
   could explain her observation.

2) Quincey requested additions to the metadata cache allowing renaming
   of pinned entryies, and marking of pinned or protected entries as
   dirty.


Solution:

1) Modified t_cache.c to prevent the potential race condition.  Elena
   was unable to reproduce the bug on Cobalt, so we don't know if my
   fix actually addressed the problem.

2) Added code supporting the requested functions.  The changes were
   relatively trivial, but required substantial new test code.


Platforms tested:

h5committest, serial test on heping, parallel test on phoenix.


Misc. update:
2006-05-24 02:36:28 -05:00
Albert Cheng
56c0a0f993 [svn-r12358] Purpose:
Bug fix.

Description:
The ${TR}, though avoid the error, is inconvenient.  It is needed
because configure.in use the char range in the style of 'a-z'.
The other style of '[a-z]' is more commonly accepted by all tr
but autoconf tends to strip away [], making the syntax rather
clumsy.

Solution:
Learned from autoconf that it avoids the use of character range
by just spell all the letters out.  Changed our tr commands to
use those variables defined by autoconf.  Also removed the
definition of ${TR} since it will cause inconsistancy when
autoconf also use plain 'tr' in its generated code.

The Makefile.in are changed because the elimination of ${TR} from
configure triggered its removal from all Makefil.in.  That is okay
because ${TR} is not used at all in Makefile.

Platforms tested:
h5committested. (sol failed to connected). also tested in shanti
using both /usr/ucb/tr and /bin/tr (the bad one before.)

Misc. update:
Updated both INSTALL and RELEASE files.
2006-05-19 07:22:07 -05:00
John Mainzer
720f6cb065 [svn-r12321] Purpose:
Bug fix


Description:

Fix two test bugs:

1) Unitialized variable bug in test of H5C_get_entry_status()
   (in test/cache.c)

2) Incorrect initialization of constant in t_cache when running
   with MPE. (in testpar/t_cache.c)


Solution:

1) Don't test uninitialize variable.

2) Correct initialzation of constant in MPE case.


Platforms tested:

Tested on Heping and Copper.


Misc. update:
2006-05-02 01:06:38 -05:00
Quincey Koziol
eb96132022 [svn-r12316] Purpose:
Code cleanup/feature twist

Description:
    Adjust recent H5AC routines to take H5F_t pointers instead of H5C_t
pointers, to match the rest of the H5AC routines.

    This change propagated into a few of the tests, which also had some
compiler warnings cleaned up...

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Linux 2.4/64 (mir) w/C++ & FORTRAN
2006-04-29 14:28:23 -05:00
John Mainzer
8a7b9b3221 [svn-r12311] Purpose:
Add pinned entry capability to cache.


Description:

For frequently accessed cache entries, the protect/unprotect overhead
is sometimes a bottleneck.


Solution:

Allow entries to be pinned in the cache.  Pinned entries can't be
evicted, but can be flushed or modified.


Platforms tested:

h5committested -- minus one small typo in test/cache.c whose fix was
                  tested on copper and heping only.


Misc. update:
2006-04-28 08:27:54 -05:00
James Laird
91e56dc68d [svn-r12295] Purpose:
Several bug fixes

Description:
Added config file for Cray X1 (previous file was misnamed)
Simplified some code in hyperslab.c test that seemed to have been
confusing compiler on Cray X1.
Fixed typo in config/commence.am
Cleaned up hl/src/Makefile.am

Solution:
All four fixes should be straightforward.  The failure on Cray was
very difficult to debug, but involved arithmetic errors.
This change seems to fix it.

Platforms tested:
heping, copper, sol, some Cray X1 (more testing when system comes back up)
2006-04-21 14:21:24 -05:00
Quincey Koziol
d7573cbc85 [svn-r12292] Purpose:
Code maintenance

Description:
    Remove flexible parallel code

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4 (heping)
    Solaris 2.9 (shanti)
    Linux 2.4/64 (mir)
2006-04-20 18:54:47 -05:00
Pedro Vicente Nunes
bc66efc788 [svn-r12229] Purpose:
new feature

Description:
1) separated the HL library into "public" and "private" header files, with the same caracteristics as the basic library
2) added the public headers to hdf5.h (with a conditional include macro, defined in configure.in)
3) added the path to HL in all Makefile.am 's , because of the inclusion in hdf5.h

Solution:

Platforms tested:
linux 32, 64
AIX
solaris
with fortran and c++

(one packet table example fails)

Misc. update:
2006-04-12 16:21:38 -05:00
Albert Cheng
246b280cd6 [svn-r12227] Purpose:
bug fix.

Description:
The MPE_Stop_log did not work in copper.  It spewed out MPE errors
and ended in infinite looping.

Solution:
Changed to a smaller test size to avoid generating huge MPE log files
when MPE is configured in.

Platforms tested:
Copper (mpe)

Misc. update:
2006-04-12 13:41:08 -05:00
Albert Cheng
6952f48096 [svn-r12224] Purpose:
Bug fix.

Description:
When MPE is used, the test generates huge Clog files in /tmp that
could fill up the disk (like in Copper.)

Solution:
Turned off MPE logging.

Platforms tested:
heping (pp) and copper(pp)

Misc. update:
2006-04-11 15:01:58 -05:00
MuQun Yang
117dbae7f8 [svn-r12174] Purpose:
Adding parallel tests for optional collective chunk APIs

Description:
Three new APIs
"H5Pset_dxpl_mpio_chunk_opt_ratio
H5Pset_dxpl_mpio_chunk_opt_num
H5Pset_dxpl_mpio_chunk_opt"
for optional optimization choices from users
have been added to the libraries.

This check-in adds six tests to verify the funcationality and correctedness
of these APIs.
These tests need to be verified with 3 or more processors and with MPI-IO driver only.


Solution:
Using H5Pinsert, H5Pget, H5Pset to verify that the library indeed goes into the branch we hope for.
Using H5_HAVE_INSTRUMENT macro to isolate these changes so that it won't affect or be misused by the application.

Platforms tested:
h5committest(shanti still refused to be connected)
Parallel tests on heping somehow are skipped. Manually testing at heping. Have checked
1,2,3,4,5 processes.

Misc. update:
2006-03-29 09:35:26 -05:00
James Laird
93aa12407f [svn-r12149] Purpose:
Bug fix

Description:
Previous checkin did a bad thing; 'make clean' failed in example directories.

Solution:
Fixed commence.am so that examples no longer break, and fixed a mistake
in conclude.am.

Platforms tested:
heping (minor makefile change)

Misc. update:
2006-03-23 16:26:17 -05:00
MuQun Yang
b22b47ced5 [svn-r12148] Purpose:
Add tests for optional APIs to support collective chunk IO

Description:

In order to test whether library picks up the user's options,
The number of chunks need to be varied for different processes,
Selection of the number of processes selected in one chunk also
need to be varied.
Solution:
Create two cases,

1. Each chunk only selected by one unique process, this case
library should use independent for collective call.
2. One-third of the processes occupies the top half of the whole domain,
   The rest of the processes occupies the lower half of the domain.
   The total number of chunk is a fixed number 8.

Platforms tested:
Linux 2.4 with mpich 1.2.6(only)

Since I only checked in the code that handles the selection, haven't added any new tests yet. So it won't affect any platforms.


Misc. update:
2006-03-23 16:18:02 -05:00
James Laird
524d25498f [svn-r12143] Purpose:
Bug fix

Description:
make check-clean didn't clean results of example tests

Solution:
Fixed Makefiles so that check-clean recurses into example directories.
Also a little Makefile cleanup.

Platforms tested:
mir, modi4, heping, copper
2006-03-23 09:22:34 -05:00
MuQun Yang
15f0a2e95c [svn-r12142] Purpose:
change the array size of collective chunking features of parallel tests.

Description:
Previously array size for collective optimization tests
including
cchunk1,
cchunk2,
cchunk3,
cchunk4,
ccontw,
ccontr,
cschunkw,
cschunkr,
ccchunkw,
ccchunkr

are fixed,
They are only valid for some good number of processors(1,2,3,4,6,8,12,16,24,32,48 etc).
Recently there are more requests for parallel tests to be valid on some odd number of processes such as 5,7,11,13 etc.


Solution:
I change the array size to be dynamic rather than static. Now the fastest change array size is a function of mpi_size. dim2 = constant *mpi_size. After some tunings, theoretically the above tests should be valid for any number of processors. However, other parallel tests still need to be tuned.

To verify the correctness of these tests, using mpirun -np 5 ./testphdf5 -b cchunk1 at heping.
Platforms tested:
h5committest(shanti is refused to be connected)
at heping, 5 and 7 processes are used to verify the correctness.

Misc. update:
2006-03-22 21:50:09 -05:00
MuQun Yang
0f0a5eb918 [svn-r12044] Purpose:
Add new tests

Description:
Collective IO doesn't work for some platforms/mpio packages when more than
one process has no contributions to IO.
Solution:
1. Add a collective IO test to verify the correctness of the library when
   more than one process has no contributions to IO.
2. Add the similar MPI-IO test in t_mpi to help us maintain in more platforms.
Platforms tested:
heping, mir, copper
Misc. update:
2006-03-09 09:52:09 -05:00
Albert Cheng
516c242b04 [svn-r11992] Purpose:
Improvement.

Description:
The t_cache takes a long long time to run and it tests HDF5 calls.
Move it to the back and let more basic tests to run first so that
basic features are tested first.

Platforms tested:
Tested in heping with pp.
2006-03-01 00:54:07 -05:00
MuQun Yang
caefcc2133 [svn-r11953] Purpose:
code cleanup

Description:
remove two printf lines accidently added for debugging at NCSA cobalt.

Solution:

Platforms tested:
No need to test.

Misc. update:
2006-02-17 15:55:20 -05:00
MuQun Yang
25837d324e [svn-r11951] Purpose:
Enhance collective chunk IO supports

Description:
Add a new test to check the correctness of the HDF5 library behavior for collective IO mode when one process doesn't have any contribution for IO.

Solution:

Platforms tested:
IBM AIX 5.2(copper)
Linux (heping) mpich-1.2.6


Misc. update:
2006-02-16 12:12:08 -05:00
John Mainzer
42d4edcb4a [svn-r11915] Purpose:
Attempt to ensure that the parallel cache test runs at a reasonable
speed with large numbers of processors.

Description:

In some cases, the number of random locks and unlocks was a multiple of
the MPI rank.

Solution:

Use rank % 4 instead of simply rank.

Platforms tested:
copper

Misc. update:
2006-01-31 16:09:37 -05:00
John Mainzer
43df732a9b [svn-r11904] Purpose:
Add a file that I forgot in my last checkin.

Description:

t_cache.c is the source file for the new parallel metadata cache test.


Solution:

See above.

Platforms tested:

h5committested before the last checkin.  Will run another
h5committest shortly, but it shouldn't be necessary as there
are no new changes.

Misc. update:
2006-01-28 21:34:52 -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
Albert Cheng
16ec392760 [svn-r11866] Purpose:
bug fix 504

Description:
testpar/t_mpi would hang if  $HDF5_NOCLEANUP is set.  E.g.,
% env HDF5_NOCLEANUP=yes mpirun -np 3 ./t_mpi

This happened because the environment variables are not exported to all
mpi processes by the mpirun command.  So, some attempted to do cleanup
while others don't and some hang waiting for others to act.

Solution:
Instead individual program checking getenv, they all just called h5_cleanup
no matter.  h5_cleanup now uses getenv_all to check the $HDF5_NOCLEANUP if
it is in parallel mode.

Platforms tested:
h5committested, tested pp in heping too.
2006-01-06 09:52:25 -05:00
Albert Cheng
a735b263d3 [svn-r11798] Purpose:
Feature.

Description:
Modified it so that it can be compiled outside of HDF5 library as a standalone
program.  e.g., mpicc -DSTANDALONE prog.c.

Platforms tested:
Tested in Red storm and heping.
2005-12-16 03:08:54 -05:00
Albert Cheng
cfbc02d030 [svn-r11788] Purpose:
Patch.

Description:
Copper would fail with a message of
0032-113 Out of memory  in routine unknown, task 0
when run with 3 processes and size 1MB in MPI-IO tests.
It seems to be a copper MPIO error.

Solution:
Reduced the upper bound of default write size to 1/2MB (but
tests only go to 1/4MB) for now, pending permenant fix from
Copper.

Platforms tested:
Copper.
2005-12-12 14:42:34 -05:00
Leon Arber
8d90fdaf96 [svn-r11786] Purpose:
Minor bug fixes.

Description:
1.  Changed free() calls to HDfree()
2.  Corrected behavior of -m command-line parameter
3.  Changed return value to always return 0.

Solution:

2.  The -m flag tells the test to run only the MPI IO tests.  However, it would incorrectly make
the test run both the MPI and POSIX tests (same as the default behavior).

3.  This test is known to fail on many platforms, and, even on those platforms where it usually passes,
it is known to suffer transient failures (especially with small test file sizes).  It's outcome is
also very dependent on the filesystem on which the testfile is created.  Corrected
the program to always return success, so that it doesn't interfere with the daily tests.

The motivation for this is that
this test has nothing to do with the HDF library and is an auxiliary test.  Failures in t_posix_complaint
do not necessarily mean that parallel HDF will fail, but simply indicate something to look into,
especially on new platforms.  This is now an "output only" test, and any errors will be only be visible
in the output.

Platforms tested:
copper (all of these were minor changes)

Misc. update:
2005-12-11 13:40:07 -05:00
Albert Cheng
8ec440e959 [svn-r11783] Purpose:
bug fix.

Description:
Fixed the segmentation fault errors in modi4, copper and tg-login.
It was due to the misuse of trying to realloc a pointer returned by
getenv_all. (not supposed to.)

Also rearranged the code so that option is checked first, then check
with environment variable, then use default setup.  This saves the
need to do realloc at all.

Platforms tested:
Heping, modi4, shanti, copper (copper showed a different error now.)
2005-12-10 23:28:31 -05:00
Leon Arber
4d6d659c41 [svn-r11778] Purpose:
Bug fix.

Description:
For some strange reason, getopt() does not appear to be defined in unistd.h
on colonelk when the source is compiled with -D_POSIX_SOURCE.


Solution:
Inserted some extern's for the missing variables to make the compiler happy.

Platforms tested:
colonelk, copper

Misc. update:
2005-12-08 16:44:55 -05:00
Leon Arber
1ff1d02c68 [svn-r11777] Purpose:
Feature

Description:
Added blurb about future todo's for this test.

Added support for HDF5_PARAPREFIX to determine the directory where the test file
is stored.

Solution:
Used getenv_all to get the value of HDF5_PARAPREFIX.  Note that, if a command-line
parameter is passed to the program to specify a path, it will override the value of
HDF5_PARAPREFIX.

Platforms tested:
copper, colonelk

Misc. update:
2005-12-08 16:24:51 -05:00
Leon Arber
3f766acd0c [svn-r11776] Purpose:
Added t_posix_compliant to the rest of the build and patched up minor
compile bugs/warnings encountered on other platforms.

Description:
It seems that <getopt.h> needs to be included to get the file to build, even though the man page
seems to indicate that <unistd.h> should be sufficient.

Solution:

Platforms tested:
copper, colonelk, sol
2005-12-08 15:33:19 -05:00
Leon Arber
5e58d47b98 [svn-r11772] Purpose:
Feature

Description:
Added posix compliance tests.

Solution:
These tests do increasingly complicated sets of writes followed by reads.
POSIX standards say that any read that can be proven to occur after a write
must include the data in that write.  These tests attempt to verify whether the
underlying filesystem and i/o layer provide such guarantees.


Platforms tested:
copper, colonelk, red storm

Misc. update:
2005-12-08 14:14:28 -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