summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlbert Cheng <acheng@hdfgroup.org>2000-11-15 19:59:44 (GMT)
committerAlbert Cheng <acheng@hdfgroup.org>2000-11-15 19:59:44 (GMT)
commite1cd6bcb61b5ec39bcfea7a4ceea37c75b0a1d63 (patch)
tree404d59d87ae4edcb985f37e1543c121b0530e7c7
parent5939bcff41c1de7cf948679b7a08f329b318c238 (diff)
downloadhdf5-e1cd6bcb61b5ec39bcfea7a4ceea37c75b0a1d63.zip
hdf5-e1cd6bcb61b5ec39bcfea7a4ceea37c75b0a1d63.tar.gz
hdf5-e1cd6bcb61b5ec39bcfea7a4ceea37c75b0a1d63.tar.bz2
[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)
-rw-r--r--src/H5FDmpio.c4
-rw-r--r--src/H5Smpio.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/H5FDmpio.c b/src/H5FDmpio.c
index 6549694..aa37e90 100644
--- a/src/H5FDmpio.c
+++ b/src/H5FDmpio.c
@@ -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
diff --git a/src/H5Smpio.c b/src/H5Smpio.c
index ebf033e..63c8ad3 100644
--- a/src/H5Smpio.c
+++ b/src/H5Smpio.c
@@ -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;