Commit Graph

106 Commits

Author SHA1 Message Date
Quincey Koziol
6878261a43 [svn-r14353] Description:
- Add hash value for skip list string types, to reduce # of string
        comparisons.
    - Fixed bug with metadata/small data block aggregator adding size == 0
        block into file free space list.
    - Refactored metadata/small data block aggregator code into single set of
        common routines.
    - Changed block aggregator code to be smarter about releasing space in the
        'other' block when the 'other' block has aggregated enough data.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2007-12-20 15:36:08 -05:00
Quincey Koziol
63eb5b9ebb [svn-r14104] Description:
Pursue calls to H5Gcreate() relentlessly and ruthlessly exterminate
them, leaving only a few tame specimens in text files and comments.  ;-)

Tested on:
	Mac OS X/32 10.4.10 (amazon)
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
	Linux/32 2.6 (kagiso)
	Linux/64 2.6 (smirom)
	Solaris/32 5.10 (linew)
2007-08-23 15:25:25 -05:00
Quincey Koziol
cdd4606430 [svn-r14097] Description:
First real use of API versioning code, H5E routines switched to use
new API versioning scheme.

Tested on:
	Mac OS X/32 10.4.10 (amazon)
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
	Linux/32 2.6 (kagiso)
	Linux/64 2.6 (smirom)
	Solaris/32 5.10 (linew)
2007-08-21 16:08:27 -05:00
Quincey Koziol
0061212eca [svn-r13994] Description:
Add a bit more information to the log VFD settings.

Tested on:
	FreeBSD/32 6.2 (duty) w/check-vfd
2007-07-21 00:59:55 -05:00
Quincey Koziol
69c572e26a [svn-r13990] Description:
Allow a ".h5" suffix to be added to core files also, which prevents
overwriting the test binary (and confusing the tests on copper, etc.)

Tested on:
	AIX 5.3 (copper) w/check-vfd
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
2007-07-20 12:05:00 -05:00
Albert Cheng
4040ae4232 [svn-r13941] Added feature to test the latest format by adding "latest" as the
HDF5_DRIVER value to activate the use of latest_format for file access
property list.

Platform tested: h5committested.
2007-07-05 02:38:38 -05:00
Quincey Koziol
d0a9cf9ffa [svn-r13871] Description:
Fix problems with 'check-vfd' target, that were [mostly] introduced with
the recent "unique, but sharable" ISOHM optimization.

    The problems were mostly with using the 'core' VFD, so the
H5Pset_fapl_core() API call was changed to re-open existing files (therefore
operating more list the sec2, stdio, etc. VFDs).  This allows many more of
the tests to run using the 'core' VFD, so those were enabled also.

Tested on:
    Linux/64 2.6 (chicago2) w/check-vfd
2007-06-15 14:11:59 -05:00
Scott Wegner
87a41d4286 [svn-r13766] In Visual Studio 2005 for 64-bit, _WIN32 is defined, but not WIN32, so I've standardized all #ifdef's to use _WIN32. This should not affect any other platform.
Tested:
Visual Studio (32- and 64-bit) on Win XP
2007-05-18 10:14:43 -05:00
Raymond Lu
3ea2c632d5 [svn-r13388] Added a relative comparison between floating-point values to avoid compiler's
warning of comparing values with "==" or "!=".
2007-02-26 11:55:45 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG copyright notice.
Tested platform:
Kagiso only since it is only a comment block change.  If it works in one
machine, it should work in all, I hope.  Still need to check the parallel
build on copper.
2007-02-07 09:56:24 -05:00
Quincey Koziol
978c9c9d93 [svn-r13034] Description:
Take out separate memory type in the file for SOHM objects and create
aliases for existing memory types for SOHM use.

Tested on:
    FreeBSD/32 4.11 (sleipnir)
2006-12-08 14:44:20 -05:00
James Laird
b6c317f27c [svn-r12902] Checkin of Shared Object Header Message work.
This feature is still in progress; Shared Object Header Messages are not
complete as a feature and are not thoroughly tested.  There are still
"TODO" comments in the code (comments with the word "JAMES" in them,
so as not to be confused with other TODO comments).

Hopefully this checkin will reduce the liklihood of conflicts as I finish
implementing this feature.

