Commit Graph

135 Commits

Author SHA1 Message Date
Mohamad Chaarawi
d48b803747 [svn-r25965] - build out unbuffered stdout/err for windows 2015-01-08 14:00:15 -05:00
Mohamad Chaarawi
5449df4880 [svn-r25682] bring 25651 and 25659 from trunk.
Fix for: HDFFV-8715
HDF5_PARAPREFIX is ignored in parallel dense attribute and performance tests.
2014-10-07 15:40:06 -05:00
Quincey Koziol
e8c162613b [svn-r25497] Description:
Merge changes that correspond to the 64-bit ID changes (without the actual
switch to 64-bit IDs) to the 1.8 release branch.  (Plus a few minor cleanups
and alignments with the trunk that aren't on the branch)

Tested on:
    Mac OSX/64 10.9.4 (amazon) w/C++ & FORTRAN
    (h5committested on branch already for a week)
2014-07-30 15:56:40 -05:00
Mohamad Chaarawi
515aa0b930 [svn-r25404] add serial and parallel regression tests for zero dset read/write bug.
(merged from trunk)
2014-07-10 16:32:20 -05:00
Quincey Koziol
25147d5567 [svn-r24878] Description:
Bring r24864 from trunk to 1.8 branch:

    Remove all traces of MPI-POSIX VFD and GPFS detection/code.

    Remove remaining traces of stream VFD.

    Remove testpar/t_posix_compliant test (it's not actually verifying anything).

    Clean up H5D__mpio_opt_possible() further.

    Moved environment variable that disables MPI collective operations into
    MPI-IO VFD (instead of it being in src/H5S.c).

    A few other small code cleanups.

Tested on:
    Mac OSX/64 10.9.2 (amazon) w/parallel & serial
    (daily tested on trunk)
2014-03-24 12:41:18 -05:00
Mohamad Chaarawi
8266f69f5e [svn-r24614] Bring 24612 from trunk:
fix bugs in parallel tests exposed in corner cases when running with 1 or 2 processes.
First bug is in testpar/t_mdset.c, where the test reports an error in addition to skipping the test if there are less than three procs. Fix to just skip the test.
Second bug is in testpar/t_dset.c in actual_io_mode tests, where incorrect expected value for IO mode was set if the number of procs running the test is 1.

tested with h5committest.
2014-01-06 13:31:40 -05:00
Quincey Koziol
00a5fe5cf4 [svn-r23535] Description:
Bring r23529 from trunk to 1.8 branch:

    Stop aliasing property to indicate internal collective metadata operations
with property to perform collective raw data operations from the application.

Tested on:
    Mac OSX/64 10.8.3 (amazon) w/parallel
    (daily tests on trunk)
2013-04-03 13:11:58 -05:00
Jonathan Kim
51cf093853 [svn-r23011] Purpose:
HDFFV-8146 - Remove "multi-chunk IO without optimization" sub-feature from MPI I/O optimization for chunked dataset feature

Description:
  The “multi-chunk IO without optimization” feature is removed and made the related xfer property (H5FD_MPIO_CHUNK_MULTI_IO) go directly to “multi-chunk-io” feature.
  Also update/fix/cleanup testings (chunk collective IO and actual chunk opt mode) accordingly.
  Merged from HDF5 trunk r22992.
    
Tested: 
    jam-pp (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), fred (mac64-LE), linew (solaris-BE), koala-pp, wallby-pp, cmake (jam-pp), Windows (32-LE cmake)
2012-11-05 15:09:19 -05:00
Jonathan Kim
5188e7a617 [svn-r22780] Purpose:
HDFFV-8143 Provide a routine(s) for telling the user why the library broke collective data access

Description:
    Added H5Pget_mpio_no_collective_cause() function that retrive reasons why the collective I/O was broken during Read/Write IO access.
    Reasons to break collective I/O:
     - SET_INDEPENDENT
     - DATATYPE_CONVERSION
     - DATA_TRANSFORMS
     - MPIPOSIX
     - NOT_SIMPLE_OR_SCALAR_DATASPACES  (NULL Space)
     - POINT_SELECTIONS
     - NOT_CONTIGUOUS_OR_CHUNKED_DATASET  (Compact or External-Storage)
     - FILTERS  

    Merged from HDF5 trunk r22735, r22741 , 22743, 22744, 22763.

Tested: 
    jam-pp (linux32-LE), koala-pp (linux64-LE), wallaby-pp
2012-09-17 14:14:56 -05:00
Mohamad Chaarawi
4e22de6e90 [svn-r22652] bring 22651 to branch
fix a bug that would skip or include the parallel atomicity test with cmd arguments -o or -x
2012-08-09 13:10:47 -05:00
Allen Byrne
82ea7b2d3c [svn-r22402] HDFFV-8064: Merge windows #ifdef blocks to 1.8
Trunk dailies passed
2012-05-24 09:24:17 -05:00
Quincey Koziol
362f22119d [svn-r22228] Description:
Bring r22219 from trunk to 1.8 branch: (with release manager's blessing)

      Merge "file image" changes from feature branch back to trunk.

Tested on:
   h5committested
2012-04-01 17:27:15 -05:00
Mohamad Chaarawi
94502a2769 [svn-r22157] Merge the atomicity routines from the trunk 2012-03-27 13:54:15 -05:00
Quincey Koziol
17d435522b [svn-r21533] Description:
Bring r21442 and r21529 from trunk to 1.8 branch: Add new API routines
for querying if collective raw data I/O was actually performed collectively.

Tested:
    Linux/32 2.6 (jam)
    (h5committested on trunk)
2011-10-12 16:50:59 -05:00
Allen Byrne
b3bc8132c5 [svn-r21363] files from HDF5-33 review - all changes ran correctly in trunk. Changes have been tested in cmake branch.
Tested: local linux
2011-09-06 09:16:50 -05:00
Albert Cheng
473b1ac882 [svn-r19960] Bug: the VRFY macro, for some reason, called MPI_Finalize() when it encountered
error and wanted to exit the test program. This was not good since if only a
subset of processes called MPI_Finalize(), the other processes will likely
hang.  That happened in AIX that it would waited till the alarm signal to kill
the processes. Definitely a waste of time.
Solution: Changed it to call MPI_Abort.

That showed another problem. HDF5 has setup atexit post-process to try to close
unclose objects, release resources, etc.  But if the MPI processes have
encountered an error and has been aborted, it is not likely any more MPI calls
can function properly. E.g., it would attempt to free some communicators in
the HDF5 MPIO file handle. It would again hang.
Solution: need to call H5dont_atexit() to disable any atexit post-processing.
This must be done early, like before calling H5open. This is added to each
parallel test main program.

testphdf5.h:
    Changed macros VRFY and MESG. Added comments too.

testphdf5.c:
t_mpi.c:
t_cache.c:
t_shapesame.c:
    Added H5dont_atexit.

Tested: h5committest.
2011-01-16 04:53:22 -05:00
Albert Cheng
7b67295c19 [svn-r19939] Purpose:
Moved the two shape same tests from testphdf5 to a separated executables,
named t_shapesame. The shape same tests runs too long for testphdf5.
In a separated executalbe, it will be easier to separate any errors in
testphdf5 sub-tests from the shape same tests.

t_shapesame.c:
   Contains the shape same tests (cloned from t_rank_projection.c) plus
   a duplicate of "testphdf5.c" for now. After verifying it is correct, more
   cleanup is needed.
testphdf5.c:
   Removed the two shape same tests (chsssdrpio & cbhsssdrpio).
Makefile.am:
Makefile.in:
   Added t_shapesame as a new test executable.
   Removed t_rank_projections.c from part of testphdf5.
testph5.sh.in:
   Temporary added the "t_shapesame -p" test for testing shape same tests
   with MPIO-Posix VFD.

Tested: h5committested, plus serial jam.
2011-01-11 20:21:44 -05:00
John Mainzer
93b2b7cf07 [svn-r19621] Port fo fix for the round robin parallel flush bug caused by the failure
of the H5Ocache.c code to update its image of the on disk representation
of the object header on a call to clear callback.

This wasn't an issue as long as all flushes of the object header were 
made from the same process, but if an object header is modified, and 
then flushed on one process and cleared on the rest, the changes were
not be reflected in the images of the on disk representation on all 
processes where the object header was cleared rather than flushed.

If one of these processes did the next flush, the changes were lost in
the on disk representation.

Fixed this by causing all dirty messages and to be written to the copy 
of the on disk image maintained by the object header code on both flush 
and clear.

Also added associated test code in t_mdset.c.

Also checking in some cache debug code developed while chasing this bug.

Commit tested and tested (parallel) on phoenix.
2010-10-17 02:52:19 -05:00
Quincey Koziol
1ff6aff53d [svn-r19093] Description:
Bring r19092 from trunk to 1.8 branch:

	Bring "shape same" changes from LBL branch to trunk.  These changes
allow shapes that are the same, but projected into dataspaces with different
ranks to be detected correctly, and also contains code to project a dataspace
into greater/lesser number of dimensions, so the I/O can proceed in a faster
way.

	These changes also contain several bug fixes and _lots_ of code
cleanups to the MPI datatype creation code.

	Many other misc. code cleanup are included as well...

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
	(h5committested on trunk)
2010-07-19 03:09:49 -05:00
Quincey Koziol
d5dfe34e0a [svn-r17380] Description:
Bring r17376 from trunk to 1.8 branch:

	Make similar change to windows VFD as sec2 VFD, when converting from
a family file to a single file.

	Tweak file sizes expected for parallel tests.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
	(h5committested on trunk)
2009-08-18 17:29:03 -05:00
Christian Chilan
ae8e8d9378 [svn-r16771] Modified parallel tests so they can run with arbitrary number of processors.
Tested on jam and abe.
2009-04-16 20:34:17 -05:00
Quincey Koziol
b9be045596 [svn-r15629] Description:
Remove trailing whitespace from C/C++ source files, with the following
script:

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

Tested on:
   Mac OS X/32 10.5.5 (amazon)
   No need for h5committest, just whitespace changes...
2008-09-16 11:22:16 -05:00
Scott Wegner
6df2bbd6e9 [svn-r15181] Purpose: _WIN32 macro cleanup
Description:
As part of our Windows cleanup, we try to remove windows-specific tweaks in the source code.  There are many instances where Windows code is introduces via ifdef's.  We re-evaluate whether they are still required, and found that many of them are not.  Others we change to "feature"-specific code, rather than Windows-specific.

Tested:
VS2005 on WinXP
VS.NET on WinXP
h5committest (kagisopp, smirom, linew)
2008-06-09 12:31:22 -05:00
Quincey Koziol
10dcf4b0e1 [svn-r14098] Description:
Clean up a few remaining API compatibility issues in the H5E API for
parallel configurations

Tested on:
	FreeBSD/64 6.2 (liberty) w/parallel
2007-08-21 16:47:41 -05:00
Raymond Lu
6262a14f2e [svn-r14096] There're 3 changes in this checkin as below:
1. In H5Dwrite and H5Dread, let the data buffer point to a fake address if the application passes
     in an empty buffer.  This is mainly for MPIO programs that some processes may not have any 
     data to write or read but still participate the I/O.  This solution solves some MPI's problem
     like the ChaMPIon on tungsten which doesn't support empty buffer.
  2. The ChaMPIon on tungsten doesn't support complex derived MPI data type correctly and collective
     I/O when some processes don't have any data to write or read correctly.  Detect the compiler
     "cmpicc" in the system-specific config file and set the variables for these two cases to false.
     The PHDF5 library already has set up a way to switch collective chunked I/O to independent 
     under these two cases.
  3. A bug fix - During the work of the optimization for compound data I/O, the case for switching
     collective chunked I/O to independent I/O was leftout.  Fixed it by adding I/O caching to it in
     H5D_multi_chunk_collective_io in H5Dmpio.c.

Tested on tungsten, cobalt, and kagiso for parallel; on linew and smirom for serial.
2007-08-20 16:55:38 -05:00
Christian Chilan
abcba9a50a [svn-r13778] Add test_filter_read to testphdf5. 2007-05-21 19:06:37 -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
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
Albert Cheng
1c53181756 [svn-r12967] Cleanup.
The h5_mpi_get_file_size() is no longer used.  The unused code caused some
compiling warning messages.  Removed the whole routine.

Tested in heping pp mode.
2006-11-21 23:21:02 -05:00
Albert Cheng
ad80fe7ea9 [svn-r12725] Purpose:
Bug Fix (Bug 544)

Description:
SGI Altix's MPI_File_get_size overflowed at 2GB and more.
Put in a temporary patch to use stat() instead to make Cobalt
passing on this test (bigdset).  A better fix (like detect if
MPI_File_get_size does not work before using this is preferred.)

Tested:
Cobalt and Heping.
2006-10-05 19:27:05 -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
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
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
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
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
MuQun Yang
d8c3b5b771 [svn-r11572] Purpose:
Code clean-up for collective regular chunk IO tests.

Description:
Add descriptions for each tests for future maintenance.

Solution:

Platforms tested:
Mostly comments, No need to use h5committest.
heping(linux 2.4)

Misc. update:
2005-10-17 15:48:16 -05:00
Pedro Vicente Nunes
d09ca66a26 [svn-r11448] Purpose:
new features

Description:

add support for compiling the library and testphdf5 in Windows


Solution:

Platforms tested:
Linux
AIX
Solaris
Windows VC6

Misc. update:
2005-09-21 08:41:09 -05:00
Albert Cheng
11cfb28f54 [svn-r11340] Purpose:
Big data set test was default off and rarely tested. Changed it to default
on so that it gets tested.

Platforms tested:
Heping PP and Copper pp.
2005-09-02 09:56:32 -05:00
Albert Cheng
3182a8a040 [svn-r11312] Purpose:
Bug #281

Description:
A dataset created in serial mode with H5D_ALLOC_TIME_INCR allocation setting
was not extendible, either explicitly by H5Dextend or implicitly by writing
to unallocated chunks.  This was because parallel mode expects the allocation
mode be H5D_ALLOC_TIME_INCR only.

Solution:
Modified library to allocate more space when needed or directed if the
file is opened by parallel mode, independent of what the dataset allocation
mode is.

Platforms tested:
Heping pp.
2005-08-29 23:35:17 -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
MuQun Yang
cf377ac318 [svn-r11232] Purpose:
Modified collective chunk Io test
Description:
One test(collective chunk IO test 4) is no longer needed. Comment out first.

The code should be cleaned up later.

Solution:

Platforms tested:

Misc. update:
2005-08-11 13:49:15 -05:00
MuQun Yang
5edb327cbf [svn-r11067] Purpose:
Updating phase 2 work of collective IO


Description:
The current collective IO tests cannot test for number of processors bigger than
some values, this change will lift those restriction. However, the test may be slower.


Solution:

Platforms tested:
linux 2.4, AIX 5.1, Linux 2.4 IA64 and IRIX 6.5
(I haven't tested big number of processors with the restriction of the machine)

Misc. update:
2005-07-12 14:26:26 -05:00
Albert Cheng
2b908577c1 [svn-r10598] Purpose:
Bug fix.

Description:
The irregular chunk IO tests do not work for processes sizes larger than 3.
Added a check of number of processes and skip the irregular chunk IO
tests if number of processes are larger than 3.

Revamped the tests of collective chunk IO tests too.

Platforms tested:
Tested in mir.

Misc. update:
2005-04-12 17:04:01 -05:00
MuQun Yang
133d48e6d0 [svn-r10546] Purpose:
Support collective IO for irregular selection.

Description:

Solution:

Platforms tested:
Linux with MPICH
AIX with mpcc_r
Linux with ChaMPIO
Altix with intel

Misc. update:
2005-04-05 14:43:14 -05:00
Albert Cheng
bf815e12e7 [svn-r10122] Purpose:
typo fix and small improvement.

Description:
t_coll_chunk.c:
ccdataset_vrfy() was using a wrong routine name to identify itself.

testphdf5.c:
Add a definition of NFILENAME to be the common dimension size of
FILENAME[] and filenames[][] since they must have the same first
dimension size.

Platforms tested:
h5committested.
2005-03-02 12:06:39 -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
MuQun Yang
fc01012cd5 [svn-r9658] Purpose:
Check in testing code for irregular hyperslab selection with multiple chunks.

Description:
For debugging only, will not be tested by h5committest.

Solution:

Platforms tested:
Linux 2.4 (mpich 1.2.6)

Misc. update:
2004-12-13 12:00:57 -05:00
MuQun Yang
e7e76b6876 [svn-r9649] Purpose:
Adding routines to test irrgular hyperslab selection inside one chunk.

Description:
For debugging purpose, tests are turned off now.

Solution:

Platforms tested:

AIX 5.1 and Linux 2.4 with parallel enabled.
Misc. update:
2004-12-08 18:33:40 -05:00
MuQun Yang
c20de8aed4 [svn-r9575] Purpose:
Adding testing code for collective IO implementation

Description:
Won't affect testing HDF5 library.
Not tested yet, only check in for debugging purpose.

Solution:

Platforms tested:
Linux 2.4 + mpich 1.2.6
Aix 5.1 + mpcc_r

Misc. update:
2004-11-24 16:13:26 -05:00