diff options
author | Albert Cheng <acheng@hdfgroup.org> | 2003-04-18 03:04:56 (GMT) |
---|---|---|
committer | Albert Cheng <acheng@hdfgroup.org> | 2003-04-18 03:04:56 (GMT) |
commit | 49fa61246edc571924884c9cd9a112cec53ade2a (patch) | |
tree | f8fab274e42a41d3fc8de914a16dce20a207b6cf /testpar/Makefile.in | |
parent | 3585f15d915ad6c28abbfc45961db274dccf1684 (diff) | |
download | hdf5-49fa61246edc571924884c9cd9a112cec53ade2a.zip hdf5-49fa61246edc571924884c9cd9a112cec53ade2a.tar.gz hdf5-49fa61246edc571924884c9cd9a112cec53ade2a.tar.bz2 |
[svn-r6709] Purpose:
Bug fixes/API changes
Description:
Previously, the Communicator and Info object arguments supplied
to H5Pset_fapl_mpio() are stored in the property with its handle
values. This meant changes to the communicator or the Info object
after calling H5Pset_fapl_mpio would affect the how the property
list function. This was also the case when H5Fopen/create operated.
They just stored the handle value. This is not according to the
MPI-2 defined behavior of how Info objects should be handled. (MPI-2
defines Info objects must be parsed when called.)
The old design was trying to avoid numerous duplicates of the same
information (e.g., every property object holds one version, every
file opened holds another version, when all of them are referring to
the same original version.) Nevertheless it is safer to implement
it according to MPI-2 definition.
Futhermore, the library often needs to do message passing using the
supplied communicator. Using the same communicator as the application
version may result in some messages mix up.
Solution:
H5Pset_fapl_mpio now stores a duplicate of each of the communicator
and Info object.
H5Pget_fapl_mpio returns a duplicate of its stored communicator and
Info object. It is now the responsibility of the applications to free
those objects when done.
H5Fopen/create also stores a duplicate of the communicator and Info
object supplied by the File Access Property list.
H5Fclose frees those duplicates.
There are a few more internal VFL call back functions that they
follow this "make duplicates" requirement.
Platforms tested:
"h5committested".
What other platforms/configurations were tested?
Eirene (mpicc), sol(mpicc), copper(parallel)
Misc. update:
Need to update MANIFEST for the added t_ph5basic.c which tests the
correctness of duplicated communicator and INFO object.
Diffstat (limited to 'testpar/Makefile.in')
-rw-r--r-- | testpar/Makefile.in | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/testpar/Makefile.in b/testpar/Makefile.in index e28feae..15cf109 100644 --- a/testpar/Makefile.in +++ b/testpar/Makefile.in @@ -1,6 +1,5 @@ ## hdf5 Parallel Library Test Makefile(.in) ## -## ## Copyright by the Board of Trustees of the University of Illinois. ## All rights reserved. ## @@ -29,7 +28,7 @@ RUNTEST=$(RUNPARALLEL) ## Test programs and scripts. ## -TEST_PROGS_PARA=t_mpi +TEST_PROGS_PARA=t_mpi t_fphdf5 TEST_SCRIPTS=testph5.sh ## These are our main targets @@ -40,7 +39,7 @@ MOSTLYCLEAN=ParaEg[123].h5f DISTCLEAN=go Makefile testph5.sh ## Test source files -TEST_PHDF5_SRC=testphdf5.c t_dset.c t_file.c t_mdset.c +TEST_PHDF5_SRC=testphdf5.c t_dset.c t_file.c t_mdset.c t_ph5basic.c TEST_PHDF5_OBJ=$(TEST_PHDF5_SRC:.c=.lo) TEST_SRC=t_mpi.c $(TEST_PHDF5_SRC) TEST_OBJ=$(TEST_SRC:.c=.lo) @@ -51,6 +50,9 @@ $(PROGS): $(LIBHDF5) $(LIBH5TEST) $(TEST_OBJ): $(TEST_HDR) +t_fphdf5: t_fphdf5.lo + @$(LT_LINK_EXE) $(CFLAGS) -o $@ t_fphdf5.lo $(LIBH5TEST) $(LIBHDF5) $(LDFLAGS) $(LIBS) + t_mpi: t_mpi.lo @$(LT_LINK_EXE) $(CFLAGS) -o $@ t_mpi.lo $(LIBH5TEST) $(LIBHDF5) $(LDFLAGS) $(LIBS) |