All current tests pass on juniper, copper (parallel), heping, kagiso, and mir.
2006-11-13 15:41:36 -05:00
Raymond Lu
8e0a4a03c0 [svn-r12870] Add a new macro H5_HAVE_DIRECT_ALIGN in configure.in. Some systems like copper and sleipnir
doesn't require alignment for Direct I/O.  If this's true, write or read data just like sec2
does.
2006-11-06 17:17:46 -05:00
Raymond Lu
c6c63ab6c6 [svn-r12822] H5Pset_alignment seems working. Added it in test/vfd.c and made the test more complete by writing
two data sets.  One is aligned, and the other isn't.
2006-10-28 16:11:04 -05:00
Raymond Lu
0f040c40f0 [svn-r12820] Added fragmental copy buffer to H5FD_direct_write. This buffer size is set through
H5Pset_fapl_direct.  It's been added to H5FD_direct_read in the previous checkin.  Still, a test is
needed at later checkin.
2006-10-26 21:41:19 -05:00
Raymond Lu
775bd09974 [svn-r12766] Made two changes to Direct I/O VFD: first added 3 parameters to H5Pset_fapl_direct to control
memory boundary, file block size, and maximal copy buffer size; second in H5FD_direct_write and
H5FD_direct_read, the library checks whether data buffer is aligned.  If it is, then write and 
read the data directly instead of making a copy buffer.
2006-10-16 17:31:27 -05:00
Albert Cheng
e065eee4a8 [svn-r12751] Purpose:
Bug fix (related to 544)

Description:
h5_get_file_size() was coded to return 0 if failed but
file size can be 0.  Changed the failure return value to -1
which is allowed by the returned type of off_t which is a signed
type.
Also changed the checking code of the stat call to just == 0
since that is how it is defined.

Test:
Could test it in heping only.  Both Sol and Copper failed to
compiled due to error in the Direct IO VFD code.
2006-10-11 22:55:06 -05:00
Raymond Lu
65d30cc9c3 [svn-r12739] Added Direct I/O driver to VFD. It's only supported by SGI Altix (cobalt). There's a configure
option --enable-direct-vfd/--disable-direct-vfd to enable/disable Direct I/O support.  The default
is enabled.  There's a small test in test/vfd.c.  Another way to test it is to set environment
variable HDF5_DRIVER to "direct" and run "make check" in the test/ directory.  There'll be some
further improvement in the following checkin including allowing user to provide memory boundary
value, file block size, and copying buffer size.
2006-10-10 15:07:16 -05:00
Quincey Koziol
a6f6462541 [svn-r12700] Alert:
File format is not stable, don't keep files produced!

Description:
    First stage of checkins modifying the format of groups to support creation
order.  Implement "dense" storage for links in groups.

    Try to clarify some of the symbols for the H5L API.

    Add the H5Pset_latest_format() flag for FAPLs, to choose to use the newest
file format options (including "dense" link storage in groups)

    Add the H5Pset_track_creation_order() flag for GCPLs, to enable creation
order tracking in groups (although no index on creation order yet).

    Remove --enable-group-revision configure flag, as file format issues are
now handled in a backwardly/forwardly compatible way.

    Clean up lots of compiler warnings and other minor formatting issues.

Tested on:
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/32 2.4 (heping) w/FORTRAN & C++
    Linux/64 2.4 (mir) w/enable-v1.6 compa
    Mac OSX/32 10.4.8 (amazon)
    AIX 5.3 (copper) w/parallel & FORTRAN
2006-10-02 05:24:03 -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
Albert Cheng
cca4e8351b [svn-r12395] Purpose:
Feature

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.
Added a new routine 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:56:50 -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
Binh-Minh Ribler
7e5de2473b [svn-r12286] Purpose: Fix bug
Description:
    The file size test in C++ library failed on Copper because the
    value returned by h5_get_file_size was intepreted incorrectly
    due to different interger sizes.

Solution:
    H5private.h: Added check to use stat64 and off64_t where appropriate.
    h5test.c and h5test.h: used h5_stat_size_t in place of off_t.
    tattr.cpp: used h5_stat_size_t in place of off_t.

Platforms tested:
    Linux 2.4 (heping)
    AIX 5.1 (copper)
    SunOS 5.8 64-bit (sol) - still on going
2006-04-20 01:09:51 -05:00
Albert Cheng
d4a986445c [svn-r12209] Purpose:
Bug fix.

Description:
getenv_all would fail if one calls it without calling MPI_initialized first.
This may happen if one uses PHDF5 library to build a serial nature code
and does not make any MPI calls.

Solution:
Added code to detect if MPI has been initialized. If not, use the
original getenv.

Platforms tested:
heping (serial) and mir (parallel).
2006-04-07 10:00:47 -05:00
Albert Cheng
df8739d8c6 [svn-r11875] Purpose:
Bug fix.

