I finally found a discussion of this issue in the HDF5 documentation in the Questions section under "How do you write data when one process doesn't have or need to write data ?". The example shows how to use H5Sselect_none() with a memspace and filespace for the case when processors do not write data.

It would be helpful if the documentation for H5Screate_simple() had a note on this usage and its relationship with H5Sselect_none() along with a link or reference to the coll_test.c example.

Thanks,
Brad Aagaard

On 01/28/2011 10:21 AM, Brad Aagaard wrote:
I am trying to write data in parallel to an HDF5 file using collective
I/O. The data is a contiguous chunk and each processor has its own local
memspace, but the field does not span the entire domain so some
processors contribute 0 bytes of information. It is straightforward to
create the filespace and select the hyperslab, but when I try to create
the memspace on processors that have a size of zero I get the error:

H5Screate_simple(): zero sized dimension for non-unlimited dimension

The implementation works fine when all processors contribute more than 0
bytes.

I assume it is possible to do a collective write on a chunk of data in
which some processors contribute 0 bytes of information. How do I create
the filespace and memspace to do this?

Thanks,
Brad Aagaard

_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org



_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Reply via email to