Commit Graph

3340 Commits

Author SHA1 Message Date
Albert Cheng
918c992dea [svn-r11258] Purpose:
Bug fix.

Description:
Reactivated the code for snprintf and vsnprintf for Tflops but added
the SN_SIZ_MIN as an attempt to require the minimum amount of space needed,
hoping vsnprintf/snprintf do not print larger than it per request.
Also added code to detect overflow and return error (IF overflow has
not crashed the application yet.)  These are all short term patches.

Platforms tested:
Tested at Tflops.
2005-08-17 13:40:41 -05:00
Raymond Lu
dd40269cc8 [svn-r11256] Purpose: Reformat comment.
Platforms tested: Not needed.
2005-08-17 10:43:22 -05:00
Raymond Lu
dc2bc37c39 [svn-r11254] Purpose: Bug fix
Description:  In some macro definition, some constant values like D_MIN and D_MAX were
not casted to the destination type.  They may cause problems for some system like
TFLOPS.

Solution: Cast them to destination type.

Platforms tested: fuss - very simple changes.
2005-08-17 10:05:08 -05:00
Fang Guo
778c6a053d [svn-r11251] Purpose:
Maintenance on windows
Description:
Add two macros for windows, susbstitue functions HDsnprintf and HDvsnprintf
with  _snprintf and _vsnprintf when using Visual C++ on windows

Solution:

Platforms tested:
MSVC 6.0 on Windows XP
heping
Misc. update:
2005-08-16 12:24:04 -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
Quincey Koziol
0db530ac5a [svn-r11242] Purpose:
Code cleanup

Description:
    Use enum type instead of int for datatype conversion exception callback
routine.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 14:18:02 -05:00
Quincey Koziol
45f1eba213 [svn-r11241] Purpose:
Code cleanup

Description:
    Fix logic error in previous checkin and also finish refactoring I/O
initialization, including simplifying all the collective & parallel cases
into a more unified mechanism.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/ & w/o parallel
    Linux 2.4 (mir)
2005-08-13 13:09:57 -05:00
Quincey Koziol
2efc3027ec [svn-r11240] Purpose:
Bug fix

Description:
    Fix logic error for non-parallel file I/O with library built for parallel
I/O capability.

Platforms tested:
    Linux 2.4 (mir) w/parallel
2005-08-13 11:00:28 -05:00
Quincey Koziol
c5aa1f7a5f [svn-r11236] Purpose:
Code cleanup & bug fix

Description:
    Refactor recent collective chunk changes to simplify them.  Also, compute
the number of chunks by checking the number of objects in the chunk skip list
instead of getting the boundaries of the selection and counting the chunks that
it overlaps, which is faster and computes correct number for certain selections.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor to require h5committest
2005-08-12 22:09:38 -05:00
Quincey Koziol
1ba06a8395 [svn-r11235] Purpose:
Code cleanup

Description:
    Refactor, simplify and cleanup Kent's recent checking for collective
chunk I/O.  There's a bug that I need to talk to Kent about and some more
cleanups still, but this is reasonable for an interim point.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor for h5committest
2005-08-12 10:53:55 -05:00
Albert Cheng
1af1bd5fb3 [svn-r11234] Purpose:
bug fix.

Description:
The code for functions snprintf and vsnprintf ignored the size parameter.
It could overflow the buffer.  The two functions are supported by many
platforms now.  Disable the code and see what platform(s) still need
it.

Platforms tested:
h5committested

Misc. update:
2005-08-11 18:52:00 -05:00
Raymond Lu
39da36afe5 [svn-r11233] Purpose: Bug fix
Description: In the macro H5T_CONV_Xx_CORE definition, one line said
"} else if (*((ST*)S) < (D_MIN)) {".  It caused problem on TFLOPS because
it defines LLONG_MIN as a hexadecimal value instead of decimal value.

Solution:  Changed the line to "} else if (*((ST*)S) < (DT)(D_MIN)) {" to
avoid the problem.  (Need to change other similar places when time permits.)

Platforms tested: fuss - simple change.
2005-08-11 17:45:42 -05:00
MuQun Yang
870c5b2f66 [svn-r11231] Purpose:
bug fix for collective chunk IO, phase 1
Optimization hasn't been done yet, the collective chunk IO bug should be fixed.
Description:
In chunking storage, memory space and file space will be remapped, So to check
whether file space and memory space are regular in order to use optimized MPI derived
datatype for collective call one has to check per-chunk wise instead of per hyperslab wise.
Even a regular memory space will be stored in span-tree and will be irregular before chunk IO.