Description:
getenv_all, like some implementations of getenv, keeps an internal buffer
for the getenv values.  Application must make a copy of the content of the
returned pointer before calling getenv_all again IF it wants to use the
first content later.  The previous code violated this rule and caused
error.

Solution:
Did a small revamp of the h5_fixname to fix the above problem by moving
the getenv_all for HDF5_NOCLEANUP eariler to avoid it clashing the
call of getenv_all for HDF5_PARAPREFIX.  No a good permenant fix.  Need
to really recode this routine.

Platforms tested:
h5committested.
2006-01-09 13:17:44 -05:00
Albert Cheng
6cda54bdec [svn-r11871] Purpose:
Bug fix.

Description:
getenv_all will be called even when it is NOT an MPI application.

Solution:
Moved the use of getenv_all("HDF5_NOCLEANUP") to fix_name so that it will
be invoked only if a parallel driver is used.

Platforms tested:
hand tested in copper.
2006-01-09 00:14:54 -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
465f9be6e3 [svn-r11441] Purpose:
Feature.

Description:
Added ALARM_ON, ALARM_OFF feature to terminate tests that run more than
the default time limit.  So far, the feature is applied in the standard test
frame.

Platforms tested:
heping PP.
2005-09-19 15:32:18 -05:00
Elena Pourmal
8d2783a2e0 [svn-r11403] Purpose: Maintenance
Description:  Brought back changes from SX-6.

Solution: Tests will not compile. Fixed.

Platforms tested: SX-6, heping and mir with new g95

Misc. update:
2005-09-12 22:20:41 -05:00
Leon Arber
3280e08b9b [svn-r11364] Purpose:
Bug fix

Description:
Incorrectly terminated the received string in getenv_all

Solution:
Tasks would incorrectly terminat the environment string they received from the
root task in getenv_all.

They did the equivalent of:

env[strlen(str) + 1] = '\0'.

This resulted in a single "garbage" character inserted
at the end of the string.  This wasn't noticed until now because it seems that on most
platforms this garbage character was a 0 anyway.

This has been corrected to;

env[strlen(str)] = '\0'.


Platforms tested:
Red Storm (where the bug was discovered)
heping (pp)

Misc. update:
2005-09-07 16:19:06 -05:00
Fang Guo
5a1bb020a3 [svn-r11299] Purpose:
Improvement for Windows
Description:
thread number can not be printed out on windows. Add a special
macro for WIN32 to print out some helpful  messages
Solution:

Platforms tested:
Heping and MSVS 6.0 on Windows XP
Misc. update:
2005-08-25 15:49:21 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
Code cleanup

Description:
    Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.

Solution:
    Ran this script in each directory:

foreach f (*.[ch] *.cpp)
    sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 15:53:35 -05:00
Albert Cheng
d81d8e61de [svn-r10806] Purpose:
Cosmic changes when folding getenv_all to v1.6.
No code changes.

Platforms tested:
heping.

Misc. update:
2005-05-26 18:27:24 -05:00
Leon Arber
7058153705 [svn-r10634] Purpose:
Use getenv_all for determining HDF5_PARAPREFIX instead of getenv

Description:
the environment variable HDF5_PARAPREFIX is now determined collectively, instead of
having each task call getenv.

Solution:
Environment variables set for task 0 often do not propogate to other tasks which
leads to obscure and hard to track down bugs.  getenv_all was written to overcome
this by having all tasks query a single task for the value of its environment.
Eventually, all calls to getenv will be migrated to use getenv_all.  For now,
only HDF5_PARAPREFIX will be determined this way.

Platforms tested:
heping pp, sol pp

Misc. update:
2005-04-20 16:48:31 -05:00
Leon Arber
bba7693f56 [svn-r10555] Purpose:
Feature

Description:
Added new function, getenv_all (only for parallel builds)

Solution:
getenv_all is a collective version of getenv.  It is used to the return the value of
an environment variable in another task and can be used to synchronize all of the
environment variables used by all of the tasks.  This helps to fix problems that commonly crop up
(like with HDF5_PARAPREFIX) when an environment variable does not propogate to other tasks.

This commit only includes the function.  Future commits will replace the various getenv calls with getenv_all calls.

Platforms tested:
heping, sol, copper

Misc. update:
2005-04-05 16:42:02 -05:00
Quincey Koziol
03edfaa6e9 [svn-r9753] Purpose:
Small bug fix

