Matthew Knepley <[email protected]> writes:

> On Wed, Mar 23, 2016 at 2:28 PM, Barry Smith <[email protected]> wrote:
>
>>
>>   Jed and Matt and anyone else who understands the HDF5 viewer
>>
>>        No one has answered this. If I get no response  I am going to
>> assume that PETSc requires HDF5 built with MPI and remove the #if defs in
>> the code.
>>
>
> Are you sure that the Vec code fails when HDF5 is serial? I don't know what
> happens when multiple
> procs use H5Lexists() and friends. Maybe its transactional on the file. It
> does use

Each process uses a different filespace, so metadata conflicts would be
the only possible problem.  I thought it was working as is, but I don't
use the PETSc HDF5 viewer.

>    PetscStackCallHDF5Return(plist_id,H5Pcreate,(H5P_DATASET_XFER));
> #if defined(PETSC_HAVE_H5PSET_FAPL_MPIO)
>   PetscStackCallHDF5(H5Pset_dxpl_mpio,(plist_id, H5FD_MPIO_COLLECTIVE));
> #endif
>
> If it does require MPI, then fine, take out the #ifdefs.

I think that if it doesn't currently work with non-MPI HDF5, it should
be made to work.  If anything, that probably means guarding some calls
with if (!rank).

Attachment: signature.asc
Description: PGP signature

Reply via email to