mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-23 16:20:57 +08:00
[svn-r2935] Purpose:
Bug fix Description: The optimized MPIO code was not working with the TFLOPS machine. It kept reporting "can't convert from size to size_i" errors in H5FD_mpio_write() and H5FD_mpio_read(). Solution: The error was actually in H5S_mpio_spaces_xfer() in H5Smpio.c in which the variable mpi_count was declared as size_t (only 4 bytes big in TFLOPS) when it should be hsize_t (8 bytes big in TFLOPS). Corrected and also changed to use the (hsize_t) to case size_i in H5FD_mpio_write() and H5FD_mpio_read() since that is what it should be. Platforms tested: TFLOPS and modi4 (-64, parallel)
This commit is contained in:
parent
5939bcff41
commit
e1cd6bcb61
@ -1088,7 +1088,7 @@ H5FD_mpio_read(H5FD_t *_file, H5FD_mem_t UNUSED type, hid_t dxpl_id, haddr_t add
|
||||
if (haddr_to_MPIOff(addr, &mpi_off/*out*/)<0)
|
||||
HRETURN_ERROR(H5E_INTERNAL, H5E_BADRANGE, FAIL, "can't convert from haddr to MPI off");
|
||||
size_i = (int)size;
|
||||
if ((size_t)size_i != size)
|
||||
if ((hsize_t)size_i != size)
|
||||
HRETURN_ERROR(H5E_INTERNAL, H5E_BADRANGE, FAIL, "can't convert from size to size_i");
|
||||
|
||||
#ifdef H5FDmpio_DEBUG
|
||||
@ -1330,7 +1330,7 @@ H5FD_mpio_write(H5FD_t *_file, H5FD_mem_t UNUSED type, hid_t dxpl_id/*unused*/,
|
||||
if (haddr_to_MPIOff(file->disp, &mpi_disp)<0)
|
||||
HRETURN_ERROR(H5E_INTERNAL, H5E_BADRANGE, FAIL, "can't convert from haddr to MPI off");
|
||||
size_i = (int)size;
|
||||
if ((size_t)size_i != size)
|
||||
if ((hsize_t)size_i != size)
|
||||
HRETURN_ERROR(H5E_INTERNAL, H5E_BADRANGE, FAIL, "can't convert from size to size_i");
|
||||
|
||||
#ifdef H5FDmpio_DEBUG
|
||||
|
@ -549,7 +549,7 @@ H5S_mpio_spaces_xfer(H5F_t *f, const struct H5O_layout_t *layout,
|
||||
herr_t ret_value = SUCCEED;
|
||||
int err;
|
||||
haddr_t disp, addr;
|
||||
size_t mpi_count;
|
||||
hsize_t mpi_count;
|
||||
hsize_t mpi_buf_count, mpi_unused_count;
|
||||
MPI_Datatype mpi_buf_type, mpi_file_type;
|
||||
hbool_t mbt_is_derived, mft_is_derived;
|
||||
|
Loading…
Reference in New Issue
Block a user