summaryrefslogtreecommitdiffstats
path: root/src/H5S.c
diff options
context:
space:
mode:
authorAlbert Cheng <acheng@hdfgroup.org>2000-10-10 02:32:45 (GMT)
committerAlbert Cheng <acheng@hdfgroup.org>2000-10-10 02:32:45 (GMT)
commit884b83d6069d3a90482203dd665dc49965fdc5a4 (patch)
treee2d7d01a44be537cd72fdc156ae7aba6182615e1 /src/H5S.c
parentd68bdee92f4b26f9818cc84fc620971bd92cacab (diff)
downloadhdf5-884b83d6069d3a90482203dd665dc49965fdc5a4.zip
hdf5-884b83d6069d3a90482203dd665dc49965fdc5a4.tar.gz
hdf5-884b83d6069d3a90482203dd665dc49965fdc5a4.tar.bz2
[svn-r2646] Purpose:
Bug fix (done by Kim Yates) Description: The optimized mpio code was broken and when read was done, it hanged. Solution: H5FDmpio.c: In H5FD_mpio_write, moved the 16-line block of code in which all procs other than p0 skip the actual write to be just before the call to MPI_File_write_at. Previously, the values of the local vars that controlled "allsame" were not always set correctly when the moved block was reached. H5S.c: Changed default value of H5_mpi_opt_types_g to TRUE, so that the MPI-IO hyperslab code is executed by default in parallel HDF5, rather than executing the serial hyperslab code. H5Smpio.c: In function H5S_mpio_hyper_type, added a call to free an intermediate type. Cures a small memory leak. Added code for cases of empty hyperslab Changed displacements to be MPI_Aint Platforms tested: modi4 -64: worked fine with mpich 1.2.0 but failed with the messages saying it ran out of entries for MPI_Types during the collective_read test. After tracing the code all the way to the collective read, all MPI Types have been freed properly. It aborted with the above message when it executed the line if (MPI_SUCCESS!= MPI_File_read_at_all(file->f, mpi_off, buf, size_i, buf_type, &mpi_stat )) Could not see any problem with this line. It could be a bug in the SGI version of MPI.
Diffstat (limited to 'src/H5S.c')
-rw-r--r--src/H5S.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/H5S.c b/src/H5S.c
index 94949e5..485d92f 100644
--- a/src/H5S.c
+++ b/src/H5S.c
@@ -42,7 +42,7 @@ static size_t H5S_nconv_g = 0; /*entries used*/
#ifdef H5_HAVE_PARALLEL
/* Global var whose value comes from environment variable */
-hbool_t H5_mpi_opt_types_g = FALSE;
+hbool_t H5_mpi_opt_types_g = TRUE;
#endif
/* Declare a free list to manage the H5S_simple_t struct */