Solution:
1. Check file space and memory space per chunk wise instead of per hyperslab wise.
2. For collective IO mode, number of chunks covered by hyperslab may be different. Since we are
handing per chunk per IO, for the extra chunk IO for some(not all) processors, collective mode will
cause program hanged. So for the extra chunk Io mode independent IO has to be used.
3. On some platforms, Complex MPI derived datatype is not working, so we have to use independent IO for collective IO mode if the selection is irregular. However, when the selection is regular, we do want to use collective IO since that will improve performance. Special cares have to be added for this case.


Platforms tested:
copper(AIX 5.1) Linux(heping mpich 1.2.6), Teragrid machine, Cobalt(altix), modi4

Misc. update:
2005-08-11 13:48:09 -05:00
Quincey Koziol
0e1b41d0fd [svn-r11229] Purpose:
Big fix

Description:
    A group opened by dereferencing a object reference would not work for
H5Giterate(), due to the local heap & B-tree information not being cached.

Solution:
    Get the local heap & B-tree info & point to that structure instead of
the group entry for the group.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-10 15:28:32 -05:00
Quincey Koziol
a8fbde5d18 [svn-r11228] Purpose:
Code cleanup

Description:
    Add a check for the correct type of ID for H5Eclose_stack()

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-10 15:18:49 -05:00
Albert Cheng
70f1a12883 [svn-r11222] Purpose:
feature

Description:
Add the test for tmpfile.  If it does not exist, compile in our own
version (which always returns NULL for now.)
2005-08-09 11:53:43 -05:00
Quincey Koziol
210ef12816 [svn-r11219] Purpose:
Code cleanup

Description:
    Bring some of the cleanups from the external link coding (which isn't
checked in yet) back into CVS as an intermediate checkin.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-08 16:03:17 -05:00
Quincey Koziol
502b4c206d [svn-r11215] Purpose:
Bug fix & code cleanup

Description:
    Fix another bug in the file mounting code and refactor the unmount
code that it is simpler.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
    Too minor to require h5committest
2005-08-08 13:41:35 -05:00
Albert Cheng
fbb2dd8545 [svn-r11213] Purpose:
Bug fix and improvement.


Description:
The test output were not displayed for parallel tests.
The serial tests output were always displayed whether the test was
actually ran this time or not.


Solution:
Moved the display of test output inside the target where the actual
tests are run.


Platforms tested:
Tested in heping using pp and fortran.
2005-08-08 12:30:23 -05:00
Albert Cheng
ea15f348a1 [svn-r11208] Purpose:
Bug fix and code minor cleanup.

Description:
The attempt to redirect stderr together to the log files were
done in the wrong order such that stderr output goes to where
stdout WAS.  Fixed that.

Code minor cleanup--use shell variables to hold the name of the
log file and the test instead of generating them repeatedly.  This
makes easier code reading, less crowded and avoid typos.

Only conclude.in is changed.  The Makefile.in changes are all
derived from automake.

Platforms tested:
h5committested.
2005-08-08 02:32:27 -05:00
HDF Admin
e49bb1feea [svn-r11204] Snapshot version 1.7 release 50 2005-08-07 03:45:28 -05:00
Albert Cheng
1d8557492a [svn-r11198] Purpose:
upgrade.

Description:
Changed all appropriate error stack calls to the new HSYS_ERROR macro
call in order to push system error message to the stack too.

Platforms tested:
heping.

Misc. update:
2005-08-04 14:13:16 -05:00
Quincey Koziol
a80d0f1e83 [svn-r11196] Purpose:
Code tweak

Description:
    Add in a couple of minor changes from Elena's version of pushing the
system error information on the error stack.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-04 00:58:34 -05:00
Albert Cheng
e47d1d053e [svn-r11195] Purpose:
Feature.

Description:
Added HSYS_ERROR macro to retrieve and push system error message to
the error stack.
Added the related H5E_SYSERRSTR error code.

This allows system error messages be shown to users too.  Thus
give a better explanation of what the errors are.

Platforms tested:
h5committested.
2005-08-04 00:17:07 -05:00
James Laird
e75a185eca [svn-r11185] Purpose:
Makefile feature

Description:
'make check-clean' now cleans *.h5 files created by tests as well as
.log and .chkexe files.

Solution:
check-clean is now a separate target in its own right, which cleans less
than mostlyclean (check-clean < mostlyclean < clean < distclean).

