Since Parallel Compression operates by applying the filter on a 
per-chunk-basis, this should be consistent with what you're seeing. However, 
zero-sized chunks is a case I had not actually considered yet, and I could 
reasonably see blosc failing due to a zero-sized allocation.


Since reading in the parallel case with filters doesn't affect the metadata, 
the H5D__construct_filtered_io_info_list() function will simply cause each rank 
to construct a local list of all the chunks they have selected in the read 
operation, read their respective chunks into locally-allocated buffers, and 
decompress the data on a chunk-by-chunk basis, scattering it to the read buffer 
along the way. Writing works the same way in that each rank works on their own 
local list of chunks, with the exception that some of the chunks may get 
shifted around before the actual write operation of "pull data from the read 
buffer, decompress the chunk, update the chunk, re-compress the chunk and write 
it" happens. In general, it shouldn't cause an issue that you're reading the 
Dataset with a different number of MPI ranks than it was written with.
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

Reply via email to