Description:
    Patch szip_can_encode() test routine to return a value for all code paths.

Platforms tested:
    None - very, very minor
2005-01-06 12:20:14 -05:00
Quincey Koziol
427ff7da28 [svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)

Description:
    Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation.  So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.

    I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
    FreeBSD 4.10 (sleipnir) w/threadsafe
    FreeBSD 4.10 (sleipnir) w/backward compatibility
    Solaris 2.7 (arabica) w/"purify options"
    Solaris 2.8 (sol) w/FORTRAN & C++
    AIX 5.x (copper) w/parallel & FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN
    Linux 2.4 (heping) w/FORTRAN & C++


Misc. update:
2004-12-29 09:26:20 -05:00
Robert E. McGrath
3f0abcc71f [svn-r9494] Purpose:
Fix SZIP filter to dynmically detect encoder.

Description:

Solution:
See:
http://hdf.ncsa.uiuc.edu/RFC/SZIP/Szip_dynamic_12_Oct.pdf

Changes to library tests, contingent on detecting SZIP encoder.
2004-11-02 14:12:06 -05:00
Raymond Lu
cb7f03a26f [svn-r9183] Purpose: New feature
Description:  Restore 6 old error API functions back to the library to be backward
compatible with v1.6.  They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto,
H5Eget_auto.  These functions do not have error stack  as parameter.

Solution:  Internally, these functions use default error stack.

Platforms tested:  h5committest and fuss.

Misc. update: RELEASE.txt
2004-09-01 12:43:30 -05:00
Quincey Koziol
e5e786f589 [svn-r8782] Purpose:
Code cleanup

Description:
    Clean up almost all warnings from Windows builds.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require h5committest
2004-07-01 15:02:47 -05:00
Quincey Koziol
987f5d5e4d [svn-r8048] Purpose:
Code cleanup & reorganization

Description:
    Move further in the testing framework cleanup, eliminating all the
global variables (moving them into testframe.c as static variables) from the
testing framework code and moving it into the libh5test.a.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w & w/o thread-safety, c++ & parallel
    h5committested
2004-01-09 20:41:13 -05:00
Quincey Koziol
ce2b03097b [svn-r8022] Purpose:
Code cleanup

Description:
    Refactor library testing framework (used for the testhdf5 & ttsafe tests)
to remove almost all of the duplicated code, moving the common code into a
new 'testframe.c' source file.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w & w/o thread-safety
    h5committest
2004-01-06 12:53:13 -05:00
Albert Cheng
89f5220d66 [svn-r8020] Purpose:
Bug fix.

Description:
Cleaned up a duplicated definition of MAXNUMOFTEST that copper could
not tolerate.

Platforms tested:
"h5committested"
2004-01-05 22:17:16 -05:00
Albert Cheng
1b4b706db7 [svn-r8018] Purpose:
Fixed a dumb mistake.

Description:
Other tests barked at the changes.

Solution:
Move the declaration of Index and Test[] into h5test.c.

Platforms tested:
Tested in eirene.

Misc. update:
2004-01-05 17:30:53 -05:00
Albert Cheng
dc458e5f6f [svn-r8017] Purpose:
Code reorg.

Description:
Move the InitTest() from individual tests (testhdf5 and ttsafe) to
libh5test (h5test.c) so that it can be shared among all tests.

Platforms tested:
Only tested in Eirene via serial with thread-safe enabled.
No other platforms test since this is pretty trivial.
2004-01-05 16:58:37 -05:00
Bill Wendling
f651ceab38 [svn-r7700] Purpose:
Update

Description:
    Updated to support the FPHDF5 driver.

    Some formatting changes.

Platforms tested:
    Linux (FPHDF5 specific).

Misc. update:
2003-10-22 16:16:46 -05:00
Quincey Koziol
c58d85f10e [svn-r7527] Purpose:
Code cleanup

Description:
    Clean up a few loose ends and warnings for the 1.6 compatibility changes
to the error API.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-09-30 11:20:46 -05:00
Raymond Lu
7e79a8d71e [svn-r7507] *** empty log message *** 2003-09-24 14:26:50 -05:00
Quincey Koziol
92f5e443f8 [svn-r7308] Purpose:
Code cleanup

Description:
    Made automatic error printing routine, h5_errors(), static.

    Passed along error stack in h5_errors()

Platforms tested:
    h5committested
2003-08-08 14:03:43 -05:00
Raymond Lu
0d22a663df [svn-r7265] *** empty log message *** 2003-07-25 21:55:47 -05:00