Platforms tested:
mir, heping, modi4 (serial and parallel)
2005-08-02 12:59:03 -05:00
James Laird
c63ef2cba2 [svn-r11179] Purpose:
Feature: check-clean target

Description:
'make check-clean' cleans up output files from tests.

Solution:
Tests create foo.chkexe and foo.log files.  Scripts create foo.chksh and
foo.logsh files.  'make check-clean' will clean these files up so that
the tests can be re-run.
Also suppressed some not-very-useful output of Makefiles when it would
echo commands.

Platforms tested:
mir, sleipnir, modi4

Misc. update:
2005-08-01 17:22:55 -05:00
Quincey Koziol
0c9c34fab6 [svn-r11176] Purpose:
Bug fix

Description:
    Correct problems when querying information about a group that was opened
by dereferencing an object reference.

Solution:
    Read in symbol table information instead of rely on it being cached.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-07-30 13:53:01 -05:00
HDF Admin
3cba75f060 [svn-r11148] Snapshot version 1.7 release 49 2005-07-24 02:58:43 -05:00
Quincey Koziol
c92ac94107 [svn-r11145] Purpose:
Bug fix

Description:
    If a named datatype is copied and the copy is used to create a dataset,
the dataset would inadvertantly refer to the original named datatype instead
of a local (possibly modified) copy of the named datatype.

Solution:
    Fixed datatype copying routine.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-07-23 14:58:13 -05:00
Quincey Koziol
34bd25f361 [svn-r11144] Purpose:
New port

Description:
    Elena asked me to check in her NEC SX-6 work, so here it is! :-)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    NEC SX-6 (by Elena)
2005-07-22 20:55:12 -05:00
Fang Guo
82293a2bad [svn-r11108] Purpose:
Improvement
Description:
Add high level c c++ and fortran dll and tests on windows
Solution:

Platforms tested:
MSVS 6.0 on Winodows XP, cygwin,heping and copper
Misc. update:
2005-07-22 16:25:19 -05:00
Quincey Koziol
6c6e310391 [svn-r11107] Purpose:
Optimization

Description:
    Switch some internal error API data structures over to using H5FL* routines
for memory management (instead of malloc/free), in order to reduce abuse of
operating system's memory allocation code.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-07-22 09:37:37 -05:00
Quincey Koziol
2c4cff1259 [svn-r11104] Purpose:
Bug fix

Description:
    C++ compiler doesn't like 'new' as a variable name.

Solution:
    Changed to "new_shared"

Platforms tested:
    Trivial - just eyeballed it.
2005-07-22 09:32:48 -05:00
James Laird
7236935a9d [svn-r11095] Purpose:
Configuration feature

Description:
Serial test output is now stored in log files and printed when all tests
in a directory complete, or when a test fails.  This should make test output
more readable and useful.
Also made changes to clean up ii_files directories that are created by some
C++ compilers/linkers.
Also fixed a few minor Makefile bugs.

Solution:
When serial tests run, their output is saved in *.log or *.logsh.  While
running, tests only print when they begin and when they complete; their
more specific output (from the log file) is printed if the test fails or
when all tests have completed.
Comments welcome.

Platforms tested:
mir, modi4 (parallel and serial), copper, shanti
2005-07-21 14:28:11 -05:00
Quincey Koziol
bb31e94a92 [svn-r11093] Purpose:
Bug fix

Description:
    Rewrite code for mounting files to clean up layers of kludges and implement
a much cleaner and more maintainable design.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
2005-07-21 09:48:26 -05:00
MuQun Yang
37e0b58f86 [svn-r11088] Purpose:
support thread-safe on windows

Description:
pthread on windows won't return a numeric value from pthread_safe.
An error message applying on linux won't apply on windows,
Print some other message.

Solution:



Platforms tested:
windows xp, too minor to test at other platforms.

Misc. update:
2005-07-19 16:56:15 -05:00
Raymond Lu
bd92e1e2a0 [svn-r11087] Purpose: Bug fix.
Description: When converting floating-point numbers to integers and the values of
floating-point number are greater than the maximal value of integer, Cray X1 generates
floating exception.

Solution: Added a test in configure to detect Cray X1's exception.  Set a flag to
indicate the machine that can handle overflow converting all floating-point to all
integer types.  This flag should be set for all machines, except for Cray X1 where
floating exception is generated when the floating-point value is greater than the
maximal integer value.

