diff options
author | Albert Cheng <acheng@hdfgroup.org> | 2000-11-21 20:55:48 (GMT) |
---|---|---|
committer | Albert Cheng <acheng@hdfgroup.org> | 2000-11-21 20:55:48 (GMT) |
commit | 91da899a1fb90400aa4f6afe9953c0be0fc621b8 (patch) | |
tree | a5f0a206dccd9b6a07c37e8c022899dd6abeb4f0 /pablo | |
parent | b9c8954ad9954dea8b6dddbd52559a4c70ccdfcc (diff) | |
download | hdf5-91da899a1fb90400aa4f6afe9953c0be0fc621b8.zip hdf5-91da899a1fb90400aa4f6afe9953c0be0fc621b8.tar.gz hdf5-91da899a1fb90400aa4f6afe9953c0be0fc621b8.tar.bz2 |
[svn-r2990] Purpose:
Bug fix (feature, kind of)
Description:
The library used to hang if a collective dataset read/write request
does not have the same number of eventual MPIO request. Part of the
reason is that H5FD_read/H5FD_write immediately returns succeess
if it sees the request size is 0. This caused problem since other
processes with I/O to do would be hanging by waiting for the early
returned process(es).
Solution:
H5FD.c: disable the early return code in parallel mode. Make it
go on even with "nothing" to transfer.
H5D.c: the optimized MPIO xfer routines can handle collect calls correctly
when the condition is right (e.g., no conversion). When the COLLECTIVE
request cannot be handled correctly without the risk of hanging, the
COLLECTIVE is changed to INDEPENDENT calls for the eventual MPIO
calls.
Platforms tested:
IRIX64 parallel (-64, n32), IRIX64 -64 sequential, Linux sequential.
Diffstat (limited to 'pablo')
0 files changed, 0 insertions, 0 deletions