squash cast warning fix
This commit is contained in:
@@ -251,7 +251,7 @@ do_pio(parameters param)
|
||||
}
|
||||
|
||||
if (!param.dim2d){
|
||||
if(((snbytes/pio_mpi_nprocs_g)%buf_size)!=0) {
|
||||
if(((size_t)(snbytes/pio_mpi_nprocs_g)%buf_size)!=0) {
|
||||
HDfprintf(stderr,
|
||||
"Dataset size/process (%" H5_PRINTF_LL_WIDTH "d) must be a multiple of the "
|
||||
"trasfer buffer size (%zu)\n",
|
||||
@@ -260,7 +260,7 @@ do_pio(parameters param)
|
||||
}
|
||||
}
|
||||
else {
|
||||
if((snbytes%buf_size)!=0) {
|
||||
if(((size_t)snbytes%buf_size)!=0) {
|
||||
HDfprintf(stderr,
|
||||
"Dataset side size (%" H5_PRINTF_LL_WIDTH "d) must be a multiple of the "
|
||||
"trasfer buffer size (%zu)\n",
|
||||
@@ -580,7 +580,7 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
} /* end if */
|
||||
/* Interleaved Pattern: */
|
||||
else {
|
||||
bytes_begin[0] = (off_t)(blk_size*pio_mpi_rank_g);
|
||||
bytes_begin[0] = (off_t)(blk_size*(size_t)pio_mpi_rank_g);
|
||||
} /* end else */
|
||||
|
||||
/* Prepare buffer for verifying data */
|
||||
@@ -604,9 +604,9 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
bytes_begin[0] = 0;
|
||||
|
||||
if(!parms->h5_use_chunks || parms->io_type==PHDF5)
|
||||
bytes_begin[1] = (off_t)(blk_size*pio_mpi_rank_g);
|
||||
bytes_begin[1] = (off_t)(blk_size*(size_t)pio_mpi_rank_g);
|
||||
else
|
||||
bytes_begin[1] = (off_t)(blk_size*blk_size*pio_mpi_rank_g);
|
||||
bytes_begin[1] = (off_t)(blk_size*blk_size*(size_t)pio_mpi_rank_g);
|
||||
} /* end else */
|
||||
|
||||
/* Prepare buffer for verifying data */
|
||||
@@ -684,7 +684,7 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT");
|
||||
|
||||
/* Build contiguous file's derived type */
|
||||
mrc = MPI_Type_vector((int)blk_size, (int)1, (int)(snbytes/buf_size),
|
||||
mrc = MPI_Type_vector((int)blk_size, (int)1, (int)((size_t)snbytes/buf_size),
|
||||
mpi_partial_buffer_cont, &mpi_cont_type);
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE");
|
||||
|
||||
@@ -702,7 +702,7 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT");
|
||||
|
||||
/* Build interleaved file's derived type */
|
||||
mrc = MPI_Type_vector((int)buf_size, (int)1, (int)(snbytes/blk_size),
|
||||
mrc = MPI_Type_vector((int)buf_size, (int)1, (int)((size_t)snbytes/blk_size),
|
||||
mpi_partial_buffer_inter, &mpi_inter_type);
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE");
|
||||
|
||||
@@ -729,7 +729,7 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT");
|
||||
|
||||
/* Build chunk interleaved file's derived type */
|
||||
mrc = MPI_Type_vector((int)(buf_size/blk_size), (int)1, (int)(snbytes/blk_size),
|
||||
mrc = MPI_Type_vector((int)(buf_size/blk_size), (int)1, (int)((size_t)snbytes/blk_size),
|
||||
mpi_full_chunk, &mpi_chunk_inter_type);
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE");
|
||||
|
||||
@@ -745,22 +745,22 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
if (!parms->dim2d){
|
||||
if(nbytes>0) {
|
||||
/* define a contiguous dataset of nbytes native bytes */
|
||||
h5dims[0] = nbytes;
|
||||
h5dims[0] = (hsize_t)nbytes;
|
||||
h5dset_space_id = H5Screate_simple(1, h5dims, NULL);
|
||||
VRFY((h5dset_space_id >= 0), "H5Screate_simple");
|
||||
|
||||
/* Set up the file dset space id to select the pattern to access */
|
||||
if (!parms->interleaved){
|
||||
/* Contiguous pattern */
|
||||
h5start[0] = bytes_begin[0];
|
||||
h5start[0] = (hsize_t)bytes_begin[0];
|
||||
h5stride[0] = h5block[0] = blk_size;
|
||||
h5count[0] = buf_size/blk_size;
|
||||
} /* end if */
|
||||
else {
|
||||
/* Interleaved access pattern */
|
||||
/* Skip offset over blocks of other processes */
|
||||
h5start[0] = bytes_begin[0];
|
||||
h5stride[0] = blk_size*pio_mpi_nprocs_g;
|
||||
h5start[0] = (hsize_t)bytes_begin[0];
|
||||
h5stride[0] = blk_size*(size_t)pio_mpi_nprocs_g;
|
||||
h5block[0] = blk_size;
|
||||
h5count[0] = buf_size/blk_size;
|
||||
} /* end else */
|
||||
@@ -788,16 +788,16 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
else {
|
||||
if(nbytes>0) {
|
||||
/* define a contiguous dataset of nbytes native bytes */
|
||||
h5dims[0] = snbytes;
|
||||
h5dims[1] = snbytes;
|
||||
h5dims[0] = (hsize_t)snbytes;
|
||||
h5dims[1] = (hsize_t)snbytes;
|
||||
h5dset_space_id = H5Screate_simple(2, h5dims, NULL);
|
||||
VRFY((h5dset_space_id >= 0), "H5Screate_simple");
|
||||
|
||||
/* Set up the file dset space id to select the pattern to access */
|
||||
if (!parms->interleaved){
|
||||
/* Contiguous pattern */
|
||||
h5start[0] = bytes_begin[0];
|
||||
h5start[1] = bytes_begin[1];
|
||||
h5start[0] = (hsize_t)bytes_begin[0];
|
||||
h5start[1] = (hsize_t)bytes_begin[1];
|
||||
h5stride[0] = 1;
|
||||
h5stride[1] = h5block[0] = h5block[1] = blk_size;
|
||||
h5count[0] = 1;
|
||||
@@ -806,10 +806,10 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
else {
|
||||
/* Interleaved access pattern */
|
||||
/* Skip offset over blocks of other processes */
|
||||
h5start[0] = bytes_begin[0];
|
||||
h5start[1] = bytes_begin[1];
|
||||
h5start[0] = (hsize_t)bytes_begin[0];
|
||||
h5start[1] = (hsize_t)bytes_begin[1];
|
||||
h5stride[0] = blk_size;
|
||||
h5stride[1] = blk_size*pio_mpi_nprocs_g;
|
||||
h5stride[1] = blk_size*(size_t)pio_mpi_nprocs_g;
|
||||
h5block[0] = h5block[1] = blk_size;
|
||||
h5count[0] = buf_size/blk_size;
|
||||
h5count[1] = 1;
|
||||
@@ -973,7 +973,7 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((rc != 0), "POSIXWRITE");
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=buf_size;
|
||||
nbytes_xfer+=(ssize_t)buf_size;
|
||||
} /* end if */
|
||||
/* Interleaved access pattern */
|
||||
else {
|
||||
@@ -1002,7 +1002,7 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
buf_p+=blk_size;
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=blk_size;
|
||||
nbytes_xfer+=(ssize_t)blk_size;
|
||||
|
||||
/* Decrement number of bytes left this time */
|
||||
nbytes_toxfer-=blk_size;
|
||||
@@ -1016,8 +1016,8 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
/* Contiguous access pattern */
|
||||
if (!parms->interleaved) {
|
||||
/* Compute file offset */
|
||||
file_offset=posix_file_offset+(off_t)(((nbytes_xfer/blk_size)
|
||||
/snbytes)*(blk_size*snbytes)+((nbytes_xfer/blk_size)%snbytes));
|
||||
file_offset=posix_file_offset+(off_t)((((size_t)nbytes_xfer/blk_size)
|
||||
/(size_t)snbytes)*(blk_size*(size_t)snbytes)+(((size_t)nbytes_xfer/blk_size)%(size_t)snbytes));
|
||||
|
||||
/* Number of bytes to be transferred per I/O operation */
|
||||
nbytes_xfer_advance = buf_size;
|
||||
@@ -1028,9 +1028,9 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
/* Interleaved access pattern */
|
||||
else {
|
||||
/* Compute file offset */
|
||||
file_offset=posix_file_offset+(off_t)((((nbytes_xfer/buf_size)
|
||||
*pio_mpi_nprocs_g)/snbytes)*(buf_size*snbytes)
|
||||
+((nbytes_xfer/buf_size)*pio_mpi_nprocs_g)%snbytes);
|
||||
file_offset=posix_file_offset+(off_t)(((((size_t)nbytes_xfer/buf_size)
|
||||
*(size_t)pio_mpi_nprocs_g)/(size_t)snbytes)*(buf_size*(size_t)snbytes)
|
||||
+(((size_t)nbytes_xfer/buf_size)*(size_t)pio_mpi_nprocs_g)%(size_t)snbytes);
|
||||
|
||||
/* Number of bytes to be transferred per I/O operation */
|
||||
nbytes_xfer_advance = blk_size;
|
||||
@@ -1061,16 +1061,16 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
*snbytes/blk_size*(blk_size*blk_size))+((nbytes_xfer/(buf_size/blk_size))
|
||||
*pio_mpi_nprocs_g)%(snbytes/blk_size*(blk_size*blk_size))); */
|
||||
|
||||
file_offset=posix_file_offset+(off_t)(((nbytes_xfer/(buf_size/blk_size)
|
||||
*pio_mpi_nprocs_g)/(snbytes*blk_size))*(buf_size*snbytes)+((nbytes_xfer/(buf_size/blk_size))
|
||||
*pio_mpi_nprocs_g)%(snbytes*blk_size));
|
||||
file_offset=posix_file_offset+(off_t)((((size_t)nbytes_xfer/(buf_size/blk_size)
|
||||
*(size_t)pio_mpi_nprocs_g)/((size_t)snbytes*blk_size))*(buf_size*(size_t)snbytes)+(((size_t)nbytes_xfer/(buf_size/blk_size))
|
||||
*(size_t)pio_mpi_nprocs_g)%((size_t)snbytes*blk_size));
|
||||
|
||||
/* Number of bytes to be transferred per I/O operation */
|
||||
nbytes_xfer_advance = blk_size * blk_size;
|
||||
|
||||
/* Global offset advance after each I/O operation */
|
||||
/* file_offset_advance = (off_t)(snbytes/blk_size*(blk_size*blk_size)); */
|
||||
file_offset_advance = (off_t)(snbytes*blk_size);
|
||||
file_offset_advance = (off_t)snbytes*(off_t)blk_size;
|
||||
} /* end else */
|
||||
} /* end else */
|
||||
|
||||
@@ -1097,7 +1097,7 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
buf_p+=nbytes_xfer_advance;
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=nbytes_xfer_advance;
|
||||
nbytes_xfer+=(ssize_t)nbytes_xfer_advance;
|
||||
|
||||
/* Decrement number of bytes left this time */
|
||||
nbytes_toxfer-=nbytes_xfer_advance;
|
||||
@@ -1128,7 +1128,7 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_WRITE");
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=buf_size;
|
||||
nbytes_xfer+=(ssize_t)buf_size;
|
||||
} /* end if */
|
||||
/* Interleaved access pattern */
|
||||
else {
|
||||
@@ -1153,7 +1153,7 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
buf_p+=blk_size;
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=blk_size;
|
||||
nbytes_xfer+=(ssize_t)blk_size;
|
||||
|
||||
/* Decrement number of bytes left this time */
|
||||
nbytes_toxfer-=blk_size;
|
||||
@@ -1174,7 +1174,7 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_WRITE");
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=buf_size;
|
||||
nbytes_xfer+=(ssize_t)buf_size;
|
||||
} /* end if */
|
||||
/* Interleaved access pattern */
|
||||
else {
|
||||
@@ -1193,7 +1193,7 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_WRITE");
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=buf_size;
|
||||
nbytes_xfer+=(ssize_t)buf_size;
|
||||
} /* end else */
|
||||
} /* end else */
|
||||
} /* end if */
|
||||
@@ -1204,8 +1204,8 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
/* Contiguous access pattern */
|
||||
if (!parms->interleaved) {
|
||||
/* Compute offset in file */
|
||||
mpi_offset=mpi_file_offset+((nbytes_xfer/blk_size)/snbytes)*
|
||||
(blk_size*snbytes)+((nbytes_xfer/blk_size)%snbytes);
|
||||
mpi_offset=mpi_file_offset+(MPI_Offset)((((size_t)nbytes_xfer/blk_size)/(size_t)snbytes)*
|
||||
(blk_size*(size_t)snbytes))+(MPI_Offset)(((size_t)nbytes_xfer/blk_size)%(size_t)snbytes);
|
||||
|
||||
/* Number of bytes to be transferred per I/O operation */
|
||||
nbytes_xfer_advance = buf_size;
|
||||
@@ -1219,8 +1219,8 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
/* Interleaved access pattern */
|
||||
else {
|
||||
/* Compute offset in file */
|
||||
mpi_offset=mpi_file_offset+(((nbytes_xfer/buf_size)*pio_mpi_nprocs_g)/snbytes)*
|
||||
(buf_size*snbytes)+((nbytes_xfer/buf_size)*pio_mpi_nprocs_g)%snbytes;
|
||||
mpi_offset=mpi_file_offset+(MPI_Offset)(((((size_t)nbytes_xfer/buf_size)*(size_t)pio_mpi_nprocs_g)/(size_t)snbytes)*
|
||||
(buf_size*(size_t)snbytes))+(MPI_Offset)((((size_t)nbytes_xfer/buf_size)*(size_t)pio_mpi_nprocs_g)%(size_t)snbytes);
|
||||
|
||||
/* Number of bytes to be transferred per I/O operation */
|
||||
nbytes_xfer_advance = blk_size;
|
||||
@@ -1257,16 +1257,16 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
(buf_size/blk_size*snbytes/blk_size*(blk_size*blk_size))+
|
||||
((nbytes_xfer/(buf_size/blk_size))*pio_mpi_nprocs_g)%(snbytes
|
||||
/blk_size*(blk_size*blk_size)); */
|
||||
mpi_offset=mpi_file_offset+((nbytes_xfer/(buf_size/blk_size)
|
||||
*pio_mpi_nprocs_g)/(snbytes*blk_size))*(buf_size*snbytes)
|
||||
+((nbytes_xfer/(buf_size/blk_size))*pio_mpi_nprocs_g)%(snbytes*blk_size);
|
||||
mpi_offset=mpi_file_offset+(MPI_Offset)((((size_t)nbytes_xfer/(buf_size/blk_size)
|
||||
*(size_t)pio_mpi_nprocs_g)/((size_t)snbytes*blk_size))*(buf_size*(size_t)snbytes))
|
||||
+(MPI_Offset)((((size_t)nbytes_xfer/(buf_size/blk_size))*(size_t)pio_mpi_nprocs_g)%((size_t)snbytes*blk_size));
|
||||
|
||||
/* Number of bytes to be transferred per I/O operation */
|
||||
nbytes_xfer_advance = blk_size * blk_size;
|
||||
|
||||
/* Global offset advance after each I/O operation */
|
||||
/* mpi_offset_advance = (MPI_Offset)(snbytes/blk_size*(blk_size*blk_size)); */
|
||||
mpi_offset_advance = (MPI_Offset)(snbytes*blk_size);
|
||||
mpi_offset_advance = (MPI_Offset)((size_t)snbytes*blk_size);
|
||||
|
||||
/* MPI type to be used for collective access */
|
||||
mpi_collective_type = mpi_chunk_inter_type;
|
||||
@@ -1292,7 +1292,7 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
buf_p+=nbytes_xfer_advance;
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=nbytes_xfer_advance;
|
||||
nbytes_xfer+=(ssize_t)nbytes_xfer_advance;
|
||||
|
||||
/* Decrement number of bytes left this time */
|
||||
nbytes_toxfer-=nbytes_xfer_advance;
|
||||
@@ -1315,7 +1315,7 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_WRITE");
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=buf_size*blk_size;
|
||||
nbytes_xfer+=(off_t)buf_size*(off_t)blk_size;
|
||||
} /* end else */
|
||||
|
||||
} /* end else */
|
||||
@@ -1344,22 +1344,22 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((hrc >= 0), "H5Dwrite");
|
||||
|
||||
/* Increment number of bytes transferred */
|
||||
nbytes_xfer += buf_size;
|
||||
nbytes_xfer += (ssize_t)buf_size;
|
||||
} /* end if */
|
||||
/* 2D dataspace */
|
||||
else {
|
||||
/* Set up the file dset space id to move the selection to process */
|
||||
if (!parms->interleaved){
|
||||
/* Contiguous pattern */
|
||||
h5offset[0] = (nbytes_xfer/(snbytes*blk_size))*blk_size;
|
||||
h5offset[1] = (nbytes_xfer%(snbytes*blk_size))/blk_size;
|
||||
h5offset[0] = (hssize_t)(((size_t)nbytes_xfer/((size_t)snbytes*blk_size))*blk_size);
|
||||
h5offset[1] = (hssize_t)(((size_t)nbytes_xfer%((size_t)snbytes*blk_size))/blk_size);
|
||||
|
||||
} /* end if */
|
||||
else {
|
||||
/* Interleaved access pattern */
|
||||
/* Skip offset over blocks of other processes */
|
||||
h5offset[0] = ((nbytes_xfer*pio_mpi_nprocs_g)/(snbytes*buf_size))*buf_size;
|
||||
h5offset[1] = ((nbytes_xfer*pio_mpi_nprocs_g)%(snbytes*buf_size))/buf_size;
|
||||
h5offset[0] = (hssize_t)((((size_t)nbytes_xfer*(size_t)pio_mpi_nprocs_g)/((size_t)snbytes*buf_size))*buf_size);
|
||||
h5offset[1] = (hssize_t)((((size_t)nbytes_xfer*(size_t)pio_mpi_nprocs_g)%((size_t)snbytes*buf_size))/buf_size);
|
||||
|
||||
} /* end else */
|
||||
hrc = H5Soffset_simple(h5dset_space_id, h5offset);
|
||||
@@ -1371,7 +1371,7 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((hrc >= 0), "H5Dwrite");
|
||||
|
||||
/* Increment number of bytes transferred */
|
||||
nbytes_xfer += buf_size*blk_size;
|
||||
nbytes_xfer += (off_t)buf_size*(off_t)blk_size;
|
||||
|
||||
} /* end else */
|
||||
|
||||
@@ -1560,7 +1560,7 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
} /* end if */
|
||||
/* Interleaved Pattern: */
|
||||
else {
|
||||
bytes_begin[0] = (off_t)(blk_size*pio_mpi_rank_g);
|
||||
bytes_begin[0] = (off_t)blk_size*(off_t)pio_mpi_rank_g;
|
||||
} /* end else */
|
||||
}/* end if */
|
||||
/* 2D dataspace */
|
||||
@@ -1582,9 +1582,9 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
bytes_begin[0] = 0;
|
||||
|
||||
if (!parms->h5_use_chunks || parms->io_type==PHDF5)
|
||||
bytes_begin[1] = (off_t)(blk_size*pio_mpi_rank_g);
|
||||
bytes_begin[1] = (off_t)blk_size*(off_t)pio_mpi_rank_g;
|
||||
else
|
||||
bytes_begin[1] = (off_t)(blk_size*blk_size*pio_mpi_rank_g);
|
||||
bytes_begin[1] = (off_t)blk_size*(off_t)blk_size*(off_t)pio_mpi_rank_g;
|
||||
} /* end else */
|
||||
} /* end else */
|
||||
|
||||
@@ -1656,7 +1656,7 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT");
|
||||
|
||||
/* Build contiguous file's derived type */
|
||||
mrc = MPI_Type_vector((int)blk_size, (int)1, (int)(snbytes/buf_size),
|
||||
mrc = MPI_Type_vector((int)blk_size, (int)1, (int)((size_t)snbytes/buf_size),
|
||||
mpi_partial_buffer_cont, &mpi_cont_type);
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE");
|
||||
|
||||
@@ -1674,7 +1674,7 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT");
|
||||
|
||||
/* Build interleaved file's derived type */
|
||||
mrc = MPI_Type_vector((int)buf_size, (int)1, (int)(snbytes/blk_size),
|
||||
mrc = MPI_Type_vector((int)buf_size, (int)1, (int)((size_t)snbytes/blk_size),
|
||||
mpi_partial_buffer_inter, &mpi_inter_type);
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE");
|
||||
|
||||
@@ -1701,7 +1701,7 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT");
|
||||
|
||||
/* Build chunk interleaved file's derived type */
|
||||
mrc = MPI_Type_vector((int)(buf_size/blk_size), (int)1, (int)(snbytes/blk_size),
|
||||
mrc = MPI_Type_vector((int)(buf_size/blk_size), (int)1, (int)((size_t)snbytes/blk_size),
|
||||
mpi_full_chunk, &mpi_chunk_inter_type);
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE");
|
||||
|
||||
@@ -1716,22 +1716,22 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
if (!parms->dim2d){
|
||||
if(nbytes>0) {
|
||||
/* define a contiguous dataset of nbytes native bytes */
|
||||
h5dims[0] = nbytes;
|
||||
h5dims[0] = (hsize_t)nbytes;
|
||||
h5dset_space_id = H5Screate_simple(1, h5dims, NULL);
|
||||
VRFY((h5dset_space_id >= 0), "H5Screate_simple");
|
||||
|
||||
/* Set up the file dset space id to select the pattern to access */
|
||||
if (!parms->interleaved){
|
||||
/* Contiguous pattern */
|
||||
h5start[0] = bytes_begin[0];
|
||||
h5start[0] = (hsize_t)bytes_begin[0];
|
||||
h5stride[0] = h5block[0] = blk_size;
|
||||
h5count[0] = buf_size/blk_size;
|
||||
} /* end if */
|
||||
else {
|
||||
/* Interleaved access pattern */
|
||||
/* Skip offset over blocks of other processes */
|
||||
h5start[0] = bytes_begin[0];
|
||||
h5stride[0] = blk_size*pio_mpi_nprocs_g;
|
||||
h5start[0] = (hsize_t)bytes_begin[0];
|
||||
h5stride[0] = blk_size*(size_t)pio_mpi_nprocs_g;
|
||||
h5block[0] = blk_size;
|
||||
h5count[0] = buf_size/blk_size;
|
||||
} /* end else */
|
||||
@@ -1759,16 +1759,16 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
else {
|
||||
if(nbytes>0) {
|
||||
/* define a contiguous dataset of nbytes native bytes */
|
||||
h5dims[0] = snbytes;
|
||||
h5dims[1] = snbytes;
|
||||
h5dims[0] = (hsize_t)snbytes;
|
||||
h5dims[1] = (hsize_t)snbytes;
|
||||
h5dset_space_id = H5Screate_simple(2, h5dims, NULL);
|
||||
VRFY((h5dset_space_id >= 0), "H5Screate_simple");
|
||||
|
||||
/* Set up the file dset space id to select the pattern to access */
|
||||
if (!parms->interleaved){
|
||||
/* Contiguous pattern */
|
||||
h5start[0] = bytes_begin[0];
|
||||
h5start[1] = bytes_begin[1];
|
||||
h5start[0] = (hsize_t)bytes_begin[0];
|
||||
h5start[1] = (hsize_t)bytes_begin[1];
|
||||
h5stride[0] = 1;
|
||||
h5stride[1] = h5block[0] = h5block[1] = blk_size;
|
||||
h5count[0] = 1;
|
||||
@@ -1777,10 +1777,10 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
else {
|
||||
/* Interleaved access pattern */
|
||||
/* Skip offset over blocks of other processes */
|
||||
h5start[0] = bytes_begin[0];
|
||||
h5start[1] = bytes_begin[1];
|
||||
h5start[0] = (hsize_t)bytes_begin[0];
|
||||
h5start[1] = (hsize_t)bytes_begin[1];
|
||||
h5stride[0] = blk_size;
|
||||
h5stride[1] = blk_size*pio_mpi_nprocs_g;
|
||||
h5stride[1] = blk_size*(size_t)pio_mpi_nprocs_g;
|
||||
h5block[0] = h5block[1] = blk_size;
|
||||
h5count[0] = buf_size/blk_size;
|
||||
h5count[1] = 1;
|
||||
@@ -1904,7 +1904,7 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((rc != 0), "POSIXREAD");
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=buf_size;
|
||||
nbytes_xfer+=(off_t)buf_size;
|
||||
} /* end if */
|
||||
/* Interleaved access pattern */
|
||||
else {
|
||||
@@ -1933,7 +1933,7 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
buf_p+=blk_size;
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=blk_size;
|
||||
nbytes_xfer+=(off_t)blk_size;
|
||||
|
||||
/* Decrement number of bytes left this time */
|
||||
nbytes_toxfer-=blk_size;
|
||||
@@ -1947,8 +1947,8 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
/* Contiguous access pattern */
|
||||
if (!parms->interleaved) {
|
||||
/* Compute file offset */
|
||||
file_offset=posix_file_offset+(off_t)(((nbytes_xfer/blk_size)
|
||||
/snbytes)*(blk_size*snbytes)+((nbytes_xfer/blk_size)%snbytes));
|
||||
file_offset=posix_file_offset+(off_t)((((size_t)nbytes_xfer/blk_size)
|
||||
/(size_t)snbytes)*(blk_size*(size_t)snbytes)+(((size_t)nbytes_xfer/blk_size)%(size_t)snbytes));
|
||||
|
||||
/* Number of bytes to be transferred per I/O operation */
|
||||
nbytes_xfer_advance = buf_size;
|
||||
@@ -1959,9 +1959,9 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
/* Interleaved access pattern */
|
||||
else {
|
||||
/* Compute file offset */
|
||||
file_offset=posix_file_offset+(off_t)((((nbytes_xfer/buf_size)
|
||||
*pio_mpi_nprocs_g)/snbytes)*(buf_size*snbytes)
|
||||
+((nbytes_xfer/buf_size)*pio_mpi_nprocs_g)%snbytes);
|
||||
file_offset=posix_file_offset+(off_t)(((((size_t)nbytes_xfer/buf_size)
|
||||
*(size_t)pio_mpi_nprocs_g)/(size_t)snbytes)*(buf_size*(size_t)snbytes)
|
||||
+(((size_t)nbytes_xfer/buf_size)*(size_t)pio_mpi_nprocs_g)%(size_t)snbytes);
|
||||
|
||||
/* Number of bytes to be transferred per I/O operation */
|
||||
nbytes_xfer_advance = blk_size;
|
||||
@@ -1992,16 +1992,16 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
*snbytes/blk_size*(blk_size*blk_size))+((nbytes_xfer/(buf_size/blk_size))
|
||||
*pio_mpi_nprocs_g)%(snbytes/blk_size*(blk_size*blk_size))); */
|
||||
|
||||
file_offset=posix_file_offset+(off_t)(((nbytes_xfer/(buf_size/blk_size)
|
||||
*pio_mpi_nprocs_g)/(snbytes*blk_size))*(buf_size*snbytes)+((nbytes_xfer/(buf_size/blk_size))
|
||||
*pio_mpi_nprocs_g)%(snbytes*blk_size));
|
||||
file_offset=posix_file_offset+(off_t)((((size_t)nbytes_xfer/(buf_size/blk_size)
|
||||
*(size_t)pio_mpi_nprocs_g)/((size_t)snbytes*blk_size))*(buf_size*(size_t)snbytes)+(((size_t)nbytes_xfer/(buf_size/blk_size))
|
||||
*(size_t)pio_mpi_nprocs_g)%((size_t)snbytes*blk_size));
|
||||
|
||||
/* Number of bytes to be transferred per I/O operation */
|
||||
nbytes_xfer_advance = blk_size * blk_size;
|
||||
|
||||
/* Global offset advance after each I/O operation */
|
||||
/* file_offset_advance = (off_t)(snbytes/blk_size*(blk_size*blk_size)); */
|
||||
file_offset_advance = (off_t)(snbytes*blk_size);
|
||||
file_offset_advance = (off_t)((size_t)snbytes*blk_size);
|
||||
} /* end else */
|
||||
} /* end else */
|
||||
|
||||
@@ -2028,7 +2028,7 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
buf_p+=nbytes_xfer_advance;
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=nbytes_xfer_advance;
|
||||
nbytes_xfer+=(off_t)nbytes_xfer_advance;
|
||||
|
||||
/* Decrement number of bytes left this time */
|
||||
nbytes_toxfer-=nbytes_xfer_advance;
|
||||
@@ -2058,7 +2058,7 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_READ");
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=buf_size;
|
||||
nbytes_xfer+=(off_t)buf_size;
|
||||
} /* end if */
|
||||
/* Interleaved access pattern */
|
||||
else {
|
||||
@@ -2083,7 +2083,7 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
buf_p+=blk_size;
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=blk_size;
|
||||
nbytes_xfer+=(off_t)blk_size;
|
||||
|
||||
/* Decrement number of bytes left this time */
|
||||
nbytes_toxfer-=blk_size;
|
||||
@@ -2104,7 +2104,7 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_READ");
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=buf_size;
|
||||
nbytes_xfer+=(off_t)buf_size;
|
||||
} /* end if */
|
||||
/* Interleaved access pattern */
|
||||
else {
|
||||
@@ -2123,7 +2123,7 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_READ");
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=buf_size;
|
||||
nbytes_xfer+=(off_t)buf_size;
|
||||
} /* end else */
|
||||
} /* end else */
|
||||
} /* end if */
|
||||
@@ -2134,8 +2134,8 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
/* Contiguous access pattern */
|
||||
if (!parms->interleaved) {
|
||||
/* Compute offset in file */
|
||||
mpi_offset=mpi_file_offset+((nbytes_xfer/blk_size)/snbytes)*
|
||||
(blk_size*snbytes)+((nbytes_xfer/blk_size)%snbytes);
|
||||
mpi_offset=mpi_file_offset+(MPI_Offset)((((size_t)nbytes_xfer/blk_size)/(size_t)snbytes)*
|
||||
(blk_size*(size_t)snbytes))+(MPI_Offset)(((size_t)nbytes_xfer/blk_size)%(size_t)snbytes);
|
||||
|
||||
/* Number of bytes to be transferred per I/O operation */
|
||||
nbytes_xfer_advance = buf_size;
|
||||
@@ -2149,8 +2149,8 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
/* Interleaved access pattern */
|
||||
else {
|
||||
/* Compute offset in file */
|
||||
mpi_offset=mpi_file_offset+(((nbytes_xfer/buf_size)*pio_mpi_nprocs_g)/snbytes)*
|
||||
(buf_size*snbytes)+((nbytes_xfer/buf_size)*pio_mpi_nprocs_g)%snbytes;
|
||||
mpi_offset=mpi_file_offset+(MPI_Offset)(((((size_t)nbytes_xfer/buf_size)*(size_t)pio_mpi_nprocs_g)/(size_t)snbytes)*
|
||||
(buf_size*(size_t)snbytes))+(MPI_Offset)((((size_t)nbytes_xfer/buf_size)*(size_t)pio_mpi_nprocs_g)%(size_t)snbytes);
|
||||
|
||||
/* Number of bytes to be transferred per I/O operation */
|
||||
nbytes_xfer_advance = blk_size;
|
||||
@@ -2187,16 +2187,16 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
(buf_size/blk_size*snbytes/blk_size*(blk_size*blk_size))+
|
||||
((nbytes_xfer/(buf_size/blk_size))*pio_mpi_nprocs_g)%(snbytes
|
||||
/blk_size*(blk_size*blk_size)); */
|
||||
mpi_offset=mpi_file_offset+((nbytes_xfer/(buf_size/blk_size)
|
||||
*pio_mpi_nprocs_g)/(snbytes*blk_size))*(buf_size*snbytes)
|
||||
+((nbytes_xfer/(buf_size/blk_size))*pio_mpi_nprocs_g)%(snbytes*blk_size);
|
||||
mpi_offset=mpi_file_offset+(MPI_Offset)((((size_t)nbytes_xfer/(buf_size/blk_size)
|
||||
*(size_t)pio_mpi_nprocs_g)/((size_t)snbytes*blk_size))*(buf_size*(size_t)snbytes))
|
||||
+(MPI_Offset)((((size_t)nbytes_xfer/(buf_size/blk_size))*(size_t)pio_mpi_nprocs_g)%((size_t)snbytes*blk_size));
|
||||
|
||||
/* Number of bytes to be transferred per I/O operation */
|
||||
nbytes_xfer_advance = blk_size * blk_size;
|
||||
|
||||
/* Global offset advance after each I/O operation */
|
||||
/* mpi_offset_advance = (MPI_Offset)(snbytes/blk_size*(blk_size*blk_size)); */
|
||||
mpi_offset_advance = (MPI_Offset)(snbytes*blk_size);
|
||||
mpi_offset_advance = (MPI_Offset)((size_t)snbytes*blk_size);
|
||||
|
||||
/* MPI type to be used for collective access */
|
||||
mpi_collective_type = mpi_chunk_inter_type;
|
||||
@@ -2222,7 +2222,7 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
buf_p+=nbytes_xfer_advance;
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=nbytes_xfer_advance;
|
||||
nbytes_xfer+=(off_t)nbytes_xfer_advance;
|
||||
|
||||
/* Decrement number of bytes left this time */
|
||||
nbytes_toxfer-=nbytes_xfer_advance;
|
||||
@@ -2245,7 +2245,7 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((mrc==MPI_SUCCESS), "MPIO_READ");
|
||||
|
||||
/* Advance global offset in dataset */
|
||||
nbytes_xfer+=buf_size*blk_size;
|
||||
nbytes_xfer+=(off_t)buf_size*(off_t)blk_size;
|
||||
} /* end else */
|
||||
|
||||
} /* end else */
|
||||
@@ -2273,21 +2273,21 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((hrc >= 0), "H5Dread");
|
||||
|
||||
/* Increment number of bytes transferred */
|
||||
nbytes_xfer += buf_size;
|
||||
nbytes_xfer += (off_t)buf_size;
|
||||
} /* end if */
|
||||
/* 2D dataspace */
|
||||
else {
|
||||
/* Set up the file dset space id to move the selection to process */
|
||||
if (!parms->interleaved){
|
||||
/* Contiguous pattern */
|
||||
h5offset[0] = (nbytes_xfer/(snbytes*blk_size))*blk_size;
|
||||
h5offset[1] = (nbytes_xfer%(snbytes*blk_size))/blk_size;
|
||||
h5offset[0] = (hssize_t)(((size_t)nbytes_xfer/((size_t)snbytes*blk_size))*blk_size);
|
||||
h5offset[1] = (hssize_t)(((size_t)nbytes_xfer%((size_t)snbytes*blk_size))/blk_size);
|
||||
} /* end if */
|
||||
else {
|
||||
/* Interleaved access pattern */
|
||||
/* Skip offset over blocks of other processes */
|
||||
h5offset[0] = ((nbytes_xfer*pio_mpi_nprocs_g)/(snbytes*buf_size))*buf_size;
|
||||
h5offset[1] = ((nbytes_xfer*pio_mpi_nprocs_g)%(snbytes*buf_size))/buf_size;
|
||||
h5offset[0] = (hssize_t)((((size_t)nbytes_xfer*(size_t)pio_mpi_nprocs_g)/((size_t)snbytes*buf_size))*buf_size);
|
||||
h5offset[1] = (hssize_t)((((size_t)nbytes_xfer*(size_t)pio_mpi_nprocs_g)%((size_t)snbytes*buf_size))/buf_size);
|
||||
|
||||
} /* end else */
|
||||
hrc = H5Soffset_simple(h5dset_space_id, h5offset);
|
||||
@@ -2299,7 +2299,7 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
|
||||
VRFY((hrc >= 0), "H5Dread");
|
||||
|
||||
/* Increment number of bytes transferred */
|
||||
nbytes_xfer += buf_size*blk_size;
|
||||
nbytes_xfer += (off_t)buf_size*(off_t)blk_size;
|
||||
|
||||
} /* end else */
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user