Platforms tested: Cray X1 and h5committest.
2005-07-19 13:16:33 -05:00
HDF Admin
5de418b2b4 [svn-r11081] Snapshot version 1.7 release 48 2005-07-18 16:20:23 -05:00
Quincey Koziol
96a49c0d37 [svn-r11078] Purpose:
Bug fix

Description:
    Correct memory leak when a dataset is attempted to be opened, but turns
out to be a group or named datatype.

    Also, clean up code that was leading to the leak and zero out empty
group entries to help prevent similar errors in the future.

Platforms tested:
    FreebSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-07-16 21:46:42 -05:00
Quincey Koziol
5e98b5bb36 [svn-r11077] Purpose:
Bug fix

Description:
    Further progress on fixing file mounting to work properly.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
    Too minor to require h5committest
2005-07-16 11:33:15 -05:00
Elena Pourmal
ba970a4ac7 [svn-r11073] Purpose: Small bug fix
Description: On VMS assertion failed due to a typo ("/" instead of "%")


Solution: Fixed a typo

Platforms tested: VMS (code is not exercised on other platforms)

Misc. update:
2005-07-14 16:04:33 -05:00
Quincey Koziol
6aa7ea9331 [svn-r11057] Purpose:
Bug fix

Description:
    Correct error where the dataset sieve buffer was inadvertantly disabled,
resulting in poor raw data I/O performance for certain I/O patterns.

Solution:
    Hook dataset sieve buffer size setting back up.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-07-09 00:02:04 -05:00
Raymond Lu
9b8558b691 [svn-r11055] Purpose: Add comment. 2005-07-08 12:26:27 -05:00
Raymond Lu
f8964f5c1f [svn-r11054] Purpose: Bug fix.
Description: There was a bug in the calculating code of the Fletcher32
checksum in the library before v1.6.3.  The checksum value wasn't consistent
between big-endian and little-endian systems.  This bug was fixed in
Release 1.6.3.  However, after fixing the bug, the checksum value is no
longer the same as before on little-endian system.

Solution: Made the library compare both the correct checksum and incorrect
checksum generated from v1.6.2 or before.  This makes the library be
backward compatible but not forward compatible.

Platforms tested: h5committest and fuss.

Misc. update: Documented the forward incompatibility problem in the
Known Problem section in RELEASE.txt
2005-07-08 12:18:35 -05:00
Quincey Koziol
9b597516c0 [svn-r11042] Purpose:
Bug fix

Description:
    The ".chksh" file for a test script was being created in the "source"
location rather than the build location.  This can cause problems when
multiple builds are running because "slower" machines will see the ".cshsh"
file from faster machines and will not run the test script as they should.

Solution:
    Use 'basename' command to strip off the path of the script and create
the ".chksh" file in the build location.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-07-07 15:46:49 -05:00
Albert Cheng
f68a2e6db7 [svn-r11034] Purpose:
bug fix.

Description:
-nt is not a universal option for the test command in all platforms.
The use of it in conclude.am cause some platforms to bark at the
Makefile generated.

Solution:
Created a command script bin/newer which tests if file1 is newer
than file2.  Replace the "test file1 -nt file2" by
"newer file1 file2".

Platforms tested:
Tested in sol.
2005-07-06 23:52:45 -05:00
Quincey Koziol
82a12612e3 [svn-r11031] Purpose:
New feature

Description:
    Initial checkin of B+ Tree code.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest

Misc. update:
2005-07-06 13:13:32 -05:00
Quincey Koziol
12d84d4b12 [svn-r11022] Purpose:
Bug fix & code cleanup

Description:
    Don't unmount child files from a parent file if the parent file is
being held open by an object.

    Also, moved the mounting routines into their own source file and the
superblock routines into their own file also.

Solution:
    Moved the code for unmounting child files down in the H5F_close routine
and also add checks to the file and group mounting code to unmount child
files when the last object holding open a file closes.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-07-05 16:58:50 -05:00
Raymond Lu
ac75ce4141 [svn-r11019] Purpose: Add detection
Description: pgcc version 6.0x have optimization (-O, -O2, or -O3) problem.
It caused multi driver test to fail.  The problem happened in a macro
definition.

Solution: Detect these versions and add option "-Mx,28,0x8" to the compiler
to avoid the problem if optimization is enable.

Platforms tested: mir and fuss - simple change.
2005-07-05 14:08:58 -05:00
Quincey Koziol
ddf9e4a4af [svn-r11014] Purpose:
Code cleanup

Description:
    Refactor metadata cache to merge "dirtied" flag in with other flags for
H5AC_unprotect and H5C_unprotect.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-07-02 11:36:15 -05:00